Per-player retention scoring for an online casino
We score each player individually for churn and reactivation, with the features that drove the score, and feed a prioritized worklist into the operator's retention team. Gradient boosting on raw transactions, not LLM guesswork.
A licensed online casino operator running a self-written platform was doing retention with cohort blasts. Analysts built segments by hand and pushed the same bonus to everyone in the segment, so the signal that a single player was about to go silent got averaged away. An off-the-shelf retention service the operator had tested scored segments, not players, and ran robocalls scripted by the operator with no per-player explanation. The analysts had no audit trail they could trust, and a large share of the calls were getting killed by anti-fraud filters anyway.
We built the scoring layer. Four source tables - players, transactions, sessions, game events - aggregate into a per-player feature card covering full history. Account-type flags (real, test, service, bot) filter the training set, and consent flags (marketing, service, self-exclusion, responsible gaming) are checked before any retention trigger fires. A gradient boosting model trained on raw transactions, not pre-aggregated averages, returns two scores per player: churn probability over the next 7 to 30 days, and reactivation probability if already silent. Each score is returned with the features that drove it. The output flows into the operator's existing retention CRM as a prioritized daily worklist - which players to act on, in what order, and why. We do not decide the bonus or the script. The operator owns that. We rank.
“Every retention competitor we looked at scores cohorts and runs the same script across the segment. Our job is one decision per player, with the reasoning attached. The model serves the analyst, not the other way around.”
2pizza.team - Engineering note
Free 30-min audit. We tell you what to automate and what it costs.