Customer Churn


This use case demonstrates a simple version of churn prediction, in the context of customer retention in telecom sector (e.g Airtel, Jio). We receive customer details such as demographics, customer category, usage history, and need to predict if customer is going to churn.

Video Walkthrough

Problem Description

  • Expanding customer base is key to a telecom company, both to survive, and to provide effective service to its customers
  • Retaining existing customers is important because it is easier and cheaper than acquiring new customers.

Customer can churn for many reasons such as bad customer service, incorrect plan, better plans from competitor, etc.

Data Schema

The following table describes the attributes used to train this model.

1stateCategoricalState name
2account_lengthContinuousLength of the account
3area_codeCategoricale.g. Bangalore 080
4phone_numberContinuousPhone number
5international_planCategoricalIndicates if customer has opted for international plan
6voice_mail_planCategoricalIndicates if customer has opted for voice mail plan
7number_vmail_messagesContinuousNumber of voice mail messages for this customer
8total_day_minutesContinuousTalk time (in minutes) during day time
9total_day_callsContinuousNumber of calls by this user during day time
10total_day_chargeContinuousCharge for calls during day time
11total_eve_minutesContinuousTalk time (in minutes) during evening
12total_eve_callsContinuousNumber of calls by this user during evening
13total_eve_chargeContinuousCharge for calls during evening
14total_night_minutesContinuousTalk time (in minutes) during day time
15total_night_callsContinuousNumber of calls by this user during day time
16total_night_chargeContinuousCharge for calls during day time
17total_intl_minutesContinuousTalk time (in minutes) for international calls
18total_intl_callsContinuousNumber of international calls
19total_intl_chargeContinuousCharge for calls during day time
20customer_service_callsContinuousNumber of times the customer has called customer care

How to setup in platform

This is available as a sample project in Razorthink AI. Follow the steps below to run inference on this model:

  1. Sample inference file customer-churn-inference.csv is available in Community Space section of the Workspace. Copy this file to My Space by clicking on the copy-to-my-space button on the right. This file has the same attributes as described above.
  2. Open the sample project named CUSTOMER CHURN and run the pipeline named: Inference Pipeline.
  3. The result of this inference will be saved in My Space in a file named: customer-churn-result.csv with a column named churn_propensity.
  4. You can run inference with your own data (ensure that all the attributes listed above are present) by uploading your CSV file to My Space and updating fileName attribute of DataSource and DataTarget in the run parameters of Inference Pipeline. You can change the run parameters in the screen prompted when you click on the run icon of the pipeline.