An open API service indexing awesome lists of open source software.

https://github.com/oyebamiji-micheal/deploying-customer-churn-model-to-heroku-using-docker-and-github-actions

Deploying a customer churn prediction model using Docker and GitHub Actions for CI/CD to Heroku
https://github.com/oyebamiji-micheal/deploying-customer-churn-model-to-heroku-using-docker-and-github-actions

customer-churn-prediction docker heroku-deployment model-deployment

Last synced: about 1 month ago
JSON representation

Deploying a customer churn prediction model using Docker and GitHub Actions for CI/CD to Heroku

Awesome Lists containing this project

README

          

Deploying Customer Churn Model to Heroku using Docker and Github Actions

[![Language](https://img.shields.io/badge/Python-darkblue.svg?style=flat&logo=python&logoColor=white)](https://www.python.org)
[![Framework](https://img.shields.io/badge/sklearn-darkorange.svg?style=flat&logo=scikit-learn&logoColor=white)](https://scikit-learn.org/stable/index.html)
![build](https://img.shields.io/badge/build-passing-brightgreen.svg?style=flat)
[![ML Tool](https://img.shields.io/badge/Heroku-945DD6.svg?style=flat&logo=iterative&logoColor=white)](https://www.heroku.com/)
[![ML Tool](https://img.shields.io/badge/Docker-2496ED.svg?style=flat&logo=docker&logoColor=white)](https://www.docker.com/)
[![ML Tool](https://img.shields.io/badge/GitHub_Actions-2088FF.svg?style=flat&logo=github&logoColor=white)](https://docs.github.com/en/actions)

This repository contains the code and workflows for deploying a machine learning model that predicts customer churn, using Docker for containerization and GitHub Actions for continuous integration and deployment to Heroku




You can view the deployed application here: https://customer-churn-551d7373243e.herokuapp.com

Note: This application is hosted on a student account. It will stop working when I exhaust my credits 😑

Overview



A few weeks ago, I built an end to end machine learning project that predicts customer churn using a dataset from Kaggle. The project was built using MLflow for model tracking and experiment management, DVC for data versioning, and Flask for serving the model. In this repository, I will be deploying the model to Heroku using Docker for containerization and GitHub Actions for continuous integration and deployment.


Customer Churn and What it's all about



Customer churn refers to the phenomenon where customers stop doing business with a company or stop using its products or services. It is a critical metric for businesses, especially in industries with subscription-based models or recurring revenue streams.

Identifying customers who are likely to churn can help businesses take proactive measures to retain them, thereby reducing revenue loss and improving customer satisfaction.


Dataset



The dataset used for this project is obtained from Kaggle. It contains the following attributes:

- Customer ID: A unique identifier for each customer
- Surname: The customer's surname or last name
- Credit Score: A numerical value representing the customer's credit score
- Geography: The country where the customer resides (France, Spain, or Germany)
- Gender: The customer's gender (Male or Female)
- Age: The customer's age
- Tenure: The number of years the customer has been with the bank
- Balance: The customer's account balance
- NumOfProducts: The number of bank products the customer uses (e.g., savings account, credit card)
- HasCrCard: Whether the customer has a credit card (1 = yes, 0 = no)
- IsActiveMember: Whether the customer is an active member (1 = yes, 0 = no)
- EstimatedSalary: The estimated salary of the customer
- Exited: Whether the customer has churned (1 = yes, 0 = no)