Spotify: Predict telecom churn via multi-model benchmarking and drift-aware deployment. Python, Scikit-learn, XGBoost, Keras.
Assignment
You are provided with a sample dataset of a telecom company’s customers and it's expected to done the following tasks:
- Perform exploratory analysis and extract insights from the dataset.
- Split the dataset into train/test sets and explain your reasoning.
- Build a predictive model to predict which customers are going to churn and discuss the reason why you choose a particular algorithm.
- Establish metrics to evaluate model performance.
- Discuss the potential issues with deploying the model into production.
Data Description
The customer churn data is given in the file Data_Science_Challenge.csv. The detailed explanation is as follows:
| Column Name | Column Type | Column Description |
|---|
| State | String | The state where a customer comes from |
| Account length | Integer | Number of days a customer has been using services |
| Area code | Integer | The area where a customer comes from |
| Phone number | Alphanumeric | The phone number of a customer |
| International plan | String | The status of customer international plan |
| Voicemail plan | String | The status of customer voicemail plan |
| No. vmail msgs | Integer | Number of voicemail message sent by a customer |
| Total day minutes | Float | Total call minutes spent by a customer during day time |
| Total day calls | Integer | Total number of calls made by a customer during day time |
| Total day charge | Float | Total amount charged to a customer during day time |
| Total eve minutes | Float | Total call minutes spent by a customer during evening time |
| Total eve calls | Integer | Total number of calls made by a customer during evening time |
| Total eve charge | Float | Total amount charged to a customer during evening time |
| Total night minutes | Float | Total call minutes spent by a customer during night time |
| Total night calls | Integer | Total number of calls made by a customer during night time |
Practicalities
You’re free to use any programming language (Python, R, Julia) that you’re familiar with and include the code together with your analysis.