← Selected workCase study /02
Predictive analytics · Python
Turning churn predictions into business decisions.
Can a churn model produce a useful retention strategy instead of another probability score?
10,000Customers analysed
~20%Churn rate
6Models compared
0.63Best F1 score
01 / The problem
I analyzed 10,000 retail-banking customers with a churn rate of roughly 20%. The project connected model performance to specific retention actions instead of stopping at a ranked model table.
The business needed enough recall to find at-risk customers, but low precision would waste outreach. No single metric could decide that trade-off without the campaign context.
02 / The approach
Build the evaluation around the decision.
- 01
Explored churn patterns across age, geography, balance, activity, and product use.
- 02
Compared six classification models with five-fold cross-validation.
- 03
Created behavioural features such as product usage, engagement, and balance-to-salary ratio.
- 04
Used PyCaret as a second check on the manually built pipeline.
03 / The result
0.63Random Forest F1
0.68Recall on the test set
6Models compared