{
 "license": "CC BY 4.0 — https://creativecommons.org/licenses/by/4.0/",
 "attribution": "Wheel Cue (wheelcue.com)",
 "source": "https://wheelcue.com/research/why-random-feels-rigged/",
 "slug": "why-random-feels-rigged",
 "generatedAt": "2026-10-03T20:27:42.958Z",
 "node": "v24.21.0",
 "randomJsSha256": "946e82a3c426d698779d3246c37c732f771db3873c93239ef3952aea39be1e2d",
 "totalSpins": 46103497,
 "rawDraws": 46103497,
 "seconds": 71.7,
 "params": {
  "backToBack": {
   "slices": [
    2,
    6,
    12,
    25
   ],
   "sessionLengths": [
    10,
    20,
    50
   ],
   "sessions": 200000
  },
  "coinStreaks": {
   "flips": 100,
   "prefixes": [
    20,
    50,
    100
   ],
   "sessions": 150000
  },
  "sixSliceStreaks": {
   "slices": 6,
   "spins": 50,
   "sessions": 100000
  },
  "birthday": {
   "names": 25,
   "picks": 25,
   "sessions": 200000,
   "otherClassSizes": [
    10,
    20,
    30
   ],
   "otherSessions": 100000
  },
  "gaps": {
   "slices": [
    2,
    6,
    12,
    25
   ],
   "gapsPerWheel": 100000
  },
  "clusters": {
   "slices": 6,
   "spins": 30,
   "sessions": 200000
  },
  "theoryOnly": {
   "coinFlipsForWidget": [
    20,
    50,
    100,
    200
   ]
  }
 },
 "notes": {
  "simulatedVsExact": "results holds simulated spins (never site usage); theory holds exact math. Lengths listed in params.theoryOnly that are not simulated elsewhere (200 coin flips) and theory.gaps.limits are exact math only.",
  "rounding": "Shares are rounded to 6 decimals, so a few show as 1 (for example 100 coin flips with a streak of 3 or more). None of them is certain: print them as >99.99% or 'virtually certain', never 100%.",
  "checks": "Every check allows 4 standard errors of the simulated share or average (never less than 4 sessions' worth for a share). Medians and percentiles are checked through the share of sessions at or below the exact value. Shares within 0.0001 of certainty are reported but not checked."
 },
 "results": {
  "backToBack": {
   "sessionsPerWheel": 200000,
   "note": "A session stops at its first back-to-back repeat; the per-spin rate pools every spin after the first. gapPoints = |simulated - exact| in percentage points.",
   "maxGapPoints": 0.113,
   "perSpin": [
    {
     "slices": 2,
     "spinsAfterTheFirst": 398958,
     "backToBackRepeats": 200000,
     "simulated": 0.501306,
     "exact": 0.5
    },
    {
     "slices": 6,
     "spinsAfterTheFirst": 1199228,
     "backToBackRepeats": 199979,
     "simulated": 0.166756,
     "exact": 0.166667
    },
    {
     "slices": 12,
     "spinsAfterTheFirst": 2364861,
     "backToBackRepeats": 197217,
     "simulated": 0.083395,
     "exact": 0.083333
    },
    {
     "slices": 25,
     "spinsAfterTheFirst": 4329251,
     "backToBackRepeats": 172733,
     "simulated": 0.039899,
     "exact": 0.04
    }
   ],
   "atLeastOneInSession": [
    {
     "slices": 2,
     "spins": 10,
     "simulated": 0.99817,
     "exact": 0.998047,
     "gapPoints": 0.012
    },
    {
     "slices": 2,
     "spins": 20,
     "simulated": 0.999995,
     "exact": 0.999998,
     "gapPoints": 0
    },
    {
     "slices": 2,
     "spins": 50,
     "simulated": 1,
     "exact": 1,
     "gapPoints": 0
    },
    {
     "slices": 6,
     "spins": 10,
     "simulated": 0.807325,
     "exact": 0.806193,
     "gapPoints": 0.113
    },
    {
     "slices": 6,
     "spins": 20,
     "simulated": 0.96893,
     "exact": 0.968699,
     "gapPoints": 0.023
    },
    {
     "slices": 6,
     "spins": 50,
     "simulated": 0.999895,
     "exact": 0.999868,
     "gapPoints": 0.003
    },
    {
     "slices": 12,
     "spins": 10,
     "simulated": 0.543515,
     "exact": 0.543014,
     "gapPoints": 0.05
    },
    {
     "slices": 12,
     "spins": 20,
     "simulated": 0.808755,
     "exact": 0.808567,
     "gapPoints": 0.019
    },
    {
     "slices": 12,
     "spins": 50,
     "simulated": 0.986085,
     "exact": 0.985928,
     "gapPoints": 0.016
    },
    {
     "slices": 25,
     "spins": 10,
     "simulated": 0.30671,
     "exact": 0.307466,
     "gapPoints": 0.076
    },
    {
     "slices": 25,
     "spins": 20,
     "simulated": 0.53992,
     "exact": 0.539581,
     "gapPoints": 0.034
    },
    {
     "slices": 25,
     "spins": 50,
     "simulated": 0.863665,
     "exact": 0.864702,
     "gapPoints": 0.104
    }
   ]
  },
  "switches": {
   "flips": 100,
   "sessions": 150000,
   "mean": 49.5048,
   "sd": 4.9661,
   "p5": 41,
   "p95": 58,
   "exactRange": {
    "low": 41,
    "high": 58,
    "pInside": 0.931033,
    "pBelow": 0.034813,
    "pAbove": 0.034153
   },
   "pAtLeast60": 0.021333,
   "pAtMost40": 0.034813,
   "pAtLeast55": 0.15782
  },
  "longestStreak": {
   "coin": {
    "20": {
     "flips": 20,
     "sessions": 150000,
     "mean": 4.6538,
     "mode": 4,
     "median": 4,
     "p5": 3,
     "p95": 8,
     "pAtLeast": {
      "3": 0.97832,
      "4": 0.76738,
      "5": 0.457093,
      "6": 0.236627,
      "7": 0.114193,
      "8": 0.053973,
      "10": 0.011473
     },
     "pAtMost4": 0.542907,
     "exactRange": {
      "low": 3,
      "high": 8,
      "pInside": 0.95354,
      "pBelow": 0.02168,
      "pAbove": 0.02478
     },
     "distribution": [
      {
       "value": 2,
       "count": 3252,
       "simulated": 0.02168,
       "exact": 0.020876
      },
      {
       "value": 3,
       "count": 31641,
       "simulated": 0.21094,
       "exact": 0.210703
      },
      {
       "value": 4,
       "count": 46543,
       "simulated": 0.310287,
       "exact": 0.310017
      },
      {
       "value": 5,
       "count": 33070,
       "simulated": 0.220467,
       "exact": 0.221525
      },
      {
       "value": 6,
       "count": 18365,
       "simulated": 0.122433,
       "exact": 0.121826
      },
      {
       "value": 7,
       "count": 9033,
       "simulated": 0.06022,
       "exact": 0.060669
      },
      {
       "value": 8,
       "count": 4379,
       "simulated": 0.029193,
       "exact": 0.029026
      },
      {
       "value": 9,
       "count": 1996,
       "simulated": 0.013307,
       "exact": 0.013639
      },
      {
       "value": 10,
       "count": 903,
       "simulated": 0.00602,
       "exact": 0.006346
      },
      {
       "value": 11,
       "count": 456,
       "simulated": 0.00304,
       "exact": 0.00293
      },
      {
       "value": 12,
       "count": 197,
       "simulated": 0.001313,
       "exact": 0.001343
      },
      {
       "value": 13,
       "count": 85,
       "simulated": 0.000567,
       "exact": 0.00061
      },
      {
       "value": 14,
       "count": 43,
       "simulated": 0.000287,
       "exact": 0.000275
      },
      {
       "value": 15,
       "count": 19,
       "simulated": 0.000127,
       "exact": 0.000122
      }
     ]
    },
    "50": {
     "flips": 50,
     "sessions": 150000,
     "mean": 5.9821,
     "mode": 5,
     "median": 6,
     "p5": 4,
     "p95": 9,
     "pAtLeast": {
      "3": 0.99996,
      "4": 0.981187,
      "5": 0.82124,
      "6": 0.546107,
      "7": 0.310347,
      "8": 0.162873,
      "10": 0.04028
     },
     "pAtMost4": 0.17876,
     "exactRange": {
      "low": 4,
      "high": 9,
      "pInside": 0.940907,
      "pBelow": 0.018813,
      "pAbove": 0.04028
     },
     "distribution": [
      {
       "value": 3,
       "count": 2816,
       "simulated": 0.018773,
       "exact": 0.018726
      },
      {
       "value": 4,
       "count": 23992,
       "simulated": 0.159947,
       "exact": 0.16031
      },
      {
       "value": 5,
       "count": 41270,
       "simulated": 0.275133,
       "exact": 0.276815
      },
      {
       "value": 6,
       "count": 35364,
       "simulated": 0.23576,
       "exact": 0.235194
      },
      {
       "value": 7,
       "count": 22121,
       "simulated": 0.147473,
       "exact": 0.146953
      },
      {
       "value": 8,
       "count": 12150,
       "simulated": 0.081,
       "exact": 0.080226
      },
      {
       "value": 9,
       "count": 6239,
       "simulated": 0.041593,
       "exact": 0.041225
      },
      {
       "value": 10,
       "count": 3070,
       "simulated": 0.020467,
       "exact": 0.020606
      },
      {
       "value": 11,
       "count": 1538,
       "simulated": 0.010253,
       "exact": 0.010168
      },
      {
       "value": 12,
       "count": 751,
       "simulated": 0.005007,
       "exact": 0.004986
      },
      {
       "value": 13,
       "count": 327,
       "simulated": 0.00218,
       "exact": 0.002437
      },
      {
       "value": 14,
       "count": 192,
       "simulated": 0.00128,
       "exact": 0.001189
      },
      {
       "value": 15,
       "count": 92,
       "simulated": 0.000613,
       "exact": 0.00058
      },
      {
       "value": 16,
       "count": 37,
       "simulated": 0.000247,
       "exact": 0.000282
      },
      {
       "value": 17,
       "count": 27,
       "simulated": 0.00018,
       "exact": 0.000137
      }
     ]
    },
    "100": {
     "flips": 100,
     "sessions": 150000,
     "mean": 6.9783,
     "mode": 6,
     "median": 7,
     "p5": 5,
     "p95": 10,
     "pAtLeast": {
      "3": 1,
      "4": 0.999713,
      "5": 0.972293,
      "6": 0.808573,
      "7": 0.54184,
      "8": 0.314307,
      "10": 0.086593
     },
     "pAtMost4": 0.027707,
     "exactRange": {
      "low": 5,
      "high": 10,
      "pInside": 0.928553,
      "pBelow": 0.027707,
      "pAbove": 0.04374
     },
     "distribution": [
      {
       "value": 3,
       "count": 43,
       "simulated": 0.000287,
       "exact": 0.000285
      },
      {
       "value": 4,
       "count": 4113,
       "simulated": 0.02742,
       "exact": 0.028026
      },
      {
       "value": 5,
       "count": 24558,
       "simulated": 0.16372,
       "exact": 0.164869
      },
      {
       "value": 6,
       "count": 40010,
       "simulated": 0.266733,
       "exact": 0.264484
      },
      {
       "value": 7,
       "count": 34130,
       "simulated": 0.227533,
       "exact": 0.22757
      },
      {
       "value": 8,
       "count": 21858,
       "simulated": 0.14572,
       "exact": 0.146209
      },
      {
       "value": 9,
       "count": 12299,
       "simulated": 0.081993,
       "exact": 0.081899
      },
      {
       "value": 10,
       "count": 6428,
       "simulated": 0.042853,
       "exact": 0.042991
      },
      {
       "value": 11,
       "count": 3351,
       "simulated": 0.02234,
       "exact": 0.021878
      },
      {
       "value": 12,
       "count": 1609,
       "simulated": 0.010727,
       "exact": 0.010969
      },
      {
       "value": 13,
       "count": 772,
       "simulated": 0.005147,
       "exact": 0.00546
      },
      {
       "value": 14,
       "count": 417,
       "simulated": 0.00278,
       "exact": 0.002708
      },
      {
       "value": 15,
       "count": 220,
       "simulated": 0.001467,
       "exact": 0.001341
      },
      {
       "value": 16,
       "count": 95,
       "simulated": 0.000633,
       "exact": 0.000663
      },
      {
       "value": 17,
       "count": 63,
       "simulated": 0.00042,
       "exact": 0.000328
      },
      {
       "value": 18,
       "count": 21,
       "simulated": 0.00014,
       "exact": 0.000162
      }
     ]
    }
   },
   "sixSlice": {
    "slices": 6,
    "spins": 50,
    "sessions": 100000,
    "mean": 2.9007,
    "mode": 3,
    "pAtLeast": {
     "2": 0.99989,
     "3": 0.6957,
     "4": 0.16932,
     "5": 0.02997
    },
    "distribution": [
     {
      "value": 1,
      "count": 11,
      "simulated": 0.00011,
      "exact": 0.000132
     },
     {
      "value": 2,
      "count": 30419,
      "simulated": 0.30419,
      "exact": 0.305703
     },
     {
      "value": 3,
      "count": 52638,
      "simulated": 0.52638,
      "exact": 0.52567
     },
     {
      "value": 4,
      "count": 13935,
      "simulated": 0.13935,
      "exact": 0.139145
     },
     {
      "value": 5,
      "count": 2510,
      "simulated": 0.0251,
      "exact": 0.024515
     },
     {
      "value": 6,
      "count": 403,
      "simulated": 0.00403,
      "exact": 0.004046
     },
     {
      "value": 7,
      "count": 70,
      "simulated": 0.0007,
      "exact": 0.000661
     },
     {
      "value": 8,
      "count": 13,
      "simulated": 0.00013,
      "exact": 0.000108
     }
    ]
   }
  },
  "afterStreak": {
   "note": "Each case is a spin that follows a run of at least 3 (coin) or at least 2 (6 slices) identical results, including longer runs; one long run supplies several overlapping cases.",
   "coinAfterThreeOrMoreInARow": {
    "opportunities": 3638093,
    "sameAgain": 1819472,
    "simulated": 0.500117,
    "exact": 0.5
   },
   "sixSliceAfterTwoOrMoreInARow": {
    "opportunities": 799804,
    "sameAgain": 133802,
    "simulated": 0.167293,
    "exact": 0.166667
   }
  },
  "birthday": {
   "names": 25,
   "picksPerSession": 25,
   "sessions": 200000,
   "firstOver50Percent": 7,
   "meanPickOfFirstRepeat": 6.9387,
   "curve": [
    {
     "picks": 1,
     "someNameTwice": 0,
     "oneParticularNameTwice": 0
    },
    {
     "picks": 2,
     "someNameTwice": 0.04048,
     "oneParticularNameTwice": 0.00166
    },
    {
     "picks": 3,
     "someNameTwice": 0.117575,
     "oneParticularNameTwice": 0.004655
    },
    {
     "picks": 4,
     "someNameTwice": 0.22357,
     "oneParticularNameTwice": 0.00918
    },
    {
     "picks": 5,
     "someNameTwice": 0.34767,
     "oneParticularNameTwice": 0.01479
    },
    {
     "picks": 6,
     "someNameTwice": 0.478835,
     "oneParticularNameTwice": 0.02176
    },
    {
     "picks": 7,
     "someNameTwice": 0.604665,
     "oneParticularNameTwice": 0.02958
    },
    {
     "picks": 8,
     "someNameTwice": 0.7159,
     "oneParticularNameTwice": 0.03814
    },
    {
     "picks": 9,
     "someNameTwice": 0.80725,
     "oneParticularNameTwice": 0.047665
    },
    {
     "picks": 10,
     "someNameTwice": 0.877745,
     "oneParticularNameTwice": 0.057875
    },
    {
     "picks": 11,
     "someNameTwice": 0.926575,
     "oneParticularNameTwice": 0.069
    },
    {
     "picks": 12,
     "someNameTwice": 0.959135,
     "oneParticularNameTwice": 0.08048
    },
    {
     "picks": 13,
     "someNameTwice": 0.978875,
     "oneParticularNameTwice": 0.09238
    },
    {
     "picks": 14,
     "someNameTwice": 0.990105,
     "oneParticularNameTwice": 0.105395
    },
    {
     "picks": 15,
     "someNameTwice": 0.99578,
     "oneParticularNameTwice": 0.118665
    },
    {
     "picks": 16,
     "someNameTwice": 0.998165,
     "oneParticularNameTwice": 0.132465
    },
    {
     "picks": 17,
     "someNameTwice": 0.999325,
     "oneParticularNameTwice": 0.146515
    },
    {
     "picks": 18,
     "someNameTwice": 0.999755,
     "oneParticularNameTwice": 0.16066
    },
    {
     "picks": 19,
     "someNameTwice": 0.999915,
     "oneParticularNameTwice": 0.175245
    },
    {
     "picks": 20,
     "someNameTwice": 0.999995,
     "oneParticularNameTwice": 0.1901
    },
    {
     "picks": 21,
     "someNameTwice": 1,
     "oneParticularNameTwice": 0.20473
    },
    {
     "picks": 22,
     "someNameTwice": 1,
     "oneParticularNameTwice": 0.218905
    },
    {
     "picks": 23,
     "someNameTwice": 1,
     "oneParticularNameTwice": 0.23378
    },
    {
     "picks": 24,
     "someNameTwice": 1,
     "oneParticularNameTwice": 0.248905
    },
    {
     "picks": 25,
     "someNameTwice": 1,
     "oneParticularNameTwice": 0.26402
    }
   ],
   "otherClassSizes": [
    {
     "names": 10,
     "sessions": 100000,
     "picks": 5,
     "someNameTwice": 0.69848
    },
    {
     "names": 20,
     "sessions": 100000,
     "picks": 6,
     "someNameTwice": 0.56309
    },
    {
     "names": 30,
     "sessions": 100000,
     "picks": 7,
     "someNameTwice": 0.53204
    }
   ]
  },
  "gaps": {
   "note": "Gap = spins from one appearance of a given entry to its next appearance, counting the spin where it reappears (1 = back to back). A gap longer than m spins means at least m spins in a row without that entry. pOver2k = share of gaps longer than twice the number of slices. Simulated medians can land one off the exact median because the exact CDF sits close to 50% there: quote theory.gaps medians, not these.",
   "wheels": [
    {
     "slices": 2,
     "gaps": 100000,
     "mean": 2.0009,
     "median": 1,
     "pAtMostExactMedian": 0.50031,
     "p90": 4,
     "pOver1k": 0.25081,
     "pOver2k": 0.06213,
     "pOver3k": 0.01555,
     "longestGapSeen": 18
    },
    {
     "slices": 6,
     "gaps": 100000,
     "mean": 5.9999,
     "median": 4,
     "pAtMostExactMedian": 0.51795,
     "p90": 13,
     "pOver1k": 0.33487,
     "pOver2k": 0.11171,
     "pOver3k": 0.03869,
     "longestGapSeen": 56
    },
    {
     "slices": 12,
     "gaps": 100000,
     "mean": 12.0005,
     "median": 8,
     "pAtMostExactMedian": 0.50052,
     "p90": 27,
     "pOver1k": 0.35331,
     "pOver2k": 0.12368,
     "pOver3k": 0.04294,
     "longestGapSeen": 140
    },
    {
     "slices": 25,
     "gaps": 100000,
     "mean": 24.9096,
     "median": 17,
     "pAtMostExactMedian": 0.50249,
     "p90": 57,
     "pOver1k": 0.35888,
     "pOver2k": 0.12919,
     "pOver3k": 0.04703,
     "longestGapSeen": 276
    }
   ]
  },
  "clusters": {
   "slices": 6,
   "spins": 30,
   "fairShare": 5,
   "sessions": 200000,
   "meanMostFrequentCount": 7.9815,
   "modeMostFrequentCount": 7,
   "pMostFrequentEquals": {
    "6": 0.08812,
    "7": 0.31035,
    "8": 0.306445,
    "9": 0.177315
   },
   "pMostFrequentAtLeast": {
    "7": 0.911555,
    "8": 0.601205,
    "9": 0.29476,
    "10": 0.117445,
    "11": 0.040645
   },
   "meanLeastFrequentCount": 2.3708,
   "pLeastFrequentAtMost": {
    "1": 0.170905,
    "2": 0.52888,
    "3": 0.90406
   },
   "perfectlyEvenSessions": 65,
   "pPerfectlyEven": 0.000325,
   "meanSlicesExactlyAtFairShare": 1.1497,
   "mostFrequentDistribution": [
    {
     "value": 5,
     "count": 65,
     "simulated": 0.000325,
     "exact": 0.000402
    },
    {
     "value": 6,
     "count": 17624,
     "simulated": 0.08812,
     "exact": 0.088029
    },
    {
     "value": 7,
     "count": 62070,
     "simulated": 0.31035,
     "exact": 0.310147
    },
    {
     "value": 8,
     "count": 61289,
     "simulated": 0.306445,
     "exact": 0.307222
    },
    {
     "value": 9,
     "count": 35463,
     "simulated": 0.177315,
     "exact": 0.176602
    },
    {
     "value": 10,
     "count": 15360,
     "simulated": 0.0768,
     "exact": 0.077151
    },
    {
     "value": 11,
     "count": 5735,
     "simulated": 0.028675,
     "exact": 0.028253
    },
    {
     "value": 12,
     "count": 1745,
     "simulated": 0.008725,
     "exact": 0.008954
    },
    {
     "value": 13,
     "count": 490,
     "simulated": 0.00245,
     "exact": 0.00248
    },
    {
     "value": 14,
     "count": 124,
     "simulated": 0.00062,
     "exact": 0.000602
    },
    {
     "value": 15,
     "count": 32,
     "simulated": 0.00016,
     "exact": 0.000128
    }
   ],
   "leastFrequentDistribution": [
    {
     "value": 0,
     "count": 5132,
     "simulated": 0.02566,
     "exact": 0.025198
    },
    {
     "value": 1,
     "count": 29049,
     "simulated": 0.145245,
     "exact": 0.146254
    },
    {
     "value": 2,
     "count": 71595,
     "simulated": 0.357975,
     "exact": 0.358268
    },
    {
     "value": 3,
     "count": 75036,
     "simulated": 0.37518,
     "exact": 0.374217
    },
    {
     "value": 4,
     "count": 19123,
     "simulated": 0.095615,
     "exact": 0.095662
    },
    {
     "value": 5,
     "count": 65,
     "simulated": 0.000325,
     "exact": 0.000402
    }
   ]
  }
 },
 "theory": {
  "backToBack": {
   "formula": "1 - (1 - 1/k)^(s - 1)",
   "note": "exactNoRepeat = (1 - 1/k)^(s - 1), the exact chance of a session with no back-to-back repeat. Where it is tiny the share is not certain: print the display value (for example >99.99%), never 100%.",
   "perSpin": [
    {
     "slices": 2,
     "exact": 0.5
    },
    {
     "slices": 6,
     "exact": 0.166667
    },
    {
     "slices": 12,
     "exact": 0.083333
    },
    {
     "slices": 25,
     "exact": 0.04
    }
   ],
   "atLeastOneInSession": [
    {
     "slices": 2,
     "spins": 10,
     "exact": 0.998047,
     "exactNoRepeat": 0.001953,
     "display": "99.80%"
    },
    {
     "slices": 2,
     "spins": 20,
     "exact": 0.999998,
     "exactNoRepeat": 0.000001907,
     "display": ">99.99%"
    },
    {
     "slices": 2,
     "spins": 50,
     "exact": 1,
     "exactNoRepeat": 1.776e-15,
     "display": ">99.99%"
    },
    {
     "slices": 6,
     "spins": 10,
     "exact": 0.806193,
     "exactNoRepeat": 0.1938,
     "display": "80.6%"
    },
    {
     "slices": 6,
     "spins": 20,
     "exact": 0.968699,
     "exactNoRepeat": 0.0313,
     "display": "96.87%"
    },
    {
     "slices": 6,
     "spins": 50,
     "exact": 0.999868,
     "exactNoRepeat": 0.0001319,
     "display": "99.99%"
    },
    {
     "slices": 12,
     "spins": 10,
     "exact": 0.543014,
     "exactNoRepeat": 0.457,
     "display": "54.3%"
    },
    {
     "slices": 12,
     "spins": 20,
     "exact": 0.808567,
     "exactNoRepeat": 0.1914,
     "display": "80.9%"
    },
    {
     "slices": 12,
     "spins": 50,
     "exact": 0.985928,
     "exactNoRepeat": 0.01407,
     "display": "98.59%"
    },
    {
     "slices": 25,
     "spins": 10,
     "exact": 0.307466,
     "exactNoRepeat": 0.6925,
     "display": "30.7%"
    },
    {
     "slices": 25,
     "spins": 20,
     "exact": 0.539581,
     "exactNoRepeat": 0.4604,
     "display": "54.0%"
    },
    {
     "slices": 25,
     "spins": 50,
     "exact": 0.864702,
     "exactNoRepeat": 0.1353,
     "display": "86.5%"
    }
   ]
  },
  "switches": {
   "formula": "Binomial(flips - 1, 1/2)",
   "flips": 100,
   "mean": 49.5,
   "sd": 4.9749,
   "p5": 41,
   "p95": 58,
   "p5toP95": {
    "low": 41,
    "high": 58,
    "pInside": 0.930099,
    "pBelow": 0.03495,
    "pAbove": 0.03495
   },
   "note": "Switches are discrete, so the 5th-to-95th percentile range holds more than 90%: quote p5toP95.pInside, not 'the middle 90%'.",
   "pAtLeast60": 0.021938,
   "pAtMost40": 0.03495,
   "pAtLeast55": 0.15744
  },
  "longestStreak": {
   "method": "exact Markov-chain recursion over the current run length",
   "note": "coin[n].simulated says whether that length was also simulated (20, 50 and 100 flips were; 200 flips is exact math only). p5toP95.pInside is the true share inside the 5th-to-95th percentile range, which is more than 90% because the distribution is discrete. A 'streak of v or more' is pAtLeast[v].",
   "coin": {
    "20": {
     "flips": 20,
     "simulated": true,
     "mean": 4.6591,
     "sd": 1.5762,
     "mode": 4,
     "pMode": 0.310017,
     "median": 4,
     "p5": 3,
     "p95": 8,
     "p5toP95": {
      "low": 3,
      "high": 8,
      "pInside": 0.953766,
      "pBelow": 0.020878,
      "pAbove": 0.025356
     },
     "pAtLeast": {
      "3": 0.979122,
      "4": 0.768419,
      "5": 0.458403,
      "6": 0.236877,
      "7": 0.115051,
      "8": 0.054382,
      "10": 0.011717
     },
     "pAtMost4": 0.541597,
     "distribution": [
      {
       "value": 2,
       "exact": 0.020876
      },
      {
       "value": 3,
       "exact": 0.210703
      },
      {
       "value": 4,
       "exact": 0.310017
      },
      {
       "value": 5,
       "exact": 0.221525
      },
      {
       "value": 6,
       "exact": 0.121826
      },
      {
       "value": 7,
       "exact": 0.060669
      },
      {
       "value": 8,
       "exact": 0.029026
      },
      {
       "value": 9,
       "exact": 0.013639
      },
      {
       "value": 10,
       "exact": 0.006346
      },
      {
       "value": 11,
       "exact": 0.00293
      },
      {
       "value": 12,
       "exact": 0.001343
      },
      {
       "value": 13,
       "exact": 0.00061
      },
      {
       "value": 14,
       "exact": 0.000275
      },
      {
       "value": 15,
       "exact": 0.000122
      }
     ]
    },
    "50": {
     "flips": 50,
     "simulated": true,
     "mean": 5.9783,
     "sd": 1.7315,
     "mode": 5,
     "pMode": 0.276815,
     "median": 6,
     "p5": 4,
     "p95": 9,
     "p5toP95": {
      "low": 4,
      "high": 9,
      "pInside": 0.940723,
      "pBelow": 0.018762,
      "pAbove": 0.040515
     },
     "pAtLeast": {
      "3": 0.999964,
      "4": 0.981238,
      "5": 0.820928,
      "6": 0.544113,
      "7": 0.30892,
      "8": 0.161966,
      "10": 0.040515
     },
     "pAtMost4": 0.179072,
     "distribution": [
      {
       "value": 3,
       "exact": 0.018726
      },
      {
       "value": 4,
       "exact": 0.16031
      },
      {
       "value": 5,
       "exact": 0.276815
      },
      {
       "value": 6,
       "exact": 0.235194
      },
      {
       "value": 7,
       "exact": 0.146953
      },
      {
       "value": 8,
       "exact": 0.080226
      },
      {
       "value": 9,
       "exact": 0.041225
      },
      {
       "value": 10,
       "exact": 0.020606
      },
      {
       "value": 11,
       "exact": 0.010168
      },
      {
       "value": 12,
       "exact": 0.004986
      },
      {
       "value": 13,
       "exact": 0.002437
      },
      {
       "value": 14,
       "exact": 0.001189
      },
      {
       "value": 15,
       "exact": 0.00058
      },
      {
       "value": 16,
       "exact": 0.000282
      },
      {
       "value": 17,
       "exact": 0.000137
      }
     ]
    },
    "100": {
     "flips": 100,
     "simulated": true,
     "mean": 6.9774,
     "sd": 1.7926,
     "mode": 6,
     "pMode": 0.264484,
     "median": 7,
     "p5": 5,
     "p95": 10,
     "p5toP95": {
      "low": 5,
      "high": 10,
      "pInside": 0.928022,
      "pBelow": 0.02831,
      "pAbove": 0.043668
     },
     "pAtLeast": {
      "3": 1,
      "4": 0.999715,
      "5": 0.97169,
      "6": 0.806821,
      "7": 0.542337,
      "8": 0.314767,
      "10": 0.086659
     },
     "pAtMost4": 0.02831,
     "distribution": [
      {
       "value": 3,
       "exact": 0.000285
      },
      {
       "value": 4,
       "exact": 0.028026
      },
      {
       "value": 5,
       "exact": 0.164869
      },
      {
       "value": 6,
       "exact": 0.264484
      },
      {
       "value": 7,
       "exact": 0.22757
      },
      {
       "value": 8,
       "exact": 0.146209
      },
      {
       "value": 9,
       "exact": 0.081899
      },
      {
       "value": 10,
       "exact": 0.042991
      },
      {
       "value": 11,
       "exact": 0.021878
      },
      {
       "value": 12,
       "exact": 0.010969
      },
      {
       "value": 13,
       "exact": 0.00546
      },
      {
       "value": 14,
       "exact": 0.002708
      },
      {
       "value": 15,
       "exact": 0.001341
      },
      {
       "value": 16,
       "exact": 0.000663
      },
      {
       "value": 17,
       "exact": 0.000328
      },
      {
       "value": 18,
       "exact": 0.000162
      }
     ]
    },
    "200": {
     "flips": 200,
     "simulated": false,
     "mean": 7.977,
     "sd": 1.8276,
     "mode": 7,
     "pMode": 0.257417,
     "median": 8,
     "p5": 6,
     "p95": 11,
     "p5toP95": {
      "low": 6,
      "high": 11,
      "pInside": 0.919864,
      "pBelow": 0.034687,
      "pAbove": 0.045448
     },
     "pAtLeast": {
      "3": 1,
      "4": 1,
      "5": 0.999292,
      "6": 0.965313,
      "7": 0.799285,
      "8": 0.541867,
      "10": 0.172396
     },
     "pAtMost4": 0.000708,
     "distribution": [
      {
       "value": 4,
       "exact": 0.000708
      },
      {
       "value": 5,
       "exact": 0.03398
      },
      {
       "value": 6,
       "exact": 0.166028
      },
      {
       "value": 7,
       "exact": 0.257417
      },
      {
       "value": 8,
       "exact": 0.223522
      },
      {
       "value": 9,
       "exact": 0.145949
      },
      {
       "value": 10,
       "exact": 0.082925
      },
      {
       "value": 11,
       "exact": 0.044023
      },
      {
       "value": 12,
       "exact": 0.022608
      },
      {
       "value": 13,
       "exact": 0.011422
      },
      {
       "value": 14,
       "exact": 0.005725
      },
      {
       "value": 15,
       "exact": 0.002858
      },
      {
       "value": 16,
       "exact": 0.001424
      },
      {
       "value": 17,
       "exact": 0.000709
      },
      {
       "value": 18,
       "exact": 0.000353
      },
      {
       "value": 19,
       "exact": 0.000175
      }
     ]
    }
   },
   "sixSlice": {
    "slices": 6,
    "spins": 50,
    "mean": 2.8977,
    "sd": 0.7638,
    "mode": 3,
    "pAtLeast": {
     "2": 0.999868,
     "3": 0.694165,
     "4": 0.168495,
     "5": 0.02935
    }
   }
  },
  "afterStreak": {
   "coinAfterThreeOrMoreInARow": 0.5,
   "sixSliceAfterTwoOrMoreInARow": 0.166667
  },
  "birthday": {
   "formula": "P(some name twice in s picks) = 1 - n!/((n-s)! n^s); P(one particular name twice) = 1 - (1-1/n)^s - (s/n)(1-1/n)^(s-1)",
   "note": "'Twice' means at least twice. noNameTwice = n!/((n-s)! n^s), the exact chance that every pick so far is a different name; it is above 0 until pick n + 1, so before that a repeat is never certain: print display (for example >99.99%), never 100%.",
   "names": 25,
   "firstOver50Percent": 7,
   "meanPickOfFirstRepeat": 6.953,
   "curve": [
    {
     "picks": 1,
     "someNameTwice": 0,
     "noNameTwice": 1,
     "display": "0%",
     "oneParticularNameTwice": 0
    },
    {
     "picks": 2,
     "someNameTwice": 0.04,
     "noNameTwice": 0.96,
     "display": "4.00%",
     "oneParticularNameTwice": 0.0016
    },
    {
     "picks": 3,
     "someNameTwice": 0.1168,
     "noNameTwice": 0.8832,
     "display": "11.7%",
     "oneParticularNameTwice": 0.004672
    },
    {
     "picks": 4,
     "someNameTwice": 0.222784,
     "noNameTwice": 0.7772,
     "display": "22.3%",
     "oneParticularNameTwice": 0.009096
    },
    {
     "picks": 5,
     "someNameTwice": 0.347139,
     "noNameTwice": 0.6529,
     "display": "34.7%",
     "oneParticularNameTwice": 0.014758
    },
    {
     "picks": 6,
     "someNameTwice": 0.477711,
     "noNameTwice": 0.5223,
     "display": "47.8%",
     "oneParticularNameTwice": 0.021553
    },
    {
     "picks": 7,
     "someNameTwice": 0.60306,
     "noNameTwice": 0.3969,
     "display": "60.3%",
     "oneParticularNameTwice": 0.02938
    },
    {
     "picks": 8,
     "someNameTwice": 0.714203,
     "noNameTwice": 0.2858,
     "display": "71.4%",
     "oneParticularNameTwice": 0.038147
    },
    {
     "picks": 9,
     "someNameTwice": 0.805658,
     "noNameTwice": 0.1943,
     "display": "80.6%",
     "oneParticularNameTwice": 0.047766
    },
    {
     "picks": 10,
     "someNameTwice": 0.875621,
     "noNameTwice": 0.1244,
     "display": "87.6%",
     "oneParticularNameTwice": 0.058154
    },
    {
     "picks": 11,
     "someNameTwice": 0.925373,
     "noNameTwice": 0.07463,
     "display": "92.54%",
     "oneParticularNameTwice": 0.069234
    },
    {
     "picks": 12,
     "someNameTwice": 0.958209,
     "noNameTwice": 0.04179,
     "display": "95.82%",
     "oneParticularNameTwice": 0.080935
    },
    {
     "picks": 13,
     "someNameTwice": 0.978269,
     "noNameTwice": 0.02173,
     "display": "97.83%",
     "oneParticularNameTwice": 0.09319
    },
    {
     "picks": 14,
     "someNameTwice": 0.989569,
     "noNameTwice": 0.01043,
     "display": "98.96%",
     "oneParticularNameTwice": 0.105934
    },
    {
     "picks": 15,
     "someNameTwice": 0.99541,
     "noNameTwice": 0.00459,
     "display": "99.54%",
     "oneParticularNameTwice": 0.11911
    },
    {
     "picks": 16,
     "someNameTwice": 0.998164,
     "noNameTwice": 0.001836,
     "display": "99.82%",
     "oneParticularNameTwice": 0.132662
    },
    {
     "picks": 17,
     "someNameTwice": 0.999339,
     "noNameTwice": 0.0006609,
     "display": "99.93%",
     "oneParticularNameTwice": 0.146539
    },
    {
     "picks": 18,
     "someNameTwice": 0.999789,
     "noNameTwice": 0.0002115,
     "display": "99.98%",
     "oneParticularNameTwice": 0.160694
    },
    {
     "picks": 19,
     "someNameTwice": 0.999941,
     "noNameTwice": 0.00005922,
     "display": ">99.99%",
     "oneParticularNameTwice": 0.175082
    },
    {
     "picks": 20,
     "someNameTwice": 0.999986,
     "noNameTwice": 0.00001421,
     "display": ">99.99%",
     "oneParticularNameTwice": 0.189662
    },
    {
     "picks": 21,
     "someNameTwice": 0.999997,
     "noNameTwice": 0.000002842,
     "display": ">99.99%",
     "oneParticularNameTwice": 0.204396
    },
    {
     "picks": 22,
     "someNameTwice": 1,
     "noNameTwice": 4.548e-7,
     "display": ">99.99%",
     "oneParticularNameTwice": 0.219247
    },
    {
     "picks": 23,
     "someNameTwice": 1,
     "noNameTwice": 5.458e-8,
     "display": ">99.99%",
     "oneParticularNameTwice": 0.234183
    },
    {
     "picks": 24,
     "someNameTwice": 1,
     "noNameTwice": 4.366e-9,
     "display": ">99.99%",
     "oneParticularNameTwice": 0.249174
    },
    {
     "picks": 25,
     "someNameTwice": 1,
     "noNameTwice": 1.746e-10,
     "display": ">99.99%",
     "oneParticularNameTwice": 0.26419
    }
   ],
   "otherClassSizes": [
    {
     "names": 10,
     "smallestPicksOver50": 5,
     "someNameTwice": 0.6976,
     "justBefore": 0.496
    },
    {
     "names": 20,
     "smallestPicksOver50": 6,
     "someNameTwice": 0.56395,
     "justBefore": 0.4186
    },
    {
     "names": 30,
     "smallestPicksOver50": 7,
     "someNameTwice": 0.530844,
     "justBefore": 0.413556
    }
   ]
  },
  "gaps": {
   "formula": "P(gap > m) = (1 - 1/k)^m; mean gap = k",
   "note": "median = smallest m with P(gap <= m) >= 50%. These are near ties (pAtMostMedian is just over 50% for 12 and 25 slices, and exactly 50% at 1 for 2 slices, so 'about half of all gaps are m spins or shorter' is the safe wording). The limits are what pOver1k, pOver2k and pOver3k approach as the wheel grows; (1 - 1/k)^k rises toward e^-1 from below, so every finite wheel is under them.",
   "limits": {
    "pOver1k": 0.367879,
    "pOver2k": 0.135335,
    "pOver3k": 0.049787
   },
   "wheels": [
    {
     "slices": 2,
     "mean": 2,
     "median": 1,
     "pAtMostMedian": 0.5,
     "pAtMostMedianMinus1": 0,
     "p90": 4,
     "pOver1k": 0.25,
     "pOver2k": 0.0625,
     "pOver3k": 0.015625
    },
    {
     "slices": 6,
     "mean": 6,
     "median": 4,
     "pAtMostMedian": 0.517747,
     "pAtMostMedianMinus1": 0.421296,
     "p90": 13,
     "pOver1k": 0.334898,
     "pOver2k": 0.112157,
     "pOver3k": 0.037561
    },
    {
     "slices": 12,
     "mean": 12,
     "median": 8,
     "pAtMostMedian": 0.50147,
     "pAtMostMedianMinus1": 0.456149,
     "p90": 27,
     "pOver1k": 0.351996,
     "pOver2k": 0.123901,
     "pOver3k": 0.043613
    },
    {
     "slices": 25,
     "mean": 25,
     "median": 17,
     "pAtMostMedian": 0.500413,
     "pAtMostMedianMinus1": 0.479597,
     "p90": 57,
     "pOver1k": 0.360397,
     "pOver2k": 0.129886,
     "pOver3k": 0.04681
    }
   ]
  },
  "clusters": {
   "method": "exact multinomial counts via exponential generating functions",
   "slices": 6,
   "spins": 30,
   "fairShare": 5,
   "meanMostFrequentCount": 7.9812,
   "sdMostFrequentCount": 1.2807,
   "modeMostFrequentCount": 7,
   "note": "The most frequent count is a near tie between 7 and 8 (see pMostFrequentEquals), so a simulated mode of 8 is normal; quote both and chart mostFrequentDistribution (exact).",
   "pMostFrequentEquals": {
    "6": 0.088029,
    "7": 0.310147,
    "8": 0.307222,
    "9": 0.176602
   },
   "mostFrequentDistribution": [
    {
     "value": 5,
     "exact": 0.000402
    },
    {
     "value": 6,
     "exact": 0.088029
    },
    {
     "value": 7,
     "exact": 0.310147
    },
    {
     "value": 8,
     "exact": 0.307222
    },
    {
     "value": 9,
     "exact": 0.176602
    },
    {
     "value": 10,
     "exact": 0.077151
    },
    {
     "value": 11,
     "exact": 0.028253
    },
    {
     "value": 12,
     "exact": 0.008954
    },
    {
     "value": 13,
     "exact": 0.00248
    },
    {
     "value": 14,
     "exact": 0.000602
    },
    {
     "value": 15,
     "exact": 0.000128
    }
   ],
   "pMostFrequentAtLeast": {
    "7": 0.911569,
    "8": 0.601422,
    "9": 0.294199,
    "10": 0.117598,
    "11": 0.040446
   },
   "meanLeastFrequentCount": 2.3701,
   "pLeastFrequentAtMost": {
    "1": 0.171452,
    "2": 0.52972,
    "3": 0.903936
   },
   "pPerfectlyEven": 0.000401823,
   "pOneSliceExactlyAtFairShare": 0.192108,
   "meanSlicesExactlyAtFairShare": 1.1526
  }
 },
 "checks": [
  {
   "name": "back-to-back repeat chance per spin, 2 slices",
   "simulated": 0.501306,
   "exact": 0.5,
   "tolerance": 0.003166,
   "pass": true
  },
  {
   "name": "at least one back-to-back repeat, 2 slices, 10 spins",
   "simulated": 0.99817,
   "exact": 0.998047,
   "tolerance": 0.000395,
   "pass": true
  },
  {
   "name": "back-to-back repeat chance per spin, 6 slices",
   "simulated": 0.166756,
   "exact": 0.166667,
   "tolerance": 0.001361,
   "pass": true
  },
  {
   "name": "at least one back-to-back repeat, 6 slices, 10 spins",
   "simulated": 0.807325,
   "exact": 0.806193,
   "tolerance": 0.003535,
   "pass": true
  },
  {
   "name": "at least one back-to-back repeat, 6 slices, 20 spins",
   "simulated": 0.96893,
   "exact": 0.968699,
   "tolerance": 0.001557,
   "pass": true
  },
  {
   "name": "at least one back-to-back repeat, 6 slices, 50 spins",
   "simulated": 0.999895,
   "exact": 0.999868,
   "tolerance": 0.000103,
   "pass": true
  },
  {
   "name": "back-to-back repeat chance per spin, 12 slices",
   "simulated": 0.083395,
   "exact": 0.083333,
   "tolerance": 0.000719,
   "pass": true
  },
  {
   "name": "at least one back-to-back repeat, 12 slices, 10 spins",
   "simulated": 0.543515,
   "exact": 0.543014,
   "tolerance": 0.004456,
   "pass": true
  },
  {
   "name": "at least one back-to-back repeat, 12 slices, 20 spins",
   "simulated": 0.808755,
   "exact": 0.808567,
   "tolerance": 0.003519,
   "pass": true
  },
  {
   "name": "at least one back-to-back repeat, 12 slices, 50 spins",
   "simulated": 0.986085,
   "exact": 0.985928,
   "tolerance": 0.001054,
   "pass": true
  },
  {
   "name": "back-to-back repeat chance per spin, 25 slices",
   "simulated": 0.039899,
   "exact": 0.04,
   "tolerance": 0.000377,
   "pass": true
  },
  {
   "name": "at least one back-to-back repeat, 25 slices, 10 spins",
   "simulated": 0.30671,
   "exact": 0.307466,
   "tolerance": 0.004127,
   "pass": true
  },
  {
   "name": "at least one back-to-back repeat, 25 slices, 20 spins",
   "simulated": 0.53992,
   "exact": 0.539581,
   "tolerance": 0.004458,
   "pass": true
  },
  {
   "name": "at least one back-to-back repeat, 25 slices, 50 spins",
   "simulated": 0.863665,
   "exact": 0.864702,
   "tolerance": 0.003059,
   "pass": true
  },
  {
   "name": "mean longest streak, 20 coin flips",
   "simulated": 4.65376,
   "exact": 4.659092,
   "tolerance": 0.016279,
   "pass": true
  },
  {
   "name": "P(longest streak >= 4), 20 coin flips",
   "simulated": 0.76738,
   "exact": 0.768419,
   "tolerance": 0.004357,
   "pass": true
  },
  {
   "name": "P(longest streak >= 5), 20 coin flips",
   "simulated": 0.457093,
   "exact": 0.458403,
   "tolerance": 0.005146,
   "pass": true
  },
  {
   "name": "P(longest streak >= 7), 20 coin flips",
   "simulated": 0.114193,
   "exact": 0.115051,
   "tolerance": 0.003295,
   "pass": true
  },
  {
   "name": "mean longest streak, 50 coin flips",
   "simulated": 5.982067,
   "exact": 5.978305,
   "tolerance": 0.017883,
   "pass": true
  },
  {
   "name": "P(longest streak >= 4), 50 coin flips",
   "simulated": 0.981187,
   "exact": 0.981238,
   "tolerance": 0.001401,
   "pass": true
  },
  {
   "name": "P(longest streak >= 5), 50 coin flips",
   "simulated": 0.82124,
   "exact": 0.820928,
   "tolerance": 0.00396,
   "pass": true
  },
  {
   "name": "P(longest streak >= 7), 50 coin flips",
   "simulated": 0.310347,
   "exact": 0.30892,
   "tolerance": 0.004772,
   "pass": true
  },
  {
   "name": "mean longest streak, 100 coin flips",
   "simulated": 6.978267,
   "exact": 6.977432,
   "tolerance": 0.018514,
   "pass": true
  },
  {
   "name": "P(longest streak >= 4), 100 coin flips",
   "simulated": 0.999713,
   "exact": 0.999715,
   "tolerance": 0.000174,
   "pass": true
  },
  {
   "name": "P(longest streak >= 5), 100 coin flips",
   "simulated": 0.972293,
   "exact": 0.97169,
   "tolerance": 0.001713,
   "pass": true
  },
  {
   "name": "P(longest streak >= 7), 100 coin flips",
   "simulated": 0.54184,
   "exact": 0.542337,
   "tolerance": 0.005145,
   "pass": true
  },
  {
   "name": "P(longest streak = 3), 100 coin flips",
   "simulated": 0.000287,
   "exact": 0.000285,
   "tolerance": 0.000174,
   "pass": true
  },
  {
   "name": "P(longest streak = 4), 100 coin flips",
   "simulated": 0.02742,
   "exact": 0.028026,
   "tolerance": 0.001705,
   "pass": true
  },
  {
   "name": "P(longest streak = 5), 100 coin flips",
   "simulated": 0.16372,
   "exact": 0.164869,
   "tolerance": 0.003832,
   "pass": true
  },
  {
   "name": "P(longest streak = 6), 100 coin flips",
   "simulated": 0.266733,
   "exact": 0.264484,
   "tolerance": 0.004555,
   "pass": true
  },
  {
   "name": "P(longest streak = 7), 100 coin flips",
   "simulated": 0.227533,
   "exact": 0.22757,
   "tolerance": 0.00433,
   "pass": true
  },
  {
   "name": "P(longest streak = 8), 100 coin flips",
   "simulated": 0.14572,
   "exact": 0.146209,
   "tolerance": 0.003649,
   "pass": true
  },
  {
   "name": "P(longest streak = 9), 100 coin flips",
   "simulated": 0.081993,
   "exact": 0.081899,
   "tolerance": 0.002832,
   "pass": true
  },
  {
   "name": "P(longest streak = 10), 100 coin flips",
   "simulated": 0.042853,
   "exact": 0.042991,
   "tolerance": 0.002095,
   "pass": true
  },
  {
   "name": "P(longest streak 5..10), 100 coin flips",
   "simulated": 0.928553,
   "exact": 0.928022,
   "tolerance": 0.002669,
   "pass": true
  },
  {
   "name": "P(longest streak >= 11), 100 coin flips",
   "simulated": 0.04374,
   "exact": 0.043668,
   "tolerance": 0.002111,
   "pass": true
  },
  {
   "name": "mean switches, 100 coin flips",
   "simulated": 49.50484,
   "exact": 49.5,
   "tolerance": 0.051381,
   "pass": true
  },
  {
   "name": "P(switches 41..58), 100 coin flips",
   "simulated": 0.931033,
   "exact": 0.930099,
   "tolerance": 0.002633,
   "pass": true
  },
  {
   "name": "P(switches <= 40), 100 coin flips",
   "simulated": 0.034813,
   "exact": 0.03495,
   "tolerance": 0.001897,
   "pass": true
  },
  {
   "name": "P(switches >= 60), 100 coin flips",
   "simulated": 0.021333,
   "exact": 0.021938,
   "tolerance": 0.001513,
   "pass": true
  },
  {
   "name": "P(switches >= 55), 100 coin flips",
   "simulated": 0.15782,
   "exact": 0.15744,
   "tolerance": 0.003762,
   "pass": true
  },
  {
   "name": "mean longest streak, 6 slices x 50 spins",
   "simulated": 2.90074,
   "exact": 2.897656,
   "tolerance": 0.009662,
   "pass": true
  },
  {
   "name": "P(longest streak >= 3), 6 slices x 50 spins",
   "simulated": 0.6957,
   "exact": 0.694165,
   "tolerance": 0.005828,
   "pass": true
  },
  {
   "name": "P(longest streak >= 4), 6 slices x 50 spins",
   "simulated": 0.16932,
   "exact": 0.168495,
   "tolerance": 0.004735,
   "pass": true
  },
  {
   "name": "P(longest streak >= 5), 6 slices x 50 spins",
   "simulated": 0.02997,
   "exact": 0.02935,
   "tolerance": 0.002135,
   "pass": true
  },
  {
   "name": "coin: same result again after 3 or more in a row",
   "simulated": 0.500117,
   "exact": 0.5,
   "tolerance": 0.001049,
   "pass": true
  },
  {
   "name": "6 slices: same result again after 2 or more in a row",
   "simulated": 0.167293,
   "exact": 0.166667,
   "tolerance": 0.001667,
   "pass": true
  },
  {
   "name": "some name twice within 5 picks of 25",
   "simulated": 0.34767,
   "exact": 0.347139,
   "tolerance": 0.004258,
   "pass": true
  },
  {
   "name": "some name twice within 6 picks of 25",
   "simulated": 0.478835,
   "exact": 0.477711,
   "tolerance": 0.004468,
   "pass": true
  },
  {
   "name": "some name twice within 7 picks of 25",
   "simulated": 0.604665,
   "exact": 0.60306,
   "tolerance": 0.004376,
   "pass": true
  },
  {
   "name": "some name twice within 8 picks of 25",
   "simulated": 0.7159,
   "exact": 0.714203,
   "tolerance": 0.004041,
   "pass": true
  },
  {
   "name": "some name twice within 10 picks of 25",
   "simulated": 0.877745,
   "exact": 0.875621,
   "tolerance": 0.002952,
   "pass": true
  },
  {
   "name": "one particular name twice within 10 picks of 25",
   "simulated": 0.057875,
   "exact": 0.058154,
   "tolerance": 0.002093,
   "pass": true
  },
  {
   "name": "some name twice within 15 picks of 25",
   "simulated": 0.99578,
   "exact": 0.99541,
   "tolerance": 0.000605,
   "pass": true
  },
  {
   "name": "one particular name twice within 15 picks of 25",
   "simulated": 0.118665,
   "exact": 0.11911,
   "tolerance": 0.002897,
   "pass": true
  },
  {
   "name": "one particular name twice within 20 picks of 25",
   "simulated": 0.1901,
   "exact": 0.189662,
   "tolerance": 0.003506,
   "pass": true
  },
  {
   "name": "mean pick number of the first repeat, 25 names",
   "simulated": 6.938685,
   "exact": 6.952979,
   "tolerance": 0.026244,
   "pass": true
  },
  {
   "name": "some name twice within 5 picks of 10",
   "simulated": 0.69848,
   "exact": 0.6976,
   "tolerance": 0.00581,
   "pass": true
  },
  {
   "name": "some name twice within 6 picks of 20",
   "simulated": 0.56309,
   "exact": 0.56395,
   "tolerance": 0.006273,
   "pass": true
  },
  {
   "name": "some name twice within 7 picks of 30",
   "simulated": 0.53204,
   "exact": 0.530844,
   "tolerance": 0.006313,
   "pass": true
  },
  {
   "name": "mean gap between appearances, 2 slices",
   "simulated": 2.00087,
   "exact": 2,
   "tolerance": 0.017889,
   "pass": true
  },
  {
   "name": "P(gap <= 1 spins, the exact median), 2 slices",
   "simulated": 0.50031,
   "exact": 0.5,
   "tolerance": 0.006325,
   "pass": true
  },
  {
   "name": "gap longer than 2 spins, 2 slices",
   "simulated": 0.25081,
   "exact": 0.25,
   "tolerance": 0.005477,
   "pass": true
  },
  {
   "name": "gap longer than 4 spins, 2 slices",
   "simulated": 0.06213,
   "exact": 0.0625,
   "tolerance": 0.003062,
   "pass": true
  },
  {
   "name": "gap longer than 6 spins, 2 slices",
   "simulated": 0.01555,
   "exact": 0.015625,
   "tolerance": 0.001569,
   "pass": true
  },
  {
   "name": "mean gap between appearances, 6 slices",
   "simulated": 5.99986,
   "exact": 6,
   "tolerance": 0.069282,
   "pass": true
  },
  {
   "name": "P(gap <= 4 spins, the exact median), 6 slices",
   "simulated": 0.51795,
   "exact": 0.517747,
   "tolerance": 0.006321,
   "pass": true
  },
  {
   "name": "gap longer than 6 spins, 6 slices",
   "simulated": 0.33487,
   "exact": 0.334898,
   "tolerance": 0.00597,
   "pass": true
  },
  {
   "name": "gap longer than 12 spins, 6 slices",
   "simulated": 0.11171,
   "exact": 0.112157,
   "tolerance": 0.003992,
   "pass": true
  },
  {
   "name": "gap longer than 18 spins, 6 slices",
   "simulated": 0.03869,
   "exact": 0.037561,
   "tolerance": 0.002405,
   "pass": true
  },
  {
   "name": "mean gap between appearances, 12 slices",
   "simulated": 12.00045,
   "exact": 12,
   "tolerance": 0.145327,
   "pass": true
  },
  {
   "name": "P(gap <= 8 spins, the exact median), 12 slices",
   "simulated": 0.50052,
   "exact": 0.50147,
   "tolerance": 0.006325,
   "pass": true
  },
  {
   "name": "gap longer than 12 spins, 12 slices",
   "simulated": 0.35331,
   "exact": 0.351996,
   "tolerance": 0.006041,
   "pass": true
  },
  {
   "name": "gap longer than 24 spins, 12 slices",
   "simulated": 0.12368,
   "exact": 0.123901,
   "tolerance": 0.004167,
   "pass": true
  },
  {
   "name": "gap longer than 36 spins, 12 slices",
   "simulated": 0.04294,
   "exact": 0.043613,
   "tolerance": 0.002583,
   "pass": true
  },
  {
   "name": "mean gap between appearances, 25 slices",
   "simulated": 24.9096,
   "exact": 25,
   "tolerance": 0.309839,
   "pass": true
  },
  {
   "name": "P(gap <= 17 spins, the exact median), 25 slices",
   "simulated": 0.50249,
   "exact": 0.500413,
   "tolerance": 0.006325,
   "pass": true
  },
  {
   "name": "gap longer than 25 spins, 25 slices",
   "simulated": 0.35888,
   "exact": 0.360397,
   "tolerance": 0.006073,
   "pass": true
  },
  {
   "name": "gap longer than 50 spins, 25 slices",
   "simulated": 0.12919,
   "exact": 0.129886,
   "tolerance": 0.004252,
   "pass": true
  },
  {
   "name": "gap longer than 75 spins, 25 slices",
   "simulated": 0.04703,
   "exact": 0.04681,
   "tolerance": 0.002672,
   "pass": true
  },
  {
   "name": "mean count of the most frequent result, 6 slices x 30 spins",
   "simulated": 7.981485,
   "exact": 7.981216,
   "tolerance": 0.011455,
   "pass": true
  },
  {
   "name": "P(most frequent result = 7), 6 slices x 30 spins",
   "simulated": 0.31035,
   "exact": 0.310147,
   "tolerance": 0.004137,
   "pass": true
  },
  {
   "name": "P(most frequent result = 8), 6 slices x 30 spins",
   "simulated": 0.306445,
   "exact": 0.307222,
   "tolerance": 0.004126,
   "pass": true
  },
  {
   "name": "P(most frequent result >= 8), 6 slices x 30 spins",
   "simulated": 0.601205,
   "exact": 0.601422,
   "tolerance": 0.004379,
   "pass": true
  },
  {
   "name": "P(most frequent result >= 9), 6 slices x 30 spins",
   "simulated": 0.29476,
   "exact": 0.294199,
   "tolerance": 0.004076,
   "pass": true
  },
  {
   "name": "P(most frequent result >= 10), 6 slices x 30 spins",
   "simulated": 0.117445,
   "exact": 0.117598,
   "tolerance": 0.002881,
   "pass": true
  },
  {
   "name": "mean count of the least frequent result, 6 slices x 30 spins",
   "simulated": 2.37082,
   "exact": 2.370096,
   "tolerance": 0.008345,
   "pass": true
  },
  {
   "name": "P(least frequent result <= 2), 6 slices x 30 spins",
   "simulated": 0.52888,
   "exact": 0.52972,
   "tolerance": 0.004464,
   "pass": true
  },
  {
   "name": "P(perfectly even 5-5-5-5-5-5), 6 slices x 30 spins",
   "simulated": 0.000325,
   "exact": 0.000402,
   "tolerance": 0.000179,
   "pass": true
  },
  {
   "name": "mean number of slices landing exactly 5 times",
   "simulated": 1.149695,
   "exact": 1.152649,
   "tolerance": 0.008712,
   "pass": true
  }
 ]
}
