Improving Customer Retention with Churn prediction
Predictive churn achieves three goals: understanding the key factors of customers attrition, identifying customers most at risk of leaving, and providing targeted insights on which retention actions should be implemented. Churn rate is an important business metric as it reflects customer response to service, pricing, competition... As such, measuring churn, understanding the underlying reasons and being able to anticipate and manage risks associated to customer churn are key areas for continuous increase in business value.
Problems to solve
- How to predict customer churn?
- How to detect early customers intention to create targeted retention programs?
- Overall, how to improve customer loyalty by reducing the attrition rate?
- Can machine learning help in these matters and how accurate predictive models can be to
Benefits of TADA
All Sales & Marketing professionals working on customer loyalty could use predictive models. However, they are not data scientists and they may not have the required skills in machine learning nor coding expertise to build models. Most data handled by these professionals are Small Data, meaning that often their historical data contains only few hundreds of campaigns or thousands of customers but rarely millions (like in Big Data). Traditional machine learning tools work well with Big Data but do not perform well with predictions from Small Data.
MyDataModels allows domain experts to build predictive models from Small Data automatically and without training. They can use their collected data directly, without normalization and outlier’s management nor feature engineering. Thanks to this limited data preparation, the results from this specific dataset were obtained with a few clicks in less than a minute on a regular laptop. MyDataModels brings a self-service solution for those who have Small Data and no data scientists.
Most Marketing professionals know that it’s easier (and cheaper) to retain existing customers than to acquire new ones. It is generally too late to take retention actions after a customer has left, success rates to retain users are around 2–3%.
Customer service teams in charge of retention tend to have limited resources and are unable to devote the same level of attention to every customer. Sales & Marketing experts need to determine which customers are more likely to churn so they can prioritize their retention efforts.
In this churn detection use case, the results obtained from MyDataModels’ predictive models are satisfying with 76% accuracy rate on average.
By using an automated machine learning solution like TADA, companies can now proactively identify the factors driving the churn and predict which of the current customers are most likely to leave to competition. This enables retention team to focus their resources on the customers most at risk and offer them personalized incentives to remain loyal. By targeting the right audience, this technology offers a great opportunity for companies to lower their retention cost while increasing their overall customer loyalty.
Automated Machine Learning solutions consist of predicting the future with historical data.
To predict a future result, you must bring your descriptive data and the past result obtained.
TADA allows you to simply create a relevant predictive model from your data and apply it to future data.
In this case, the descriptive data are client’s informations on their actual situation with the telecom company.
The goal of the dataset is to predict if a client will churn or no, it’s a binary task (yes/no).
To generate a model, the steps are the following:
- Create your project and load your data as a CSV table (with data in rows and variables in columns).
- Select the variable you want to predict, called Goal.
In this case, the Goal is the variable "Y_house_of_price_unit_area" (a visualization of the variable is provided).
- Select your data for the model generation. This step is called "Creating the Variable set" and allows you to manually select the descriptive variables you want to use. By default, they are all selected.
TADA identifies the relevant descriptive variables by itself, which affects the calculation time required to create the model.
The fewer variables selected, the faster the model creation.
- Create your model.
At creation, default values are proposed to you: Name of models, Population, Iteration. You only need to validate the default values to start model generation. ‘Best practices’ are at your disposal to guide you in the choice of these parameters.
Depending on the size of the descriptive data file, this step can take between a few seconds and ten minutes.
Once the model is created, you can see the results of the model using metrics and charts so you can judge its relevance.
To apply a model that you think is relevant, you can:
- Retrieve the associated mathematical formula and apply it (for instance on Excel)
- Retrieve the source code of the formula and use it by yourself (Valid only on TADA
paying offers). The source code is available in R, Java, C ++ and soon Python.
- In order to use our "Predict" feature on the product, you will have to upload your file containing the data to be predicted. You will be returned a downloadable file containing the given data, with
the calculated predictions.
The screenshot below shows an extract of the public dataset.
Each row is a customer and each column is a variable which can be used in
The dataset includes information about:
- Customers who left within the last month – the column is called Churn
- Services that each customer has signed up for – phone, multiple lines, internet, online security, online backup, device protection, tech support, and streaming TV and movies
- Customer account information – how long they’ve been a customer, contract, payment method, paperless billing, monthly charges, and total charges
- Demographic info about customers – gender, age range, and if they have partners and dependents
Task type : Binary Classification
Number of variables: 29
Number of rows: 4923
Goal : (churn) Customer actually churned ? yes=1/no=0.
Weight: Positive class (churn=1) 27%, Negative class (no churn=0): 73%
- gender : whether the customer is a male or a female
- SeniorCitizen : whether the customer is a senior citizen or not (1, 0)
- Partner : whether the customer has a partner or not (1, 0)
- Dependents : whether the customer has dependents or not (1, 0)
- Tenure : Number of months the customer has stayed with the company
- PhoneService : whether the customer has a phone service or not (1, 0)
- MultipleLines_Yes : whether the customer has multiple lines or not (1, 0)
- MultipleLines_No : whether the customer has multiple lines or not (1, 0)
- MultipleLines_No phone service : whether the customer has phone service or not (1, 0)
- InternetService_DSL : customer’s internet service DSL (1,0)
- InternetService _Fiber optic: customer’s internet service Fiber optic (1,0)
- InternetService_No : whether the Customer has an internet service provider (1,0)
- OnlineSecurity: whether the customer has online security or not (1,0)
- OnlineBackup : whether the customer has online backup or not (1,0)
- DeviceProtection : whether the customer has device protection or not (1,0)
- TechSupport : whether the customer has tech support or not (1,0)
- StreamingTV : whether the customer has streaming TV or not (1,0)
- StreamingMovies : whether the customer has streaming movies or not (1,0)
- Contract_Month_to_month : whether the customer has a month to month contract (1,0)
- Contract_One year : whether the customer has a one year contract(1,0)
- Contract_Two years : whether the customer has a two years contract(1,0)
- PaperlessBilling : whether the customer has paperless billing or not (1,0)
- PaymentMethod_ Credit card (automatic) :whether the customer paid by credit card or not (1,0)
- PaymentMethod_Electronic check : whether the customer paid by electronic check or not (1,0)
- PaymentMethod_Mailed check : whether the customer paid by mail check or not (1,0)
- PaymentMethod_Transfer : whether the customer paid by transfer or not (1,0)
- MonthlyCharges : the amount charged to the customer monthly
- TotalCharges : the total amount charged to the customer
- Churn is our Goal : whether the customer churned or not (1,0)
The results of the model are available following the generation of the model.
They present the performance of the predictive model.
The type of predictive model and the measurement indicators of the associated model are related to the Goal (Variable to be predicted) and the values of this variable.
The type of model you make is shown on the model results display.
According to the type of the Goal (in our case, the Goal is "Churn"), we can make three types of predictions:
- Binary classification: Discrete value taking only two values (yes/no for instance)
- Multiclass classification: Discrete value taking more than two values (for instance a status of state with values like: On, Risk of breakdown, Down, etc.)
- Regression: Continuous value that can take an infinite number of values (a temperature, a pressure, a turnover, the price of a house for instance)
At the generation of the model and according to the practices and state of the art of
Machine Learning, your dataset will be divided into three parts by TADA:
- A training part which represents 40% of your dataset, it allows to train a certain
number of formulas,
- A validation part, which represents 30% of your dataset, which validates and
selects the best formulas found in the previous step,
- A test part which represents the last 30% of the model and which corresponds to the test of the formulas approved by the preceding stage. The performance measurement and the evaluation of your model should mainly be done on this partition (Standard and state of the art of Machine Learning) because the present data were not used in the learning and validation phase of the machine learning model and serve just to measure its performance.
ACC (Accuracy) represents the overall accuracy rate of the model, it is the percentage of classes that are well distributed (here we have 76.39% predictions that are correct)
TPR (True Positive Rate) represents the accuracy rate of the prediction of the positive class, i.e. of the "yes/1" class
TNR (True Negative Rate) represents the accuracy rate of the prediction of the positive class, i.e. of the "No/0" class
MCC (Matthew's Correlation Coefficient) represents the good prediction as a whole, that is, if we were able to divide the predictions between the two classes.
Here, the confusion matrix represents a visual way of interpreting the metrics.
In this case, TADA predicted 917 times that a client will not churn and was only mistaken 102 (We miss 102 churn).
In parallel, TADA predicted 561 times that the client will churn, and was wrong 247 times (We told that 247 clients would churn but didn’t).
Ready to use TADA?
You don't have immediate data?
No problem, data are available to make your trial as relevant as possible!Try it now!