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.