All work
AI / ML·2025·Solo, end to end

ChurnRadar

An end to end machine learning system that flags customers likely to cancel before they do, with a per customer explanation for every prediction. Built as a live product, not a notebook.

XGBoostSHAPscikit-learnFastAPIReactTypeScriptVercel

Outcome

84.5%

Model accuracy

ChurnRadar interface
00

In the product

ChurnRadar live dashboard showing at-risk customers with churn risk scores
01 / 04
01

Context

Most businesses only learn a customer has churned after it happens, when it is already too late to act. ChurnRadar answers a sharper question: which customers are showing early warning signs right now, and why. It is built on a real telecom dataset of 7,043 records.

02

Approach

  • 01Cleaned and preprocessed the telecom dataset: handled missing values, encoded categorical features, and engineered the features that mattered for the model.
  • 02Trained an XGBoost classifier to 84.5% accuracy on the held out test set, tuning hyperparameters to balance precision and recall on the minority churn class.
  • 03Integrated SHAP so every prediction is explainable, surfacing exactly which features drove each individual customer's churn risk score.
  • 04Served the model through a FastAPI REST API that returns a churn probability plus a SHAP breakdown in real time, behind a React and TypeScript dashboard.
03

How it works

  1. Data

    Telecom dataset

    7,043 records cleaned, encoded, and feature engineered

  2. Model

    XGBoost classifier

    Tuned on the minority churn class to 84.5% accuracy

  3. Explainability

    SHAP layer

    Per customer feature attributions for every score

  4. Serving

    FastAPI REST API

    Live churn probability plus SHAP breakdown

  5. Interface

    React dashboard

    At risk list, drill into any individual prediction

  6. Deploy

    Vercel + cloud API

    Live at churnradar-nu.vercel.app

04

Results

84.5%

Accuracy on held out test data

Real time

Predictions served over REST

Per customer

SHAP explanation for every score

05

Reflection

The work that mattered most was not the model, it was the explainability and the deployment. SHAP turns a score into a reason a non technical user can act on, and shipping it live proved the system works outside a notebook. This is the project I lean on most.