SIA Retention Engine β Churn Risk Model (v1.0.0)
XGBoost classifier trained on the SIA Retention Engine's Phase 1 dataset
(real IBM/Kaggle Telco Customer Churn data, mapped to SIA's Subscriber
schema β see the dataset repo for exactly what's real vs. synthetic).
Metrics
See metrics.json in this repo for the full train/val/test breakdown,
including a direct ROC-AUC comparison against the original hand-written
heuristic formula it replaces (backend/data_generator.py), measured on
the same test split.
Top features (mean |SHAP|, test split)
plan_Flexi: 0.8123plan_Premium: 0.5059avg_monthly_spend: 0.3718data_usage_gb: 0.3561signal_strength_score: 0.1611
Intended use
Churn risk scoring for SIA's Monitor agent, behind the USE_ML_MODEL
feature flag (config/settings.py). Falls back to the original formula
when this model isn't loaded β see backend/models/loader.py.
Files
model.joblibβ the trained XGBoost classifier (load withjoblib.load)feature_columns.jsonβ exact column order/names the model expects