The bridge before the tree
Decomposition is worthless if the top-line number is ambiguous. Write the bridge from stakes to net revenue explicitly, and make it the only one:
| Line | Definition | Where it goes wrong |
|---|---|---|
| Turnover | Total stakes placed | Recycled winnings inflate it; not comparable across product types |
| GGR | Stakes minus wins | Period cut-off and late settlement re-state closed periods |
| − Bonus cost | Consumed bonus value, not granted — see bonus economics | Granted value used as a proxy; overstates the deduction |
| − Gaming taxes and duties | Per market, on the locally defined base | Applied on a group base that no regulator recognises |
| − Payment costs | Processing, chargebacks, FX on player money flows | Sits in a different team's P&L and never reaches the revenue view |
| = NGR | What the business actually keeps from gaming | Two internal definitions coexisting for years |
The driver tree
Net revenue for a period reduces to a small number of multiplicative drivers plus the cost lines above:
NGR ≈ active players × bets per active player × average stake × hold − bonus cost − taxes − payment costs
- Active players — the volume driver, itself the sum of retained, reactivated and newly converted players. Splitting it that way is usually where the real answer lives.
- Bets per active player — engagement frequency, sensitive to product mix, session structure and promotional cadence.
- Average stake — player-mix sensitive; a handful of high-stake players can move it without anything changing for anyone else.
- Hold — GGR over turnover. A rate, not a decision, and noisy over short periods.
- Cost lines — the ones most likely to be measured by a different team on a different definition.
Diagnosing in the right order
The order matters because the wrong entry point produces a plausible story that survives the meeting and fixes nothing.
| Step | Question | If yes |
|---|---|---|
| 1 | Did active players fall? | Split retained / reactivated / new, then by market, channel and device. This is a funnel or churn problem, not a margin one. |
| 2 | Did frequency fall at stable players? | Look at product mix, session entry points, promotional cadence and any recent lobby change. |
| 3 | Did average stake fall? | Check player mix first — usually a shift in who is active, not a change in behaviour. |
| 4 | Did hold fall? | Test variance before narrative: game mix shift, configuration change, or a few large outcomes in a short window. |
| 5 | Did a cost line rise? | Bonus cost, tax base, payment mix. Reconcile against the owning team's number before concluding. |
Run the steps in sequence and stop at the first one that explains the magnitude. If none of them does, the answer is usually a definition change or a data-pipeline event — check what shipped, not what players did.
Segments that hide inside the average
Group-level NGR is an average of populations that behave nothing alike. Before concluding anything, cut by:
- Market — tax base, payment mix and competitive pressure differ enough to reverse a conclusion.
- Product — casino, sportsbook and prediction markets have structurally different hold and volatility.
- Player tenure — a new-player cohort and a two-year cohort have different economics in every line of the tree.
- Acquisition source — see media buy; a decline is often one channel, not the business.
Make it reproducible
The decomposition is only useful if two analysts produce the same numbers. That requires the definitions to live in one dictionary, the tree to be built on one dataset with a stated grain, and late-arriving data to be handled by an explicit re-statement rule rather than by whoever refreshed the dashboard last. Everything else is negotiation dressed as analysis.
Continue reading: iGaming glossary — the metric definitions this tree assumes. The Turbo Stars platform — reporting built on one set of definitions.