Customer Churn
Introduction
This use case demonstrates a simple version of churn prediction, in the context of customer retention in telecom sector. 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.
# | Column | Type | Description |
---|---|---|---|
1 | state | Categorical | State name |
2 | account_length | Continuous | Length of the account |
3 | area_code | Categorical | e.g. Bangalore 080 |
4 | phone_number | Continuous | Phone number |
5 | international_plan | Categorical | Indicates if customer has opted for international plan |
6 | voice_mail_plan | Categorical | Indicates if customer has opted for voice mail plan |
7 | number_vmail_messages | Continuous | Number of voice mail messages for this customer |
8 | total_day_minutes | Continuous | Talk time (in minutes) during day time |
9 | total_day_calls | Continuous | Number of calls by this user during day time |
10 | total_day_charge | Continuous | Charge for calls during day time |
11 | total_eve_minutes | Continuous | Talk time (in minutes) during evening |
12 | total_eve_calls | Continuous | Number of calls by this user during evening |
13 | total_eve_charge | Continuous | Charge for calls during evening |
14 | total_night_minutes | Continuous | Talk time (in minutes) during day time |
15 | total_night_calls | Continuous | Number of calls by this user during day time |
16 | total_night_charge | Continuous | Charge for calls during day time |
17 | total_intl_minutes | Continuous | Talk time (in minutes) for international calls |
18 | total_intl_calls | Continuous | Number of international calls |
19 | total_intl_charge | Continuous | Charge for calls during day time |
20 | customer_service_calls | Continuous | Number 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:
- 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. - Open the sample project named
CUSTOMER CHURN
and run the pipeline named:Inference Pipeline
. - The result of this inference will be saved in My Space in a file named:
customer-churn-result.csv
with a column namedchurn_propensity
. - 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 updatingfileName
attribute ofDataSource
andDataTarget
in the run parameters ofInference Pipeline
. You can change the run parameters in the screen prompted when you click on the run icon of the pipeline.
Concepts to know