Telecom Churn Prediction
Production-grade telecom churn prediction system: a config-driven scikit-learn pipeline with SHAP explainability, MLflow experiment tracking and FastAPI serving, trained on real IBM customer data (ROC-AUC 0.883).

Problem
Telecom operators lose significant revenue when they can't identify at-risk customers early enough to act with a retention offer.
Solution
A config-driven scikit-learn pipeline trained on real IBM customer data (0.883 ROC-AUC), with SHAP explainability so retention teams see exactly why a customer is flagged, tracked in MLflow and served via a containerized FastAPI endpoint for real-time scoring.
Overview
Telecom operators can usually see churn only after a customer has already left. This project builds a system that flags the customers most likely to leave before they do, so a retention team can actually act on it.
How it works
A config-driven scikit-learn pipeline is trained on real IBM telecom customer data — contract type, tenure, monthly charges, service usage — and outputs a churn probability per customer. Rather than a black-box score, every prediction is paired with a SHAP explanation showing exactly which factors pushed that customer toward the “at risk” bucket, so a retention agent knows what to actually offer them. Experiments (features, hyperparameters, splits) are tracked in MLflow so results are reproducible, and the trained model is served through a containerized FastAPI endpoint for real-time scoring.
Result
The model reaches 0.883 ROC-AUC on held-out data, with explainability built in from day one rather than bolted on afterward.
More projects
Organizational Network Analysis
Graph-based analysis of organizational networks to surface influence, collaboration and communication patterns.
Support Ticket Triage Platform
A support-ticket triage platform with a Gradio UI and MLflow experiment tracking for model iteration.
Visual Quality Inspection
Automated visual quality control for manufacturing, using OpenCV/scikit-image feature extraction with scikit-learn classification.
