Most telecom companies suffer from voluntary churn. Churn rate has strong impact on the life time value of the customer because it affects the length of service and the future revenue of the company. When a customer leaves, the company loses money spent on acquiring the customer and also future revenue that could have been generated from that customer. It also could destroy the brand image of the company
My client, Syriatel would like to find ways to decrease churn. Using the data provided, I would like to determine the features that affect churn,make appropriate recommendations and also create a model to identify customer churn behaviour from observations.
Data was downloaded from here. The original data contains 3333 rows and 21 columns The target column is churn which is subdivided into:
As can be seen, there is an imbalance in the dataset.
My main aim was to find a good accuracy and good precision since the goal was to reduce the misclassification of those who churn as not churning. The table below shows the different models used and the results of the two on the test data.
Model | Accuracy | Precision | Recall |
---|---|---|---|
Baseline | 0.85 | 0.54 | 0.17 |
--- | --- | --- | --- |
Logistic Regression | 0.78 | 0.395 | 0.78 |
--- | --- | --- | --- |
Decision Trees | 0.91 | 0.7 | 0.75 |
--- | --- | --- | --- |
Random Forest | 0.93 | 0.77 | 0.76 |
--- | --- | --- | --- |
XGBClassifier | 0.93 | 0.9 | 0.81 |
The choice was the final model: XGBClassifier with hyperparameters = {'learning_rate': 0.4, 'max_depth': 5, 'n_estimators': 180}
Using the model, the features of the customer can predict whether a customer will churn or not. Then the customers can be put into different groups and different marketing strategies can be used on them, one for retaining the customers who wont churn and another for holding onto the one who thinks of churning. Instead of wasting money on one marketing strategy for all
More analysis and insights can be found in the notebook and powerpoint presentation in this repository