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.