Games
Game Performance Index — Sep 2025 to Mar 2026
Game Performance Index — Methodology & Decisions
Game Performance Index — Methodology & Decisions
Data Source
Table: ggrDailySimpleNext from bi_analytics MariaDB. Company: octoplay.
Data range: 2025-09-01 to 2026-03-13. ~985K daily rows across 12 jurisdictions.
What is an "OpBrand"?
Each operator×brand combination is treated as a separate entity (e.g., "sky|0", "entain|CORAL", "lnw|William Hill").
This matters because operators are aggregators with many brands/casino sites. Each brand launches games independently.
Brands with brand="0" (e.g., sky, paddypower) are single-brand operators — distinct businesses despite sharing the same brand field.
Game Name Normalization
The following games are merged as identical (regulatory wrappers or operator-branded versions):
• "3 Pyramids of Gold: Hold & Win Unlimited" → "3 Pyramids of Gold: Hold & Win"
• "5 Star Coins: Hold & Win Unlimited" → "5 Star Coins: Hold & Win"
• "Break the Piggy Bank Unlimited" → "Break the Piggy Bank"
• "Fanduel 3 Cash Volcanos: Hold & Win" → "3 Cash Volcanos: Hold & Win"
• "Gone Bassin’: Catch & Cash" → "Gone Bassin': Catch & Cash"
• "Grand Link Express: Hold & Win Unlimited" → "Grand Link Express: Hold & Win"
• "Paddy Power The Lucky Lad" → "The Lucky Fella: Hold And Win"
• "Witches’ Fortune: Hold & Win" → "Witches' Fortune: Hold & Win"
Genuine Launch Detection
Only games first seen globally on or after 2025-09-08 (7 days after data start) are included.
This prevents pre-existing games (already live when data collection began) from contaminating baselines.
Result: 27 genuine launches out of 156 total games in the dataset.
First 4 Weeks (F4W) Calculation
Each opbrand has its own launch date (first day with data for that game×jurisdiction×opbrand).
F4W = first 28 calendar days from each opbrand's own launch date.
Metrics (GGR/day, GGR/user, spins/user) are computed per opbrand first, then aggregated:
• GGR/day: days-weighted average across opbrands (opbrands with more active days count more)
• GGR/user, spins/user: users-weighted average across opbrands
Minimum OpBrand Threshold: €100 F4W GGR
OpBrands with less than €100 total GGR in their first 4 weeks are excluded from all calculations.
This removes 1300 tiny/inactive brands (1300/4448 = 29%) that add noise without meaningful signal.
Tiny brands with very few days also inflate GGR/day due to launch-spike bias.
Market Baselines (Z-Score Normalization)
Each jurisdiction is a separate market with its own baseline statistics.
Baseline = mean and std dev of each metric across all genuine-launch games in that market.
GGR/day and GGR/user use log-transform before z-scoring (right-skewed distributions).
Minimum thresholds per game×market: >€200 total GGR and >20 users. Minimum 5 games per market for baseline.
A game needs ≥3 markets with valid data to receive a GPI score.
GPI Weights
Weights were optimized via grid search (maximizing Spearman ρ minus LOO MAE):
• Spins/user: 40% — most consistent engagement signal across markets
• GGR/day: 45% — revenue productivity per brand per day
• GGR/user: 15% — player monetization quality
• Retention: 0% — dropped; prone to small-launch bias (low launch GGR inflates % retention)
Dropped metrics: avg_bet (ρ=0.28 alone, not predictive), bets/user (96% correlated with GGR/user),
bets/day (100% correlated with GGR/day — same signal).
GPI Composite Calculation
Per market: composite = weighted sum of z-scores for each metric.
Across markets: GPI = weighted average of per-market composites, weighted by √(users) in each market.
This gives larger markets more influence but not linearly (sqrt dampens outlier dominance).
Column Definitions
• GPI: Game Performance Index. Positive = above average, negative = below. Scale is in standard deviations.
• Consistency: 1 – σ/2 where σ = stdev of composite scores across markets. High = performs similarly everywhere.
• Data Confidence: avg opbrand days / 28, averaged across markets (weighted by √users). <50% = unreliable.
• Markets: number of jurisdictions where the game has valid data (≥3 required).
• F4W GGR: total gross gaming revenue in first 4 weeks across all opbrands and markets.
• Avg GGR/Day: days-weighted average of per-opbrand GGR/day. What a typical brand earns per day.
• Avg GGR/User: users-weighted average of per-opbrand GGR/user. Note: users are daily counts, not unique.
• OpBrands: number of operator×brand entities carrying the game in that market (after €100 filter).
Validation
Average Spearman ρ = 0.711 (GPI rank vs GGR/day rank within each market).
UK: ρ = 0.686 (25 games)
ROW: ρ = 0.818 (25 games)
Ontario: ρ = 0.570 (25 games)
US-NJ: ρ = 0.550 (9 games)
Sweden: ρ = 0.828 (22 games)
Malta: ρ = 0.623 (24 games)
Netherlands: ρ = 0.739 (21 games)
Denmark: ρ = 0.904 (21 games)
Spain: ρ = 0.643 (7 games)
Brazil: ρ = 0.750 (7 games)
Known Limitations
• Users are daily counts (not unique). A player active 10 days counts 10 times. Affects GGR/user absolute values.
• No seasonality adjustment — December launches face different player behavior than February launches.
• Only 27 games in baseline. More data over time will improve baseline stability.
• Games with low data confidence (<50%) have inflated GGR/day due to launch-spike bias in short-tenure opbrands.
• Spain and Brazil have few games (≤7) — market baselines are less reliable.