Predict Customer Churn

A general-purpose framework for solving problems with machine learning applied to predicting customer churn

Data ScienceJupyter NotebookBSD-3-Clause

Abstract

Predict Customer Churn is an open-source Data Science project. A general-purpose framework for solving problems with machine learning applied to predicting customer churn. This project demonstrates applying a 3 step general-purpose framework to solve problems with machine learning. The purpose of this framework is to provide a scaffolding for rapidly developing machine learning solutions across industries and datasets. It is built using Jupyter Notebook. The complete source code is publicly available on GitHub under the BSD 3-Clause "New" or "Revised" License, making it a useful reference for students building a Data Science mini project or final-year project.

1. Introduction

This project demonstrates applying a 3 step general-purpose framework to solve problems with machine learning. The purpose of this framework is to provide a scaffolding for rapidly developing machine learning solutions across industries and datasets.

The end outcome is a both a specific solution to a customer churn use case, with a reduction in revenue lost to churn of more than 10%, as well as a general approach you can use to solve your own problems with machine learning.

Machine learning currently is an ad-hoc process requiring a custom solution for each problem. Even for the same dataset, a slightly different prediction problem requires an entirely new pipeline built from scratch. This has made it too difficult for many companies to take advantage of the benefits of machine learning. The standardized procedure presented here will make it easier to solve meaningful problems with machine learning, allowing more companies to harness this transformative technology.

2. Objective

A general-purpose framework for solving problems with machine learning applied to predicting customer churn

This project demonstrates how Jupyter Notebook can be applied to a real-world Data Science problem.

4. Technology Stack

Jupyter Notebook
  • Prediction engineering
  • State business need
  • Translate business requirement into machine learning task by specifying problem parameters
  • Develop set of labels along with cutoff times for supervised machine learning
  • Feature Engineering
  • Create features - predictor variables - out of raw data
  • Use cutoff times to make valid features for each label
  • Apply automated feature engineering to automatically make hundreds of relevant, valid features

5. System Requirements

General requirements for this technology stack — check the README for exact versions.

  • Python 3.8 or later with Jupyter Notebook / JupyterLab (or Google Colab)
  • pip for dependencies
  • Git (to clone the repository)

6. Installation & Setup

git clone https://github.com/alteryx/predict-customer-churn.git
cd predict-customer-churn

Full setup instructions are in the project README.

7. Future Enhancements

Suggested extensions you can add to make this your own project.

  • Turn the analysis into an interactive dashboard
  • Automate data refresh with a scheduled job
  • Add a predictive model on top of the analysis

8. Viva / Review Questions

Common questions examiners ask for projects in this domain.

  1. What is the source of the dataset and how was missing data handled?
  2. Which exploratory analysis steps revealed the most useful insight?
  3. Why were these particular charts chosen to present the data?
  4. Which statistical or ML technique supports the conclusions?
  5. How could the analysis be automated or refreshed with new data?

9. Source Code & License

This project is developed by alteryx and published on GitHub under the BSD 3-Clause "New" or "Revised" License. Please follow the license terms and credit the original author when you use or modify this code.

Want to build this as your internship project?

Work on a Data Science project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.

Apply for Data Science Internship