Skip to content

    Original research

    Spin Wheel Fairness Study

    Last updated:

    We ran 100,000 automated spins on equal-size wheel slices using the same landing-angle geometry as our live spin wheel. 8 of 10 configurations passed a chi-square test for uniform distribution at α = 0.05; see the tables below for the exception, consistent with that test's own 5% false-positive rate rather than a sign of bias. Download the CSV to cite or reproduce the results.

    Summary

    • Total spins: 100,000
    • Spins per segment count: 10,000
    • Segment counts tested: 2, 3, 4, 6, 8, 10, 12, 16, 20, 36
    • Method: Node crypto.randomInt landing angle (build-time simulation, mirrors the browser's crypto.getRandomValues()) → getCurrentSegment geometry
    • Uniformity result: See tables below
    • Data as of: 2026-10-17
    Download CSV (117 rows, aggregated from 100,000 spins)

    The CSV has one row per slice per segment-count configuration (117 rows total), each with the observed count out of 10,000 spins for that configuration. It is not a row-by-row log of all 100,000 individual spins.

    Methodology

    For each segment count k, we simulated 10,000 independent spins. This simulation runs in Node at build time, so each spin drew its landing angle from Node's cryptographically secure random generator (crypto.randomInt), the server-side equivalent of the browser's crypto.getRandomValues() used in production, then mapped the angle to a slice index using the same equal-arc formula as the live wheel (pointer on the right).

    Expected count per slice is n/k. We computed Pearson's chi-square statistic χ² = Σ(O−E)²/E with k−1 degrees of freedom and compared to the α = 0.05 critical value. Configurations with χ² ≤ critical value are consistent with a uniform distribution.

    This study does not cover weighted slices, removed entries mid-session, or human timing, only equal segments and cryptographic landing angles.

    This simulation evaluates the random-selection and landing-angle model used by the wheel; it does not measure physical-wheel effects such as friction or pointer mechanics.

    2 segments, 10,000 spins

    χ² = 13.8384 (df = 1, critical 0.05 = 3.841), review needed · max deviation 3.72%

    Slice indexObservedExpectedDeviation %
    0518650003.72%
    148145000-3.72%

    3 segments, 10,000 spins

    χ² = 6.335 (df = 2, critical 0.05 = 5.991), review needed · max deviation 3.55%

    Slice indexObservedExpectedDeviation %
    032153333.33-3.55%
    133853333.331.55%
    234003333.332%

    4 segments, 10,000 spins

    χ² = 2.3256 (df = 3, critical 0.05 = 7.815), uniform (pass) · max deviation 2%

    Slice indexObservedExpectedDeviation %
    0255025002%
    124632500-1.48%
    224632500-1.48%
    3252425000.96%

    6 segments, 10,000 spins

    χ² = 6.932 (df = 5, critical 0.05 = 11.07), uniform (pass) · max deviation 4.7%

    Slice indexObservedExpectedDeviation %
    016591666.67-0.46%
    116831666.670.98%
    216321666.67-2.08%
    316761666.670.56%
    416051666.67-3.7%
    517451666.674.7%

    8 segments, 10,000 spins

    χ² = 7.5632 (df = 7, critical 0.05 = 14.067), uniform (pass) · max deviation 4.88%

    Slice indexObservedExpectedDeviation %
    0125312500.24%
    1131112504.88%
    212301250-1.6%
    312311250-1.52%
    4125812500.64%
    5129312503.44%
    612211250-2.32%
    712031250-3.76%

    10 segments, 10,000 spins

    χ² = 7.782 (df = 9, critical 0.05 = 16.919), uniform (pass) · max deviation 5.4%

    Slice indexObservedExpectedDeviation %
    09541000-4.6%
    1100710000.7%
    2100410000.4%
    39991000-0.1%
    4105410005.4%
    59971000-0.3%
    69761000-2.4%
    79771000-2.3%
    89931000-0.7%
    9103910003.9%

    12 segments, 10,000 spins

    χ² = 13.0904 (df = 11, critical 0.05 = 19.675), uniform (pass) · max deviation 6.28%

    Slice indexObservedExpectedDeviation %
    0872833.334.64%
    1883833.335.96%
    2839833.330.68%
    3827833.33-0.76%
    4833833.33-0.04%
    5807833.33-3.16%
    6781833.33-6.28%
    7820833.33-1.6%
    8853833.332.36%
    9801833.33-3.88%
    10871833.334.52%
    11813833.33-2.44%

    16 segments, 10,000 spins

    χ² = 10.112 (df = 15, critical 0.05 = 25), uniform (pass) · max deviation 7.68%

    Slice indexObservedExpectedDeviation %
    0605625-3.2%
    16326251.12%
    26736257.68%
    36306250.8%
    4617625-1.28%
    56326251.12%
    6610625-2.4%
    7611625-2.24%
    86326251.12%
    96316250.96%
    10611625-2.24%
    11597625-4.48%
    126646256.24%
    136306250.8%
    14619625-0.96%
    15606625-3.04%

    20 segments, 10,000 spins

    χ² = 15.892 (df = 19, critical 0.05 = 30.144), uniform (pass) · max deviation 7%

    Slice indexObservedExpectedDeviation %
    05225004.4%
    15245004.8%
    25205004%
    3474500-5.2%
    45285005.6%
    5495500-1%
    65165003.2%
    75175003.4%
    85355007%
    9495500-1%
    10471500-5.8%
    11474500-5.2%
    12496500-0.8%
    13489500-2.2%
    14482500-3.6%
    15480500-4%
    16482500-3.6%
    17488500-2.4%
    185185003.6%
    19494500-1.2%

    36 segments, 10,000 spins

    χ² = 38.3984 (df = 35, critical 0.05 = 49.998), uniform (pass) · max deviation 15.04%

    Slice indexObservedExpectedDeviation %
    0236277.78-15.04%
    1287277.783.32%
    2293277.785.48%
    3252277.78-9.28%
    4264277.78-4.96%
    5279277.780.44%
    6314277.7813.04%
    7277277.78-0.28%
    8261277.78-6.04%
    9279277.780.44%
    10307277.7810.52%
    11266277.78-4.24%
    12299277.787.64%
    13269277.78-3.16%
    14299277.787.64%
    15258277.78-7.12%
    16295277.786.2%
    17261277.78-6.04%
    18274277.78-1.36%
    19263277.78-5.32%
    20278277.780.08%
    21260277.78-6.4%
    22269277.78-3.16%
    23281277.781.16%
    24299277.787.64%
    25271277.78-2.44%
    26299277.787.64%
    27277277.78-0.28%
    28259277.78-6.76%
    29293277.785.48%
    30268277.78-3.52%
    31307277.7810.52%
    32283277.781.88%
    33275277.78-1%
    34278277.780.08%
    35270277.78-2.8%

    How to cite

    Raja Jahangir, Online Spin Wheel Fairness Study (2026-10-17), 100,000 simulated spins, https://onlinespinwheel.fun/spin-wheel-fairness-study, CSV: https://onlinespinwheel.fun/downloads/spin-wheel-fairness-study-100k.csv