Machine Learning

Churn Predictor

Gradient-boosted trees have beaten neural networks on spreadsheet-shaped data for a decade, and this is why: three thousand fake subscription customers are generated with a hidden risk formula, and the model has to rediscover it from the columns alone. It trains live in your tab. The real deliverable is not the accuracy number, it is the last table on this page: the five customers a retention team should call today.

browser version uses gradient-boosted decision stumps in place of XGBoost — sequential depth-1 trees fit to the residuals of a logistic model, with a learning rate. Same idea (additive boosting on gradients), smaller engine: no second-order terms, no regularised leaf weights, no column sampling.

Training · 300 stumps on 2,400 customers

preparing…
How it works

Each customer gets a hidden risk score built from a fixed formula plus a shot of random noise, and the riskiest 28% are labelled as churned, so there is a ground truth to check the model against. The noise is deliberate: it stands in for everything a company cannot observe, a bad week, a competitor's coupon, and it puts a hard ceiling on achievable accuracy, which is why a model that scores 100% on data like this is leaking the answer rather than learning it. Boosting starts from a constant prediction and then fits three hundred one-split decision stumps in sequence, each one trained on the gradient of the loss, meaning the mistakes the model is still making, and added at a small learning rate so no single stump can dominate. Predictions accumulate in log-odds space and pass through a logistic function to become probabilities. Because every stump records which feature it split on and how much loss it removed, adding that up gives an importance ranking, and it lands on the true drivers.