Bank Customer Churn Prediction

This repository introduces the Python programming language with an emphasis on Python’s data analytics libraries. Students will learn the fundamentals of Python and key modules including: scipy, numpy, scikit-learn, pandas, statsmodels, and matplotlib. The repository will make efficient use Python to clean and prepare data, conduct exploratory data analysis, and build predictive models.

Introduction

Banking is one of those traditional industries that has gone through a steady transformation over the decades. Yet, many banks today with a large customer base hoping to gain a competitive edge have not tapped into the vast amounts of data they have, especially in solving one of the most acknowledged problems - customer churn.

In general, customer churn is expressed as a degree of customer inactivity or disengagement, observed over a given time.

Moreover, it is much more expensive to sign in a new customer than keeping an existing one.

It is advantageous for banks to know what leads a customer towards the decision to leave the bank in term of closing the accounts, in terms of withdrawing the amounts from accounts.

Churn prevention allows banks to develop loyalty programs and retention campaigns to keep as many customers as possible.

In this example, we use sample customer data from a bank to construct a predictive model for the likely churn customers.

Business Problem Statement

There are a lot of customers who have decided to end their relationship with the bank. It could happen due to variety of reasons as below:

Due to a high-volume of customer churn, bank will have a direct loss of Marketing Acquisition Cost and future revenues.

To prevent such a big loss, predicting possible customers who can churn beforehand would always help.

Business Problem Type

This is a Binary Classification problem, since the target variable to be predicted is binary (churn – 1 or loyal – 0).

Goal

To build a best predictive or machine learning model to predict the probability of churn customers, conditioned on the customer features.

Machine Learning Algorithms

  1. Logistic Regression
  2. Decision Tree
  3. KNN (K-Nearest Neighbour) Classifier
  4. SVM (Support Vector Machine)
  5. Random Forest Classifier

Accuracy Results Comparison

Accuracy Results

Platform Used

Jupyter Notebooks

Language Used

Python

Reference

https://www.kaggle.com/shrutimechlearn/churn-modelling