A project to predict whether a telco customer will churn or not
Table of Contents
Your company executives at VodaFone have an interest reducing Customer Churn. You have to build a model that predicts customer churn to be used in preventative measures leading to reduced churn.
The project uses the CRISP-DM Framework.
Our first part covers the Business Understanding and setting up the criteria for success.
we head to the second phase where we look at the Datasets we have and analyse them to understand the relationship between features and answer business questions.
We build a model to predict the target variable and evaluate the model performance.
We finalise by a conclsuion of the Business Impact Assessment of the model and its performance.
These are the key libraries used in the project.
- Jupyter Notebook
- Pandas
- Seaborn
- Matplotlib
- PowerBI
- SciKit Learn
- XGBoost
- imbLearn
To get a local copy up and running follow these simple example steps.
This is a list things you need to run the notebook and how to install them.
-
Python V3.11.6
pip install Python
-
Pandas
pip install pandas
-
Matplotlib
pip install matplotlib
-
Seaborn
pip install seaborn
-
Jupyter Notebook
pip install Jupyter
-
imbLearn
pip install imblearn
-
xgboost
pip install xgboost
Below is an example of how you can install and run the notebook. This project relies on any external dependencies or services. Internet connectivity is necessary
-
Clone the repo
git clone https://github.com/Rama-Mwenda/Customer_Churn.git
-
Install packages
-
Download
train_data.csv
and place it in the root directory. -
Run the notebook
The Analysis was deployed on a powerbi dashboard like below. The dashboard is interactive and can be used to gather insights.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the GNU GENERAL PUBLIC LICENSE. See LICENSE.txt
for more information.
Ramadhan Mwenda - www.linkedin.com/in/ramadhanmwenda - [email protected]
Project Link: https://github.com/Rama-Mwenda/Customer_Churn
Resources I found helpful when building the project.