stratascratch
  • Interview Questions
    • Interview Loops
    • Analytical
    • Algorithm
    • ML Coding
    • Stats Coding
    • Visualization
    • Concept
  • Data Labs
    • Discover
    • Your Notebooks
  • Mock Interview
  • Learn
  • Blog
  • Pricing
  • About
Log in
  • Interview Questions

    • Interview Loops
    • Analytical
    • Algorithm
    • ML Coding
    • Stats Coding
    • Visualization
    • Concept
  • Data Labs

    • Discover
    • Your Notebooks
  • Mock Interview
  • Learn
  • Blog
  • Pricing
  • About
Log inSign up
Back to Projects
  1. Assignment
  2. Your Solution
  3. Solution
  4. Solutions from Users
  5. Discussion

Customer Churn Prediction

You must be logged in to download the datasets

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 NameColumn TypeColumn Description
StateStringThe state where a customer comes from
Account lengthIntegerNumber of days a customer has been using services
Area codeIntegerThe area where a customer comes from
Phone numberAlphanumericThe phone number of a customer
International planStringThe status of customer international plan
Voicemail planStringThe status of customer voicemail plan
No. vmail msgsIntegerNumber of voicemail message sent by a customer
Total day minutesFloatTotal call minutes spent by a customer during day time
Total day callsIntegerTotal number of calls made by a customer during day time
Total day chargeFloatTotal amount charged to a customer during day time
Total eve minutesFloatTotal call minutes spent by a customer during evening time
Total eve callsIntegerTotal number of calls made by a customer during evening time
Total eve chargeFloatTotal amount charged to a customer during evening time
Total night minutesFloatTotal call minutes spent by a customer during night time
Total night callsIntegerTotal 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.

Total night chargeFloatTotal amount charged to a customer during night time
Total intl minutesFloatTotal international call minutes spent by a customer
Total intl callsIntegerTotal number of international calls made by a customer
Total int chargeFloatTotal international call amount charged to a customer
Customer service callsIntegerTotal number of customer service calls made by a customer
ChurnBooleanWhether a customer is churned or not