π² Casino Analytics Dashboard - Part 4
More volatility, more risk
I changed the session distribution for more realism.
I selected the binomial distribution for the simulation at first, then I changed it to Poisson.
For a simple and statistical reason: iGaming isnβt a coin flip. Itβs a wild ride.
Main Goals of the day:
- Replace binomial distribution with Poisson for session count per player
- Explain the main reason why Poisson fits better than the Binomial one
- Validate that session durations follow an exponential distribution (long tail), suitable for the gaming sessions
Step by Step
π Step 1: Removed np.random.binomial() β too rigid, not dynamic
π Step 2: Used np.random.poisson(lam=8.33) β natural for βevents over timeβ
π Step 3: Confirmed session duration: np.random.exponential(30) β 30 min avg, but long tails (some sessions > 90 min)
Challenges / Insights
The logic of the 2 probability distributions is simple:
π Binomial distribution = βEach player plays exactly 8 sessions.β
β False.π Poisson distribution = βOn average, 8 sessions β but a guy can play 1-2 sessions, someone else 20 or more.β
β More realistic.
In other words, trying to model human behavior.
In iGaming (sources: Italian Market):
80% of players play 1β5 sessions
15% play 6β15
5% play 15+ β theyβre your VIPs
Poisson captures that.
Binomial? Simple, but not reliable.
Code Snippet Final
session_counts = np.random.poisson(lam=avg_session, size=n_players)
session_counts = np.clip(session_counts, 1, 30) # no one plays 100 sessions in a week
</pre>
Next Step
π Now that I have realistic session counts β time to add real metrics: Return-To-Payment, Gross Gaming Revenue, Net Gaming Revenue.