Project 03 / MLOps learning project
Customer retention
A model is only part of the system.
Explore source on GitHubOverview
A closer look
at the system.
An end-to-end MLOps learning project built around customer churn prediction. Connects data validation and feature engineering to model tuning, experiment tracking, containerization, and a FastAPI/Gradio prediction interface.
- Engineering focus
- Machine learning + MLOps
- What this demonstrates
- Data preparation, model tuning, experiment tracking, and containerized inference.
- Project context
- Independent MLOps learning project
- Technology
- XGBoost / Optuna / MLflow / FastAPI / Gradio / Docker / GitHub Actions
- 01Prepare customer dataValidation · preprocessing
- 02Engineer featuresSaved feature columns
- 03Train & tuneOptuna · MLflow
- 04Deploy modelFastAPI · Gradio · Docker
Product gallery
The interface, in context.
01 / The problem
The learning goal was to take a churn model beyond a notebook: validate inputs, prepare features, track experiments, package artifacts, and expose predictions through an API and interface.
02 / Implementation & design
XGBoost tuning prioritizes recall with a 0.25 decision threshold in the training pipeline. MLflow records parameters, metrics, and model artifacts. The reported 94.1% recall comes with 42.2% precision, illustrating the trade-off between detecting churners and false alarms; these are project experiment results, not an independent benchmark.
03 / Engineering challenge
Serving reuses saved feature-column metadata to align inference inputs with the trained model. FastAPI exposes a prediction endpoint and mounts the Gradio interface. GitHub Actions builds and pushes the Docker image; the repository documents AWS ECS Fargate deployment. No public demo is currently provided.
Results & capabilities
94.1%
Reported recall in project experiments
7,043 records · 30 model-ready features · 42.2% reported precision
Metrics from the existing project evaluation; not an independent benchmark.