๐ฒ Casino Analytics Dashboard - Part 5
Key Performance Indicators
After simulating the โsessionsโ, itโs time to simulate money movements; so I added the key factors of the iGaming sector:
- RTP (Return to Player) - How much money the game gives back to players over time โ like โ95 out of 100 euros returned, on average.โ
- GGR (Gross Gaming Revenue) โ What the casino keeps after paying wins โ your bets minus what you won.
- NGR (Net Gaming Revenue) โ GGR minus free bonuses โ The real profit of the company, after the โgifts.โ
- Bonus codes โ Secret codes you type to get free money or spins โ like a coupon for games.
- Deposit behavior โ When and how often players put in money โ so the site can say โHey, hereโs a little gift!โ
All sourced from real industry benchmarks: no guesswork, just facts.
Main Goals of the day:
- Integrate real iGaming KPIs into the simulation
- Source from: Giocoresponsabile.info, Comm100, MGA
- Ensure values are within legal and market ranges
Step by Step
๐ Step 1: Added RTP per game type:
- Slot: 92%
- Blackjack: 98%
- Poker: 97%
- Roulette: 95%
โ Average: 95.7% โ matches MGA/ADM range (95โ96.5%)
๐ Step 2: Added bonus codes:
- NEWUSER10, CASINO20, POKER15
- 30% chance to claim โ matches Comm100โs 32โ35% benchmark
๐ Step 3: Added deposit logic:
- 80% chance to deposit if bonus claimed
- 40% if no bonus
- Deposit amount:
np.random.exponential(100)โ avg โฌ100
๐ Step 4: Calculated:
- GGR = bet - payout
- NGR = GGR - bonus
โ NGR = โฌ12.70/player/week โ matches H2GCโs โฌ12.40
Challenges / Insights
โ Using public data, and generated a simulation based on that โ No insider data.
If you donโt model RTP correctly โ your NGR is fake โ your whole analysis is garbage.
I didnโt pick 95%.
I picked 95.7% because thatโs what Maltaโs regulator says is fair.
Thatโs not a number. Thatโs compliance.
Code Snippet Final
1
2
3
4
5
6
rtp_map = {'Slot': 0.92, 'Blackjack': 0.98, 'Poker': 0.97, 'Roulette': 0.95}
rtp = np.random.normal(rtp_map[game_type], 0.02)
rtp = min(max(rtp, 0.85), 1.05) # legal bounds
payout = bet * rtp
ggr = bet - payout
ngr = max(ggr - bonus, 0)
</pre>
Next Step
๐ Now I have real revenue numbers. The next questions to answer: Whoโs playing? And for how long?
This post is licensed under CC BY 4.0 by the author.