AWS Customer Churn Pipeline

An End to End Customer Churn Prediction solution using AWS services.

Data ScienceJupyter NotebookMIT-0

Abstract

AWS Customer Churn Pipeline is an open-source Data Science project. An End to End Customer Churn Prediction solution using AWS services. Update the .env file in the main directory. To run with Cox proportional hazard modeling instead of binary logloss set COXPH to "positive". It is built using Jupyter Notebook, Machine Learning. The complete source code is publicly available on GitHub under the MIT No Attribution, making it a useful reference for students building a Data Science mini project or final-year project.

1. Introduction

Update the .env file in the main directory. To run with Cox proportional hazard modeling instead of binary logloss set COXPH to "positive".

2. Objective

An End to End Customer Churn Prediction solution using AWS services.

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

4. Technology Stack

Jupyter NotebookMachine Learning

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/awslabs/aws-customer-churn-pipeline.git
cd aws-customer-churn-pipeline
  1. Step 1 - Modify default Parameters
  2. Step 2 - Deploy the infrastructure
  3. Step 3 - Update the pending GitHub Connections
  4. Step 4 - Release change in churn pipeline for the first time
  5. Step 5 - Once the build succeeds, navigate to Step Functions to verify completion
  6. Step 6- Trigger Inference pipeline. Batch Inference can be automated using cron jobs or S3 triggers as per business needs.
S3_BUCKET_NAME="{YOU_BUCKET_NAME}"
REGION="{YOUR_REGION}"
STACK_NAME="{YOUR_STACK_NAME}"
COXPH="{negative|positive}"
AWS_REGION=$(aws configure get region)
aws lambda --region ${AWS_REGION} invoke --function-name invokeInferStepFunction --payload '{ "": ""}' out

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 awslabs and published on GitHub under the MIT No Attribution. 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