Snapshot
Client: Confidential iGaming operator (name anonymized)
Period analysed: January to September 2025
Population: Approximately 500k players with at least one active day
Data used: Player ID + Activity Date (one record per player per active day)
Churn definition (empirically supported): 30 consecutive days with no activity after 31-07-2025
Churn at 30 days (with this definition): ~61% of the base
The business challenge
Unlike subscription businesses, iGaming has no “cancel” button: churn happens silently when players stop showing up. Acting too late wastes reactivation potential; acting too early wastes incentives on players who were just on a normal break.
This operator wanted a practical answer to a deceptively simple question:
“Who is truly at risk of churning — and who is simply taking a normal pause?”
Our approach
We deliberately started with the smallest reliable footprint possible: only Player ID and Activity Date. From that, we built a churn-risk engine in three maturity steps:
- Business heuristics (rules based on recency and cadence)
- BG/NBD probabilistic model (continuous risk ranking per player)
- Machine Learning (Gradient Boosting) using engineered features from the same dates
Step 0: Choosing a churn horizon that is both real and operational
We fixed 31-07-2025 as the reference date, trained on the first 7 months (01-01 to 31-07), and evaluated on August–September.
We tested churn horizons of 14, 21, 30 and 60 days, and quantified the “false alarm” risk (players labelled inactive who still return later).
Base-level return behaviour (key evidence):
- 14 days without activity: 64% of the base, 17% returned
- 21 days without activity: 58% of the base, 15% returned
- 30 days without activity: 53% of the base, 13% returned
- 60 days without activity: 38% of the base, 9% returned
This led to an operational conclusion for this operator: 30 days is the best balance between not triggering too early and not arriving too late.
What we built
1) Heuristics (fast baseline, easy to operationalise)
Well-designed rules based on recency and playing cadence already capture a large share of churners while flagging roughly half the base.
2) BG/NBD (probabilistic “player lifetime” model)
Using classic BG/NBD variables derived from the activity dates (frequency, recency, “age”), the model produces a continuous risk score and enables prioritisation by budget (top 10%, 20%, 30%, etc.).
3) Machine Learning (Gradient Boosting) — two flavours
We tested two ML variants with the same target: churn at 30 days after 31-07-2025.
- Flavour A: “turbo” on top of heuristics + BG/NBD inputs
- Flavour B: Flavour A plus additional feature engineering (e.g., active-day counts over 7/14/30/60/90, fixed windows 0–30/31–60/61–90, novelty/maturity flags including “very mature” (> 180 days observed))
Results (real numbers, same data footprint)
Global model quality (ranking churners above non-churners)
| Model | Type | ROC AUC | PR AUC |
| Heuristics (H1/H2) | Rules | — | — |
| BG/NBD | Probabilistic | 0,90 | 0,89 |
| ML – Flavour A | ML (heuristics + BG/NBD) | 0,93 | 0,94 |
| ML – Flavour B | ML (enriched features) | 0,93 | 0,94 |
Head-to-head comparison at similar effort (~53% of the base contacted)
| Approach | Base contacted | Precision | Recall |
| Heuristic H1 (recency ≥ 30 days) | ~53% | ≈ 89,7% | ≈ 78,6% |
| BG/NBD – top ~53% risk | ~53% | ≈ 89,7% | ≈ 78,6% |
| ML – Flavour A – top ~53% | ~53% | ≈ 92,0% | ≈ 80,6% |
| ML – Flavour B – top ~53% | ~53% | ≈ 92,0% | ≈ 80,6% |
Interpretation: for the same operational effort (contacting roughly half the base), ML captures more churners while reducing waste via higher precision — still using only activity dates.
What happens at different outreach sizes (ML)
| Base contacted (top risk) | Model | Precision | Recall |
| 10% | A | 96,9% | 16,1% |
| 10% | B | 96,7% | 18,6% |
| 20% | A | 96,5% | 31,8% |
| 20% | B | 96,4% | 31,8% |
| 30% | A | 95,8% | 47,3% |
| 30% | B | 95,8% | 47,3% |
| 40% | A | 94,7% | 62,4% |
| 40% | B | 94,7% | 62,4% |
| ~49% | A | 93,1% | 75,1% |
| ~49% | B | 93,0% | 75,1% |
| ~53% | A | 92,0% | 80,6% |
| ~53% | B | 92,0% | 80,6% |
Why this matters (beyond metrics)
This work shows that, even before bringing stakes, margins, game types, channel, campaigns, or device data into the picture, an operator can already build a strong churn-risk engine from presence patterns alone — and then scale performance further by adding richer features later.
Request the technical note
Click the link for the full technical white paper (methods, assumptions, full reasoning, and operationalisation details). – White Paper – iGaming
Contact us
Talk to us about implementing a churn-risk engine — from quick heuristics to probabilistic models and ML, progressively and without a “big bang” redesign.
Carlos Santos
AI Lead