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.
- Credit
- With Bohdan Boiprav
- Stack
- Python · SMOTE · PCA · Random Forest · SVM
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
05 Credits
Authors: Bohdan Boiprav & Catalin Bondari. Data: Kaggle BankChurners. Licensed under the MIT License. Code on GitHub.
Next project
Phishing email classification