All projects

Project P-06 · Dublin City University coursework

Bank customer churn prediction

A customer churn prediction project on the Kaggle BankChurners dataset. It builds models that identify customers at risk of leaving.

Code
Repository on GitHub
Credit
With Bohdan Boiprav
Stack
Python · SMOTE · PCA · Random Forest · SVM
Schematic only, no data.

01 What it is

The analysis starts by exploring the customer churn dataset: demographics, account details and, most importantly, a churn status for each customer. Visualisations show the distribution of:

  • Customer age
  • Gender
  • Number of dependents
  • Education level
  • Marital status
  • Income category
  • Card category
  • Months as a customer
  • Total number of accounts held
  • Months of inactivity in the past year
  • Credit limit
  • Total transaction amount
  • The proportion of churning vs. non-churning customers

02 Method

  • One-hot encoding. Categorical features such as education level are one-hot encoded.
  • SMOTE. Synthetic Minority Oversampling Technique addresses the imbalanced classes, since churners are a smaller group.
  • PCA. Principal Component Analysis reduces the dimensionality created by one-hot encoding.
  • Models. Random Forest and Support Vector Machine (SVM) classifiers, assessed with 5-fold cross-validation.

03 Evaluation

The F1 score is the primary metric for comparing the two models.

04 Tools

  • Python
  • One-hot encoding
  • SMOTE
  • PCA
  • Random Forest
  • SVM
  • 5-fold cross-validation

05 Credits

Authors: Bohdan Boiprav & Catalin Bondari. Data: Kaggle BankChurners. Licensed under the MIT License. Code on GitHub.

Next project

Phishing email classification