Last updated May 29, 2026 by

Math and Simulation Methodology

This page documents exactly how the Roulette Strategy Tester simulates roulette and how every published number on the site is derived. Everything here is reviewed by Kim Birch.

1. Random number generation

Each spin draws a random integer using the browser's Math.random() function:

This is a pseudo-random generator. It is suitable for educational simulation and produces a uniform distribution across many spins. It is not certified casino RNG. We do not claim that any specific simulated session predicts any specific real-money session.

2. Wheel layout

Pocket colours follow standard casino layouts:

3. Bet resolution

For each spin, every bet placed by the active strategy is resolved independently against the result. Bet types and payouts:

Bet typeNumbers coveredPayout (profit:stake)
Straight up135:1
Split217:1
Street311:1
Corner48:1
Six line65:1
Dozen / Column122:1
Red / Black / Odd / Even / Low / High181:1

A winning bet returns stake + profit to the bankroll. A losing bet forfeits the stake. The engine tracks total wagered (sum of stakes), total won (sum of profits on winning bets) and total lost (sum of stakes on losing bets) separately.

4. Strategy state machines

Each supported strategy is implemented as a small state machine with two methods:

Strategy rules follow the original published logic. Martingale doubles after a loss and resets after a win. Fibonacci moves +1 step on loss and -2 on win. Labouchere bets the sum of the first and last numbers in its sequence, removes them on a win and appends the lost bet on a loss. Oscar's Grind targets a +1 unit cycle and never overshoots.

5. Bankroll tracking

After every resolved spin the engine updates:

6. Stop conditions

7. Expected loss

Expected loss is reported on the final result modal as a benchmark against actual session loss. The formula is:

Expected loss = Total wagered × House edge

This is an educational reference. It is not a prediction of any specific run.

8. ROI

Return on investment is reported as: (Final bankroll − Initial bankroll) / Total wagered × 100. Over many sessions, mean ROI converges toward the negative house edge. Single-session ROI is dominated by variance and should not be read as edge.

9. What the engine does not model

10. Reproducibility

Each run starts from a fresh state. Results are not seeded - two runs with identical configuration will produce different spin sequences. This is intentional: real roulette is also unseeded. To compare strategies fairly, run several batches and look at averages.