Customer Churn Prediction
AI dashboard that turns telco data into retention decisions.

Overview
This project is a full-stack AI product for predicting customer churn. A Flask API serves a calibrated XGBoost pipeline; a React + Tailwind dashboard walks operators through a multi-step customer profile wizard and returns probability, confidence, and risk verdicts.
Training is production-oriented: OneHot preprocessing, stratified CV hyperparameter search, isotonic probability calibration, and threshold optimization aimed at maximizing recall under a precision floor (business-aligned objective, not vanity accuracy).
Benchmarking across model families selected XGBoost as the winner, with optimized metrics around ~0.66 recall, ~0.60 precision, and ROC-AUC ~0.84 — packaged as deployable model artifacts with a documented report.
Key features
- ✓Multi-step prediction wizard (demographics → services → contract → financials)
- ✓Animated churn probability gauge and risk verdict
- ✓Calibrated probabilities with tunable decision threshold
- ✓Business objective: maximize recall with precision ≥ 0.60
- ✓Feature engineering (avg monthly spend, active services count)
- ✓Model benchmarking leaderboard across families
- ✓Dark professional UI, fully responsive
- ✓REST API: POST /predict and GET /health
Real-world usage
Where this kind of system shows up outside a portfolio context.
- Telecom and subscription businesses ranking who is likely to leave
- Retention teams prioritizing outreach when churn risk crosses a threshold
- Data science teams demoing calibrated ML in a product UI, not only notebooks
- Product managers stress-testing threshold trade-offs (precision vs recall)
Challenges
- Imbalanced churn labels and choosing metrics that match business cost
- Calibrating probabilities so operators can trust risk scores
- Packaging training artifacts for repeatable inference in Flask
What I learned
- Thresholds should optimize business objectives, not default 0.5
- Calibration and feature engineering move the needle as much as model choice
- A clear API + wizard UX makes ML usable for non-ML stakeholders
Related projects
More work in a similar space or stack.
Want something like this built?
I'm open to internships, collaborations, and product work across backend, AI/ML, and full-stack apps.


