Spinner Wheel Fairness Test: 87,000,000 Spins
Quick answer: Yes, the wheel is fair. We spun it 87,000,000 times, in 20 separate runs, using the exact pick code the live wheel uses. In run 1, every slice of a six-slice wheel won between 16.619% and 16.722% of the time (a fair share is 16.667%). Across all runs, “suspicious” results showed up 3 times in 80 checks, where pure chance predicts about 4.
Run 1 at a glance (4,350,000 spins)
We always show run 1 in detail, never a hand-picked run. The other 19 runs are summarized below.
| Test | Spins | Result | Chance check |
|---|---|---|---|
| Six-slice wheel | 1,200,000 | Each slice within 0.33% of its fair share | p = 0.371 |
| Yes or No wheel | 1,000,000 | Yes 49.997% · No 50.003% | p = 0.947 |
| Class list of 25 names | 250,000 | Every name won exactly 10,000 times | equal by design |
| Weighted wheel (Yes, Yes, No) | 900,000 | Yes 66.698% · No 33.302% (aim: 66.667% / 33.333%) | p = 0.522 |
| Number range 1 to 100 | 1,000,000 | Every number won 9,751 to 10,289 times (fair share 10,000) | p = 0.731 |
How to read “p”: it’s the chance that a perfectly fair wheel would look at least this uneven. Anything above 0.05 means “nothing suspicious”. It changes on every run, and about 1 run in 20 dips below 0.05 by pure luck. That’s what real randomness looks like.
All 20 runs: how often did a result look “suspicious”?
A fair wheel still gives p below 0.05 in about 1 run out of 20, so over 20 runs we expect about 1 per test. Here is what we got:
| Test | Runs with p below 0.05 | Biggest gap from a fair share, any run |
|---|---|---|
| Six-slice wheel | 1 of 20 | 0.618% |
| Yes or No wheel | 0 of 20 | 0.147% |
| Weighted wheel | 1 of 20 | 0.437% |
| Number range 1 to 100 | 1 of 20 | 3.38% (one number out of 100) |
| Class list of 25 names | never (every name wins equally by design) | 0% |
“Biggest gap” is the most any single entry drifted from its fair share in any run. It’s bigger for the 1–100 range because each number only gets about 10,000 wins per run, and smaller counts wobble more.
Test 1: a six-slice wheel, 1,200,000 spins
Six foods, fully random spins (this is the 6,000-spin button on our Is the wheel random? page, made 200 times bigger). Each slice should win about 1 in 6 times, which is 16.667%.
| Slice | Wins | Share |
|---|---|---|
| Pizza | 200,660 | 16.722% |
| Tacos | 200,063 | 16.672% |
| Sushi | 200,205 | 16.684% |
| Burgers | 200,142 | 16.678% |
| Pasta | 199,503 | 16.625% |
| Salad | 199,427 | 16.619% |
Chi-square: 5.39 with 5 degrees of freedom, p = 0.371. In plain words: the small differences are exactly the size you’d expect from chance. No slice is favored.
Test 2: Yes or No, 1,000,000 spins
Yes won 499,967 times and No won 500,033 times: 49.997% to 50.003%. Two-entry wheels are always fully random, so streaks happen. The longest run of the same answer was 21 in a row, and there were 62,724 streaks of four or more. If your wheel says “Yes” three times in a row, it isn’t broken. It’s just being a coin.
Test 3: a class list of 25 names, 250,000 spins
On lists of 5 or more entries, the wheel works like drawing names from a hat without putting them back: everyone wins once before anyone wins again. So every one of the 25 names won exactly 10,000 times. The longest any student waited between turns was 49 spins (just under two rounds).
One honest detail: when the hat refills, the last name of one round can come up first in the next. That happened 398 times in 250,000 spins, about once every 628 spins. To make sure nobody is picked twice, tick Remove the winner after each spin.
Test 4: changing the odds on purpose
Typing an entry twice gives it two slices. With “Yes, Yes, No”, Yes should win 2 times out of 3. It won 66.698% of 900,000 spins, and No won 33.302%. The extra slice is visible on the wheel, so the odds are never hidden.
Test 5: numbers from 1 to 100, 1,000,000 spins
Each number should win about 10,000 times. The least lucky number (19) won 9,751 times and the luckiest (90) won 10,289 times. Chi-square 89.95 with 99 degrees of freedom, p = 0.731. A spread like this is normal for fair random numbers (a different number will be “luckiest” on the next run).
How we ran the test
- We copied the wheel’s two pick functions from the live site: the fair random number (
randInt) and the no-streak list picker. - We ran them in Node.js with
crypto.getRandomValues, the same secure random source browsers use. - The fair random number throws away the few values that would favor the first entries (this is called avoiding “modulo bias”), so every entry’s chance is exactly equal.
- We counted the wins, then used a chi-square test to check whether the differences are bigger than chance would explain.
- To check the checker, we ran 400 extra short runs each for 2, 6 and 100 entries. Low p-values came up 4.8% to 6.5% of the time, right around the 5% a fair wheel should give.
We repeated the whole set of tests 20 times with fresh random numbers each time. The spin animation you see on screen only shows the result. It never decides it. You can run a smaller version yourself on the Is the wheel random? page, or spin the custom wheel, the Yes or No wheel or the giveaway wheel.
You’re welcome to quote or reuse these results (CC BY 4.0) with a link to this page.
Questions people ask
Is an online spinner wheel really fair?
Ours is. We spun the live wheel’s own pick code millions of times in 20 separate runs. Every entry won within a fraction of a percent of its fair share, and low p-values showed up about as often as pure chance predicts.
Why did the wheel land on the same answer several times in a row?
Because real randomness has streaks. In 1 million Yes or No spins, the longest streak was 19 in a row. On lists of 5 or more entries, the wheel uses a no-streak mode so everyone gets a turn first.
Can I use these results in an article or a class?
Yes. You can quote or reuse them under CC BY 4.0. Please link to this page. Teachers: it makes a fun probability lesson.