The cost of keeping an existing customer is much cheaper than the cost of acquiring a new customer. In addition, positive word-of-mouth from existing customers leads to cheap, almost free customer acquisition. To improve the customer retention, we need to focus on reducing churn rates through customer churn prediction. The best way to do that is by using machine learning and artificial intelligence-based algorithms. We can use predictive analytics to analyze data by looking at the association among different metrics.
In this project an app was created to demonstrate the ability to apply seven machine learning models to predict the likelihood of customer churn. The churn modelling dataset is from Kaggle. It contents 10,000 records of demographic and banking information.
The app is deployed to Render, and can be found at this URL
The presentation deck can be found here.
This notebook contains the code and description for exploratory data analysis (EDA). Comparison among different machine learning models and impact of using SMOTE are displayed in the summary notebook.
- Tools/techniques used: Python, Jupyter Notebook, Seaborn, Matplotlib, Scikit-learn, SMOTE, flask, Pandas, Imbalanced-learn, Pipelines, hyperparameter tuning
- Algorithms used: Logistic Regression, SVM, Random Forest, XGBoost, K-NN, Keras-TensorFlow, Decision Tree
GitHub Repository for this project.