Customer churn occurs when customers stop using a company’s services. So, by monitoring churn, companies become prepared and can develop personalized customer retention campaigns.
Here, I use a machine learning to build a churn prediction model based on customer attributes from Telco Customer dataset. This dataset contains 7043 rows (customers) and 21 columns (features).
Also, the final model (an ensemble of SVC, Gradient Boosting and Logistic Regression) is deployed in production and can be tested HERE. Just provide some data about a customer, and the system will classify it as CHURN or NO CHURN. The application platform used was Heroku.
The project is organized as follows:
.
|-- README.md
|-- data
| `-- Telco-Customer-Churn.txt
|-- deploy_heroku
| |-- Procfile
| |-- app.py
| |-- churn_model.joblib
| |-- churn_scaler.pkl
| |-- requirements.txt
| `-- templates
| `-- index.html
|-- eda_and_model.ipynb
|-- requirements.txt
`-- test_request.py