Selected work

Project 03 / MLOps learning project

Customer retention

A model is only part of the system.

Explore source on GitHub

Overview

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
System study / 03Conceptual flow
  1. 01
    Prepare customer dataValidation · preprocessing
  2. 02
    Engineer featuresSaved feature columns
  3. 03
    Train & tuneOptuna · MLflow
  4. 04
    Deploy modelFastAPI · Gradio · Docker
MLOps learning project

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.