{
 "slug": "how-many-spins-until-everyone-gets-a-turn",
 "generatedAt": "2026-10-03T20:26:59.018Z",
 "node": "v24.21.0",
 "randomJsSha256": "946e82a3c426d698779d3246c37c732f771db3873c93239ef3952aea39be1e2d",
 "totalSpins": 55137787,
 "rawDraws": 55137787,
 "checksTotal": 79,
 "checksPassed": 79,
 "runtimeSeconds": 94.4,
 "params": {
  "classSizes": [
   10,
   15,
   20,
   25,
   30,
   35
  ],
  "exactClassSizeRange": [
   5,
   40
  ],
  "cdfClassSizes": [
   15,
   25,
   35
  ],
  "cdfStep": 5,
  "runsPerClassSize": 80000,
  "lesson": {
   "classSize": 25,
   "calls": 10,
   "simulatedLessons": 300000
  },
  "week": {
   "classSize": 25,
   "lessons": 5,
   "callsPerLesson": 10,
   "calls": 50,
   "simulatedWeeks": 200000
  },
  "withoutReplacement": {
   "classSize": 25,
   "simulatedWeeks": 20000,
   "calls": 50,
   "simulatedRoundsPerClassSize": 2000
  },
  "histogramClassSize": 25,
  "histogramBucketWidth": 10,
  "histogramOpenEndedFrom": 190
 },
 "results": {
  "coverage": {
   "10": {
    "runs": 80000,
    "meanSpins": 29.263,
    "sdSpins": 11.175,
    "medianSpins": 27,
    "p90Spins": 44,
    "p99Spins": 66,
    "fastestRun": 10,
    "slowestRun": 138,
    "meanSpinsPerStudent": 2.9263,
    "meanSpinsForFirstHalf": 6.463,
    "meanMostPicksWhenEveryoneDone": 5.7158,
    "afterNSpins": {
     "meanNeverPicked": 3.4897,
     "shareNeverPicked": 0.34897,
     "meanPickedTwiceOrMore": 2.6366,
     "shareRunsWithSomeone3Plus": 0.6078,
     "meanMaxPicks": 2.7544,
     "neverPickedDistribution": {
      "0": 0.00042,
      "1": 0.016,
      "2": 0.13685,
      "3": 0.35139,
      "4": 0.34925,
      "5": 0.12846,
      "6": 0.0169,
      "7": 0.00072
     }
    }
   },
   "15": {
    "runs": 80000,
    "meanSpins": 49.711,
    "sdSpins": 17.501,
    "medianSpins": 46,
    "p90Spins": 72,
    "p99Spins": 107,
    "fastestRun": 16,
    "slowestRun": 203,
    "meanSpinsPerStudent": 3.3141,
    "meanSpinsForFirstHalf": 10.879,
    "meanMostPicksWhenEveryoneDone": 6.7324,
    "afterNSpins": {
     "meanNeverPicked": 5.3247,
     "shareNeverPicked": 0.35498,
     "meanPickedTwiceOrMore": 3.9585,
     "shareRunsWithSomeone3Plus": 0.78074,
     "meanMaxPicks": 3.0338,
     "neverPickedDistribution": {
      "1": 0.00046,
      "2": 0.0068,
      "3": 0.05284,
      "4": 0.18504,
      "5": 0.31589,
      "6": 0.27823,
      "7": 0.1267,
      "8": 0.03034,
      "9": 0.00352,
      "10": 0.00017,
      "11": 0.00001
     }
    }
   },
   "20": {
    "runs": 80000,
    "meanSpins": 71.939,
    "sdSpins": 23.697,
    "medianSpins": 68,
    "p90Spins": 103,
    "p99Spins": 148,
    "fastestRun": 22,
    "slowestRun": 276,
    "meanSpinsPerStudent": 3.597,
    "meanSpinsForFirstHalf": 13.381,
    "meanMostPicksWhenEveryoneDone": 7.473,
    "afterNSpins": {
     "meanNeverPicked": 7.1704,
     "shareNeverPicked": 0.35852,
     "meanPickedTwiceOrMore": 5.2819,
     "shareRunsWithSomeone3Plus": 0.87854,
     "meanMaxPicks": 3.2319,
     "neverPickedDistribution": {
      "2": 0.0003,
      "3": 0.00284,
      "4": 0.0215,
      "5": 0.0871,
      "6": 0.20363,
      "7": 0.28075,
      "8": 0.23603,
      "9": 0.12227,
      "10": 0.03804,
      "11": 0.00688,
      "12": 0.00064,
      "13": 0.00004
     }
    }
   },
   "25": {
    "runs": 80000,
    "meanSpins": 95.509,
    "sdSpins": 30.142,
    "medianSpins": 90,
    "p90Spins": 135,
    "p99Spins": 191,
    "fastestRun": 31,
    "slowestRun": 357,
    "meanSpinsPerStudent": 3.8204,
    "meanSpinsForFirstHalf": 17.823,
    "meanMostPicksWhenEveryoneDone": 8.0557,
    "afterNSpins": {
     "meanNeverPicked": 9.0091,
     "shareNeverPicked": 0.36036,
     "meanPickedTwiceOrMore": 6.5963,
     "shareRunsWithSomeone3Plus": 0.9341,
     "meanMaxPicks": 3.3816,
     "neverPickedDistribution": {
      "2": 0.00001,
      "3": 0.00013,
      "4": 0.00114,
      "5": 0.00983,
      "6": 0.03986,
      "7": 0.11254,
      "8": 0.20829,
      "9": 0.25327,
      "10": 0.20804,
      "11": 0.11414,
      "12": 0.04144,
      "13": 0.00954,
      "14": 0.00164,
      "15": 0.00014,
      "16": 0.00001
     }
    },
    "histogram": [
     {
      "label": "30-39",
      "from": 30,
      "to": 39,
      "simulatedShare": 0.00047,
      "exactShare": 0.00046
     },
     {
      "label": "40-49",
      "from": 40,
      "to": 49,
      "simulatedShare": 0.01202,
      "exactShare": 0.01128
     },
     {
      "label": "50-59",
      "from": 50,
      "to": 59,
      "simulatedShare": 0.05448,
      "exactShare": 0.0548
     },
     {
      "label": "60-69",
      "from": 60,
      "to": 69,
      "simulatedShare": 0.11492,
      "exactShare": 0.11588
     },
     {
      "label": "70-79",
      "from": 70,
      "to": 79,
      "simulatedShare": 0.15334,
      "exactShare": 0.1545
     },
     {
      "label": "80-89",
      "from": 80,
      "to": 89,
      "simulatedShare": 0.15749,
      "exactShare": 0.15768
     },
     {
      "label": "90-99",
      "from": 90,
      "to": 99,
      "simulatedShare": 0.137,
      "exactShare": 0.13713
     },
     {
      "label": "100-109",
      "from": 100,
      "to": 109,
      "simulatedShare": 0.10701,
      "exactShare": 0.1081
     },
     {
      "label": "110-119",
      "from": 110,
      "to": 119,
      "simulatedShare": 0.08151,
      "exactShare": 0.08015
     },
     {
      "label": "120-129",
      "from": 120,
      "to": 129,
      "simulatedShare": 0.05755,
      "exactShare": 0.05716
     },
     {
      "label": "130-139",
      "from": 130,
      "to": 139,
      "simulatedShare": 0.04052,
      "exactShare": 0.03977
     },
     {
      "label": "140-149",
      "from": 140,
      "to": 149,
      "simulatedShare": 0.02709,
      "exactShare": 0.02723
     },
     {
      "label": "150-159",
      "from": 150,
      "to": 159,
      "simulatedShare": 0.01903,
      "exactShare": 0.01845
     },
     {
      "label": "160-169",
      "from": 160,
      "to": 169,
      "simulatedShare": 0.01261,
      "exactShare": 0.01242
     },
     {
      "label": "170-179",
      "from": 170,
      "to": 179,
      "simulatedShare": 0.00882,
      "exactShare": 0.00833
     },
     {
      "label": "180-189",
      "from": 180,
      "to": 189,
      "simulatedShare": 0.00551,
      "exactShare": 0.00556
     },
     {
      "label": "190+",
      "from": 190,
      "to": null,
      "simulatedShare": 0.01061,
      "exactShare": 0.01111
     }
    ],
    "histogramNotes": {
     "belowFirstBucket": {
      "label": "under 30",
      "simulatedShare": 0,
      "exactShare": 2.8e-7
     },
     "exactSharesSumTo": 1.00001,
     "note": "Shares are rounded to 5 decimals, so the exact column sums to about 1, not exactly 1. The last bucket is open-ended."
    }
   },
   "30": {
    "runs": 80000,
    "meanSpins": 119.889,
    "sdSpins": 36.659,
    "medianSpins": 113,
    "p90Spins": 168,
    "p99Spins": 239,
    "fastestRun": 42,
    "slowestRun": 492,
    "meanSpinsPerStudent": 3.9963,
    "meanSpinsForFirstHalf": 20.318,
    "meanMostPicksWhenEveryoneDone": 8.5215,
    "afterNSpins": {
     "meanNeverPicked": 10.8473,
     "shareNeverPicked": 0.36158,
     "meanPickedTwiceOrMore": 7.9164,
     "shareRunsWithSomeone3Plus": 0.96384,
     "meanMaxPicks": 3.4977,
     "neverPickedDistribution": {
      "4": 0.00005,
      "5": 0.00052,
      "6": 0.0042,
      "7": 0.01809,
      "8": 0.06005,
      "9": 0.13146,
      "10": 0.20453,
      "11": 0.23219,
      "12": 0.1836,
      "13": 0.10695,
      "14": 0.04296,
      "15": 0.01235,
      "16": 0.0025,
      "17": 0.00044,
      "18": 0.00011
     }
    }
   },
   "35": {
    "runs": 80000,
    "meanSpins": 145.186,
    "sdSpins": 42.856,
    "medianSpins": 137,
    "p90Spins": 201,
    "p99Spins": 279,
    "fastestRun": 54,
    "slowestRun": 556,
    "meanSpinsPerStudent": 4.1482,
    "meanSpinsForFirstHalf": 24.751,
    "meanMostPicksWhenEveryoneDone": 8.9216,
    "afterNSpins": {
     "meanNeverPicked": 12.6835,
     "shareNeverPicked": 0.36239,
     "meanPickedTwiceOrMore": 9.2432,
     "shareRunsWithSomeone3Plus": 0.97976,
     "meanMaxPicks": 3.5869,
     "neverPickedDistribution": {
      "5": 0.00001,
      "6": 0.00025,
      "7": 0.00149,
      "8": 0.00775,
      "9": 0.03022,
      "10": 0.07684,
      "11": 0.14319,
      "12": 0.20359,
      "13": 0.21056,
      "14": 0.16592,
      "15": 0.09675,
      "16": 0.04415,
      "17": 0.01482,
      "18": 0.00358,
      "19": 0.00075,
      "20": 0.00011,
      "21": 0.00001
     }
    }
   }
  },
  "lesson": {
   "lessons": 300000,
   "shareOfStudentsNeverCalled": 0.66479,
   "meanStudentsNeverCalled": 16.61972,
   "meanStudentsCalled": 8.38028,
   "meanStudentsCalledTwiceOrMore": 1.45354,
   "shareLessonsWithARepeat": 0.87552,
   "shareLessonsWithSomeone3Plus": 0.15077,
   "shareLessonsFirstStudentNeverCalled": 0.66353
  },
  "week": {
   "weeks": 200000,
   "meanStudentsNeverCalled": 3.24736,
   "shareOfStudentsNeverCalled": 0.12989,
   "shareWeeksWithSomeoneNeverCalled": 0.98506,
   "meanStudentsCalledAtMostOnce": 10.00826,
   "meanStudentsCalled4PlusTimes": 3.47768,
   "meanMostCallsForOneStudent": 5.20897,
   "mostCallsDistribution": {
    "3": 0.00326,
    "4": 0.21835,
    "5": 0.45583,
    "6": 0.2346,
    "7": 0.06881,
    "8": 0.01565,
    "9": 0.00294,
    "10": 0.00049,
    "11": 0.00007,
    "12": 0.00001
   }
  },
  "withoutReplacement": {
   "weeks": 20000,
   "weeksWhereCallsWereNotExactlyEqual": 0,
   "callsPerStudentEveryWeek": 2,
   "spinsPerWeek": 48,
   "longestGapBetweenTurnsSeen": 49,
   "meanLongestGapInAWeek": 44.288,
   "roundsChecked": 12000,
   "roundsWhereSomeoneWasMissedOrRepeated": 0,
   "roundsWithOtherThanNMinus1Spins": 0,
   "lastNameLeftShareRangeClassOf25": [
    0.031,
    0.0505
   ]
  },
  "notes": [
   "fastestRun and slowestRun come from this one simulation run (80,000 simulated classes per size); they change on every run. Quote them as 'in our simulated classes', never as fixed values.",
   "All spins are simulated with Wheel Cue's random.js; none come from people using the site."
  ]
 },
 "theory": {
  "notes": [
   "meanSpins = n * H_n (H_n the n-th harmonic number); sdSpins from Var = n^2 * sum(1/i^2) - n * H_n.",
   "Percentiles are the smallest t with P(T <= t) >= p, from the exact Markov chain on the number of distinct students picked.",
   "expectedNeverPicked after n spins = n * (1 - 1/n)^n.",
   "Probabilities about how often one student is picked use m!/n^m * [x^m] (sum_{j<=c} x^j/j!)^n.",
   "Most picks when everyone is done (meanMostPicksWhenEveryoneDone) is computed numerically, not in closed form: the integral of n e^-v [P(1 <= Poisson(v) <= c)]^(n-1) dv by Simpson's rule (step 0.001). Call it 'computed', not 'exact'.",
   "With replacement every call is a spin. With winners removed, a round is n calls but n - 1 spins: Wheel Cue will not spin fewer than two entries, so the last name left goes last without a spin.",
   "meanSpinsForFirstHalf uses ceil(n/2) students (firstHalfStudents), so it zigzags between odd and even n; quote it for one class size only. For a chart against class size use meanSpinsForFloorHalf (floor(n/2) students).",
   "week.pNextTurnMoreThan2nCallsAway = (1 - 1/n)^(2n): after any one turn, the chance that the same student's next turn is more than 2n calls later. It is per wait, not the chance of such a wait at least once. With winners removed the gap is never more than 2n - 1 calls.",
   "Site behavior: on /tools/random-student-picker/ the option 'Take each student off the wheel once picked' is ON by default; the with-replacement results apply when it is turned off, or on tools where removal is off by default (e.g. the name picker). A round in progress lives in the open tab: Reset restores the list as it was before the round, but after a reload it restores the page's example list, so carrying rounds across lessons means saving the list (Save) and loading the full class list for the next round."
  ],
  "coverage": {
   "10": {
    "meanSpins": 29.29,
    "sdSpins": 11.211,
    "medianSpins": 27,
    "p90Spins": 44,
    "p99Spins": 66,
    "meanSpinsPerStudent": 2.929,
    "firstHalfStudents": 5,
    "meanSpinsForFirstHalf": 6.456,
    "meanSpinsForLastStudent": 10,
    "repeatCallsBeforeEveryone": 19.29,
    "meanMostPicksWhenEveryoneDone": 5.7179,
    "pEveryonePickedWithin2nSpins": 0.21474,
    "pEveryonePickedWithin3nSpins": 0.62914,
    "afterNSpins": {
     "expectedNeverPicked": 3.4868,
     "shareNeverPicked": 0.34868,
     "expectedPickedTwiceOrMore": 2.639,
     "pSomeonePicked3Plus": 0.60419,
     "expectedMaxPicks": 2.7487
    }
   },
   "15": {
    "meanSpins": 49.773,
    "sdSpins": 17.488,
    "medianSpins": 46,
    "p90Spins": 73,
    "p99Spins": 106,
    "meanSpinsPerStudent": 3.3182,
    "firstHalfStudents": 8,
    "meanSpinsForFirstHalf": 10.881,
    "meanSpinsForLastStudent": 15,
    "repeatCallsBeforeEveryone": 34.773,
    "meanMostPicksWhenEveryoneDone": 6.7381,
    "pEveryonePickedWithin2nSpins": 0.08784,
    "pEveryonePickedWithin3nSpins": 0.47645,
    "afterNSpins": {
     "expectedNeverPicked": 5.329,
     "shareNeverPicked": 0.35526,
     "expectedPickedTwiceOrMore": 3.9614,
     "pSomeonePicked3Plus": 0.78069,
     "expectedMaxPicks": 3.0331
    }
   },
   "20": {
    "meanSpins": 71.955,
    "sdSpins": 23.801,
    "medianSpins": 67,
    "p90Spins": 103,
    "p99Spins": 149,
    "meanSpinsPerStudent": 3.5977,
    "firstHalfStudents": 10,
    "meanSpinsForFirstHalf": 13.375,
    "meanSpinsForLastStudent": 20,
    "repeatCallsBeforeEveryone": 51.955,
    "meanMostPicksWhenEveryoneDone": 7.4716,
    "pEveryonePickedWithin2nSpins": 0.03589,
    "pEveryonePickedWithin3nSpins": 0.36061,
    "afterNSpins": {
     "expectedNeverPicked": 7.1697,
     "shareNeverPicked": 0.35849,
     "expectedPickedTwiceOrMore": 5.2832,
     "pSomeonePicked3Plus": 0.87865,
     "expectedMaxPicks": 3.2312
    }
   },
   "25": {
    "meanSpins": 95.399,
    "sdSpins": 30.136,
    "medianSpins": 90,
    "p90Spins": 135,
    "p99Spins": 192,
    "meanSpinsPerStudent": 3.816,
    "firstHalfStudents": 13,
    "meanSpinsForFirstHalf": 17.819,
    "meanSpinsForLastStudent": 25,
    "repeatCallsBeforeEveryone": 70.399,
    "meanMostPicksWhenEveryoneDone": 8.045,
    "pEveryonePickedWithin2nSpins": 0.01466,
    "pEveryonePickedWithin3nSpins": 0.27286,
    "afterNSpins": {
     "expectedNeverPicked": 9.0099,
     "shareNeverPicked": 0.3604,
     "expectedPickedTwiceOrMore": 6.6048,
     "pSomeonePicked3Plus": 0.93289,
     "expectedMaxPicks": 3.3779
    }
   },
   "30": {
    "meanSpins": 119.85,
    "sdSpins": 36.484,
    "medianSpins": 113,
    "p90Spins": 168,
    "p99Spins": 237,
    "meanSpinsPerStudent": 3.995,
    "firstHalfStudents": 15,
    "meanSpinsForFirstHalf": 20.303,
    "meanSpinsForLastStudent": 30,
    "repeatCallsBeforeEveryone": 89.85,
    "meanMostPicksWhenEveryoneDone": 8.5159,
    "pEveryonePickedWithin2nSpins": 0.00598,
    "pEveryonePickedWithin3nSpins": 0.20645,
    "afterNSpins": {
     "expectedNeverPicked": 10.8498,
     "shareNeverPicked": 0.36166,
     "expectedPickedTwiceOrMore": 7.9262,
     "pSomeonePicked3Plus": 0.9629,
     "expectedMaxPicks": 3.493
    }
   },
   "35": {
    "meanSpins": 145.137,
    "sdSpins": 42.842,
    "medianSpins": 137,
    "p90Spins": 201,
    "p99Spins": 282,
    "meanSpinsPerStudent": 4.1468,
    "firstHalfStudents": 18,
    "meanSpinsForFirstHalf": 24.753,
    "meanSpinsForLastStudent": 35,
    "repeatCallsBeforeEveryone": 110.137,
    "meanMostPicksWhenEveryoneDone": 8.9154,
    "pEveryonePickedWithin2nSpins": 0.00244,
    "pEveryonePickedWithin3nSpins": 0.15619,
    "afterNSpins": {
     "expectedNeverPicked": 12.6896,
     "shareNeverPicked": 0.36256,
     "expectedPickedTwiceOrMore": 9.2475,
     "pSomeonePicked3Plus": 0.97949,
     "expectedMaxPicks": 3.5879
    }
   }
  },
  "byClassSize": [
   {
    "classSize": 5,
    "meanSpins": 11.417,
    "sdSpins": 5.017,
    "medianSpins": 10,
    "p90Spins": 18,
    "p99Spins": 28,
    "meanSpinsPerStudent": 2.2833,
    "callsPerRoundIfWinnersRemoved": 5,
    "spinsPerRoundIfWinnersRemoved": 4,
    "extraCallsVsOneRound": 6.417,
    "firstHalfStudents": 3,
    "meanSpinsForFirstHalf": 3.917,
    "floorHalfStudents": 2,
    "meanSpinsForFloorHalf": 2.25,
    "meanSpinsForLastStudent": 5,
    "afterNSpins": {
     "expectedNeverPicked": 1.6384,
     "shareNeverPicked": 0.32768,
     "expectedPickedTwiceOrMore": 1.3136,
     "pSomeonePicked3Plus": 0.2896,
     "expectedMaxPicks": 2.2864
    }
   },
   {
    "classSize": 6,
    "meanSpins": 14.7,
    "sdSpins": 6.244,
    "medianSpins": 13,
    "p90Spins": 23,
    "p99Spins": 36,
    "meanSpinsPerStudent": 2.45,
    "callsPerRoundIfWinnersRemoved": 6,
    "spinsPerRoundIfWinnersRemoved": 5,
    "extraCallsVsOneRound": 8.7,
    "firstHalfStudents": 3,
    "meanSpinsForFirstHalf": 3.7,
    "floorHalfStudents": 3,
    "meanSpinsForFloorHalf": 3.7,
    "meanSpinsForLastStudent": 6,
    "afterNSpins": {
     "expectedNeverPicked": 2.0094,
     "shareNeverPicked": 0.3349,
     "expectedPickedTwiceOrMore": 1.5793,
     "pSomeonePicked3Plus": 0.36728,
     "expectedMaxPicks": 2.4082
    }
   },
   {
    "classSize": 7,
    "meanSpins": 18.15,
    "sdSpins": 7.479,
    "medianSpins": 17,
    "p90Spins": 28,
    "p99Spins": 43,
    "meanSpinsPerStudent": 2.5929,
    "callsPerRoundIfWinnersRemoved": 7,
    "spinsPerRoundIfWinnersRemoved": 6,
    "extraCallsVsOneRound": 11.15,
    "firstHalfStudents": 4,
    "meanSpinsForFirstHalf": 5.317,
    "floorHalfStudents": 3,
    "meanSpinsForFloorHalf": 3.567,
    "meanSpinsForLastStudent": 7,
    "afterNSpins": {
     "expectedNeverPicked": 2.3794,
     "shareNeverPicked": 0.33992,
     "expectedPickedTwiceOrMore": 1.8446,
     "pSomeonePicked3Plus": 0.43697,
     "expectedMaxPicks": 2.5091
    }
   },
   {
    "classSize": 8,
    "meanSpins": 21.743,
    "sdSpins": 8.718,
    "medianSpins": 20,
    "p90Spins": 33,
    "p99Spins": 51,
    "meanSpinsPerStudent": 2.7179,
    "callsPerRoundIfWinnersRemoved": 8,
    "spinsPerRoundIfWinnersRemoved": 7,
    "extraCallsVsOneRound": 13.743,
    "firstHalfStudents": 4,
    "meanSpinsForFirstHalf": 5.076,
    "floorHalfStudents": 4,
    "meanSpinsForFloorHalf": 5.076,
    "meanSpinsForLastStudent": 8,
    "afterNSpins": {
     "expectedNeverPicked": 2.7489,
     "shareNeverPicked": 0.34361,
     "expectedPickedTwiceOrMore": 2.1096,
     "pSomeonePicked3Plus": 0.49922,
     "expectedMaxPicks": 2.5972
    }
   },
   {
    "classSize": 9,
    "meanSpins": 25.461,
    "sdSpins": 9.963,
    "medianSpins": 23,
    "p90Spins": 38,
    "p99Spins": 58,
    "meanSpinsPerStudent": 2.829,
    "callsPerRoundIfWinnersRemoved": 9,
    "spinsPerRoundIfWinnersRemoved": 8,
    "extraCallsVsOneRound": 16.461,
    "firstHalfStudents": 5,
    "meanSpinsForFirstHalf": 6.711,
    "floorHalfStudents": 4,
    "meanSpinsForFloorHalf": 4.911,
    "meanSpinsForLastStudent": 9,
    "afterNSpins": {
     "expectedNeverPicked": 3.118,
     "shareNeverPicked": 0.34644,
     "expectedPickedTwiceOrMore": 2.3743,
     "pSomeonePicked3Plus": 0.55474,
     "expectedMaxPicks": 2.6765
    }
   },
   {
    "classSize": 10,
    "meanSpins": 29.29,
    "sdSpins": 11.211,
    "medianSpins": 27,
    "p90Spins": 44,
    "p99Spins": 66,
    "meanSpinsPerStudent": 2.929,
    "callsPerRoundIfWinnersRemoved": 10,
    "spinsPerRoundIfWinnersRemoved": 9,
    "extraCallsVsOneRound": 19.29,
    "firstHalfStudents": 5,
    "meanSpinsForFirstHalf": 6.456,
    "floorHalfStudents": 5,
    "meanSpinsForFloorHalf": 6.456,
    "meanSpinsForLastStudent": 10,
    "afterNSpins": {
     "expectedNeverPicked": 3.4868,
     "shareNeverPicked": 0.34868,
     "expectedPickedTwiceOrMore": 2.639,
     "pSomeonePicked3Plus": 0.60419,
     "expectedMaxPicks": 2.7487
    }
   },
   {
    "classSize": 11,
    "meanSpins": 33.219,
    "sdSpins": 12.462,
    "medianSpins": 31,
    "p90Spins": 50,
    "p99Spins": 74,
    "meanSpinsPerStudent": 3.0199,
    "callsPerRoundIfWinnersRemoved": 11,
    "spinsPerRoundIfWinnersRemoved": 10,
    "extraCallsVsOneRound": 22.219,
    "firstHalfStudents": 6,
    "meanSpinsForFirstHalf": 8.102,
    "floorHalfStudents": 5,
    "meanSpinsForFloorHalf": 6.269,
    "meanSpinsForLastStudent": 11,
    "afterNSpins": {
     "expectedNeverPicked": 3.8554,
     "shareNeverPicked": 0.35049,
     "expectedPickedTwiceOrMore": 2.9036,
     "pSomeonePicked3Plus": 0.64821,
     "expectedMaxPicks": 2.8149
    }
   },
   {
    "classSize": 12,
    "meanSpins": 37.239,
    "sdSpins": 13.716,
    "medianSpins": 35,
    "p90Spins": 55,
    "p99Spins": 82,
    "meanSpinsPerStudent": 3.1032,
    "callsPerRoundIfWinnersRemoved": 12,
    "spinsPerRoundIfWinnersRemoved": 11,
    "extraCallsVsOneRound": 25.239,
    "firstHalfStudents": 6,
    "meanSpinsForFirstHalf": 7.839,
    "floorHalfStudents": 6,
    "meanSpinsForFloorHalf": 7.839,
    "meanSpinsForLastStudent": 12,
    "afterNSpins": {
     "expectedNeverPicked": 4.2239,
     "shareNeverPicked": 0.352,
     "expectedPickedTwiceOrMore": 3.1681,
     "pSomeonePicked3Plus": 0.68737,
     "expectedMaxPicks": 2.876
    }
   },
   {
    "classSize": 13,
    "meanSpins": 41.342,
    "sdSpins": 14.971,
    "medianSpins": 38,
    "p90Spins": 61,
    "p99Spins": 90,
    "meanSpinsPerStudent": 3.1801,
    "callsPerRoundIfWinnersRemoved": 13,
    "spinsPerRoundIfWinnersRemoved": 12,
    "extraCallsVsOneRound": 28.342,
    "firstHalfStudents": 7,
    "meanSpinsForFirstHalf": 9.492,
    "floorHalfStudents": 6,
    "meanSpinsForFloorHalf": 7.635,
    "meanSpinsForLastStudent": 13,
    "afterNSpins": {
     "expectedNeverPicked": 4.5924,
     "shareNeverPicked": 0.35326,
     "expectedPickedTwiceOrMore": 3.4326,
     "pSomeonePicked3Plus": 0.7222,
     "expectedMaxPicks": 2.9324
    }
   },
   {
    "classSize": 14,
    "meanSpins": 45.522,
    "sdSpins": 16.229,
    "medianSpins": 42,
    "p90Spins": 67,
    "p99Spins": 98,
    "meanSpinsPerStudent": 3.2516,
    "callsPerRoundIfWinnersRemoved": 14,
    "spinsPerRoundIfWinnersRemoved": 13,
    "extraCallsVsOneRound": 31.522,
    "firstHalfStudents": 7,
    "meanSpinsForFirstHalf": 9.222,
    "floorHalfStudents": 7,
    "meanSpinsForFloorHalf": 9.222,
    "meanSpinsForLastStudent": 14,
    "afterNSpins": {
     "expectedNeverPicked": 4.9607,
     "shareNeverPicked": 0.35434,
     "expectedPickedTwiceOrMore": 3.697,
     "pSomeonePicked3Plus": 0.75316,
     "expectedMaxPicks": 2.9846
    }
   },
   {
    "classSize": 15,
    "meanSpins": 49.773,
    "sdSpins": 17.488,
    "medianSpins": 46,
    "p90Spins": 73,
    "p99Spins": 106,
    "meanSpinsPerStudent": 3.3182,
    "callsPerRoundIfWinnersRemoved": 15,
    "spinsPerRoundIfWinnersRemoved": 14,
    "extraCallsVsOneRound": 34.773,
    "firstHalfStudents": 8,
    "meanSpinsForFirstHalf": 10.881,
    "floorHalfStudents": 7,
    "meanSpinsForFloorHalf": 9.006,
    "meanSpinsForLastStudent": 15,
    "afterNSpins": {
     "expectedNeverPicked": 5.329,
     "shareNeverPicked": 0.35526,
     "expectedPickedTwiceOrMore": 3.9614,
     "pSomeonePicked3Plus": 0.78069,
     "expectedMaxPicks": 3.0331
    }
   },
   {
    "classSize": 16,
    "meanSpins": 54.092,
    "sdSpins": 18.748,
    "medianSpins": 51,
    "p90Spins": 79,
    "p99Spins": 115,
    "meanSpinsPerStudent": 3.3807,
    "callsPerRoundIfWinnersRemoved": 16,
    "spinsPerRoundIfWinnersRemoved": 15,
    "extraCallsVsOneRound": 38.092,
    "firstHalfStudents": 8,
    "meanSpinsForFirstHalf": 10.606,
    "floorHalfStudents": 8,
    "meanSpinsForFloorHalf": 10.606,
    "meanSpinsForLastStudent": 16,
    "afterNSpins": {
     "expectedNeverPicked": 5.6972,
     "shareNeverPicked": 0.35607,
     "expectedPickedTwiceOrMore": 4.2258,
     "pSomeonePicked3Plus": 0.80516,
     "expectedMaxPicks": 3.0782
    }
   },
   {
    "classSize": 17,
    "meanSpins": 58.472,
    "sdSpins": 20.01,
    "medianSpins": 55,
    "p90Spins": 85,
    "p99Spins": 123,
    "meanSpinsPerStudent": 3.4396,
    "callsPerRoundIfWinnersRemoved": 17,
    "spinsPerRoundIfWinnersRemoved": 16,
    "extraCallsVsOneRound": 41.472,
    "firstHalfStudents": 9,
    "meanSpinsForFirstHalf": 12.269,
    "floorHalfStudents": 8,
    "meanSpinsForFloorHalf": 10.38,
    "meanSpinsForLastStudent": 17,
    "afterNSpins": {
     "expectedNeverPicked": 6.0654,
     "shareNeverPicked": 0.35679,
     "expectedPickedTwiceOrMore": 4.4902,
     "pSomeonePicked3Plus": 0.8269,
     "expectedMaxPicks": 3.1203
    }
   },
   {
    "classSize": 18,
    "meanSpins": 62.912,
    "sdSpins": 21.273,
    "medianSpins": 59,
    "p90Spins": 91,
    "p99Spins": 132,
    "meanSpinsPerStudent": 3.4951,
    "callsPerRoundIfWinnersRemoved": 18,
    "spinsPerRoundIfWinnersRemoved": 17,
    "extraCallsVsOneRound": 44.912,
    "firstHalfStudents": 9,
    "meanSpinsForFirstHalf": 11.991,
    "floorHalfStudents": 9,
    "meanSpinsForFloorHalf": 11.991,
    "meanSpinsForLastStudent": 18,
    "afterNSpins": {
     "expectedNeverPicked": 6.4335,
     "shareNeverPicked": 0.35742,
     "expectedPickedTwiceOrMore": 4.7545,
     "pSomeonePicked3Plus": 0.84622,
     "expectedMaxPicks": 3.1597
    }
   },
   {
    "classSize": 19,
    "meanSpins": 67.407,
    "sdSpins": 22.537,
    "medianSpins": 63,
    "p90Spins": 97,
    "p99Spins": 140,
    "meanSpinsPerStudent": 3.5477,
    "callsPerRoundIfWinnersRemoved": 19,
    "spinsPerRoundIfWinnersRemoved": 18,
    "extraCallsVsOneRound": 48.407,
    "firstHalfStudents": 10,
    "meanSpinsForFirstHalf": 13.657,
    "floorHalfStudents": 9,
    "meanSpinsForFloorHalf": 11.757,
    "meanSpinsForLastStudent": 19,
    "afterNSpins": {
     "expectedNeverPicked": 6.8016,
     "shareNeverPicked": 0.35798,
     "expectedPickedTwiceOrMore": 5.0189,
     "pSomeonePicked3Plus": 0.86339,
     "expectedMaxPicks": 3.1966
    }
   },
   {
    "classSize": 20,
    "meanSpins": 71.955,
    "sdSpins": 23.801,
    "medianSpins": 67,
    "p90Spins": 103,
    "p99Spins": 149,
    "meanSpinsPerStudent": 3.5977,
    "callsPerRoundIfWinnersRemoved": 20,
    "spinsPerRoundIfWinnersRemoved": 19,
    "extraCallsVsOneRound": 51.955,
    "firstHalfStudents": 10,
    "meanSpinsForFirstHalf": 13.375,
    "floorHalfStudents": 10,
    "meanSpinsForFloorHalf": 13.375,
    "meanSpinsForLastStudent": 20,
    "afterNSpins": {
     "expectedNeverPicked": 7.1697,
     "shareNeverPicked": 0.35849,
     "expectedPickedTwiceOrMore": 5.2832,
     "pSomeonePicked3Plus": 0.87865,
     "expectedMaxPicks": 3.2312
    }
   },
   {
    "classSize": 21,
    "meanSpins": 76.553,
    "sdSpins": 25.067,
    "medianSpins": 72,
    "p90Spins": 109,
    "p99Spins": 157,
    "meanSpinsPerStudent": 3.6454,
    "callsPerRoundIfWinnersRemoved": 21,
    "spinsPerRoundIfWinnersRemoved": 20,
    "extraCallsVsOneRound": 55.553,
    "firstHalfStudents": 11,
    "meanSpinsForFirstHalf": 15.044,
    "floorHalfStudents": 10,
    "meanSpinsForFloorHalf": 13.135,
    "meanSpinsForLastStudent": 21,
    "afterNSpins": {
     "expectedNeverPicked": 7.5378,
     "shareNeverPicked": 0.35894,
     "expectedPickedTwiceOrMore": 5.5475,
     "pSomeonePicked3Plus": 0.8922,
     "expectedMaxPicks": 3.2639
    }
   },
   {
    "classSize": 22,
    "meanSpins": 81.198,
    "sdSpins": 26.333,
    "medianSpins": 76,
    "p90Spins": 116,
    "p99Spins": 166,
    "meanSpinsPerStudent": 3.6908,
    "callsPerRoundIfWinnersRemoved": 22,
    "spinsPerRoundIfWinnersRemoved": 21,
    "extraCallsVsOneRound": 59.198,
    "firstHalfStudents": 11,
    "meanSpinsForFirstHalf": 14.761,
    "floorHalfStudents": 11,
    "meanSpinsForFloorHalf": 14.761,
    "meanSpinsForLastStudent": 22,
    "afterNSpins": {
     "expectedNeverPicked": 7.9058,
     "shareNeverPicked": 0.35936,
     "expectedPickedTwiceOrMore": 5.8118,
     "pSomeonePicked3Plus": 0.90425,
     "expectedMaxPicks": 3.2947
    }
   },
   {
    "classSize": 23,
    "meanSpins": 85.889,
    "sdSpins": 27.6,
    "medianSpins": 81,
    "p90Spins": 122,
    "p99Spins": 175,
    "meanSpinsPerStudent": 3.7343,
    "callsPerRoundIfWinnersRemoved": 23,
    "spinsPerRoundIfWinnersRemoved": 22,
    "extraCallsVsOneRound": 62.889,
    "firstHalfStudents": 12,
    "meanSpinsForFirstHalf": 16.432,
    "floorHalfStudents": 11,
    "meanSpinsForFloorHalf": 14.515,
    "meanSpinsForLastStudent": 23,
    "afterNSpins": {
     "expectedNeverPicked": 8.2739,
     "shareNeverPicked": 0.35973,
     "expectedPickedTwiceOrMore": 6.0762,
     "pSomeonePicked3Plus": 0.91494,
     "expectedMaxPicks": 3.3239
    }
   },
   {
    "classSize": 24,
    "meanSpins": 90.623,
    "sdSpins": 28.868,
    "medianSpins": 85,
    "p90Spins": 128,
    "p99Spins": 183,
    "meanSpinsPerStudent": 3.776,
    "callsPerRoundIfWinnersRemoved": 24,
    "spinsPerRoundIfWinnersRemoved": 23,
    "extraCallsVsOneRound": 66.623,
    "firstHalfStudents": 12,
    "meanSpinsForFirstHalf": 16.146,
    "floorHalfStudents": 12,
    "meanSpinsForFloorHalf": 16.146,
    "meanSpinsForLastStudent": 24,
    "afterNSpins": {
     "expectedNeverPicked": 8.6419,
     "shareNeverPicked": 0.36008,
     "expectedPickedTwiceOrMore": 6.3405,
     "pSomeonePicked3Plus": 0.92445,
     "expectedMaxPicks": 3.3516
    }
   },
   {
    "classSize": 25,
    "meanSpins": 95.399,
    "sdSpins": 30.136,
    "medianSpins": 90,
    "p90Spins": 135,
    "p99Spins": 192,
    "meanSpinsPerStudent": 3.816,
    "callsPerRoundIfWinnersRemoved": 25,
    "spinsPerRoundIfWinnersRemoved": 24,
    "extraCallsVsOneRound": 70.399,
    "firstHalfStudents": 13,
    "meanSpinsForFirstHalf": 17.819,
    "floorHalfStudents": 12,
    "meanSpinsForFloorHalf": 15.896,
    "meanSpinsForLastStudent": 25,
    "afterNSpins": {
     "expectedNeverPicked": 9.0099,
     "shareNeverPicked": 0.3604,
     "expectedPickedTwiceOrMore": 6.6048,
     "pSomeonePicked3Plus": 0.93289,
     "expectedMaxPicks": 3.3779
    }
   },
   {
    "classSize": 26,
    "meanSpins": 100.215,
    "sdSpins": 31.405,
    "medianSpins": 94,
    "p90Spins": 141,
    "p99Spins": 201,
    "meanSpinsPerStudent": 3.8544,
    "callsPerRoundIfWinnersRemoved": 26,
    "spinsPerRoundIfWinnersRemoved": 25,
    "extraCallsVsOneRound": 74.215,
    "firstHalfStudents": 13,
    "meanSpinsForFirstHalf": 17.531,
    "floorHalfStudents": 13,
    "meanSpinsForFloorHalf": 17.531,
    "meanSpinsForLastStudent": 26,
    "afterNSpins": {
     "expectedNeverPicked": 9.3779,
     "shareNeverPicked": 0.36069,
     "expectedPickedTwiceOrMore": 6.869,
     "pSomeonePicked3Plus": 0.94039,
     "expectedMaxPicks": 3.403
    }
   },
   {
    "classSize": 27,
    "meanSpins": 105.069,
    "sdSpins": 32.674,
    "medianSpins": 99,
    "p90Spins": 148,
    "p99Spins": 210,
    "meanSpinsPerStudent": 3.8915,
    "callsPerRoundIfWinnersRemoved": 27,
    "spinsPerRoundIfWinnersRemoved": 26,
    "extraCallsVsOneRound": 78.069,
    "firstHalfStudents": 14,
    "meanSpinsForFirstHalf": 19.206,
    "floorHalfStudents": 13,
    "meanSpinsForFloorHalf": 17.277,
    "meanSpinsForLastStudent": 27,
    "afterNSpins": {
     "expectedNeverPicked": 9.7459,
     "shareNeverPicked": 0.36096,
     "expectedPickedTwiceOrMore": 7.1333,
     "pSomeonePicked3Plus": 0.94705,
     "expectedMaxPicks": 3.4269
    }
   },
   {
    "classSize": 28,
    "meanSpins": 109.961,
    "sdSpins": 33.944,
    "medianSpins": 104,
    "p90Spins": 154,
    "p99Spins": 219,
    "meanSpinsPerStudent": 3.9272,
    "callsPerRoundIfWinnersRemoved": 28,
    "spinsPerRoundIfWinnersRemoved": 27,
    "extraCallsVsOneRound": 81.961,
    "firstHalfStudents": 14,
    "meanSpinsForFirstHalf": 18.917,
    "floorHalfStudents": 14,
    "meanSpinsForFloorHalf": 18.917,
    "meanSpinsForLastStudent": 28,
    "afterNSpins": {
     "expectedNeverPicked": 10.1139,
     "shareNeverPicked": 0.36121,
     "expectedPickedTwiceOrMore": 7.3976,
     "pSomeonePicked3Plus": 0.95297,
     "expectedMaxPicks": 3.4499
    }
   },
   {
    "classSize": 29,
    "meanSpins": 114.888,
    "sdSpins": 35.214,
    "medianSpins": 108,
    "p90Spins": 161,
    "p99Spins": 228,
    "meanSpinsPerStudent": 3.9617,
    "callsPerRoundIfWinnersRemoved": 29,
    "spinsPerRoundIfWinnersRemoved": 28,
    "extraCallsVsOneRound": 85.888,
    "firstHalfStudents": 15,
    "meanSpinsForFirstHalf": 20.593,
    "floorHalfStudents": 14,
    "meanSpinsForFloorHalf": 18.659,
    "meanSpinsForLastStudent": 29,
    "afterNSpins": {
     "expectedNeverPicked": 10.4819,
     "shareNeverPicked": 0.36144,
     "expectedPickedTwiceOrMore": 7.6619,
     "pSomeonePicked3Plus": 0.95823,
     "expectedMaxPicks": 3.4719
    }
   },
   {
    "classSize": 30,
    "meanSpins": 119.85,
    "sdSpins": 36.484,
    "medianSpins": 113,
    "p90Spins": 168,
    "p99Spins": 237,
    "meanSpinsPerStudent": 3.995,
    "callsPerRoundIfWinnersRemoved": 30,
    "spinsPerRoundIfWinnersRemoved": 29,
    "extraCallsVsOneRound": 89.85,
    "firstHalfStudents": 15,
    "meanSpinsForFirstHalf": 20.303,
    "floorHalfStudents": 15,
    "meanSpinsForFloorHalf": 20.303,
    "meanSpinsForLastStudent": 30,
    "afterNSpins": {
     "expectedNeverPicked": 10.8498,
     "shareNeverPicked": 0.36166,
     "expectedPickedTwiceOrMore": 7.9262,
     "pSomeonePicked3Plus": 0.9629,
     "expectedMaxPicks": 3.493
    }
   },
   {
    "classSize": 31,
    "meanSpins": 124.845,
    "sdSpins": 37.755,
    "medianSpins": 118,
    "p90Spins": 174,
    "p99Spins": 246,
    "meanSpinsPerStudent": 4.0272,
    "callsPerRoundIfWinnersRemoved": 31,
    "spinsPerRoundIfWinnersRemoved": 30,
    "extraCallsVsOneRound": 93.845,
    "firstHalfStudents": 16,
    "meanSpinsForFirstHalf": 21.98,
    "floorHalfStudents": 15,
    "meanSpinsForFloorHalf": 20.042,
    "meanSpinsForLastStudent": 31,
    "afterNSpins": {
     "expectedNeverPicked": 11.2178,
     "shareNeverPicked": 0.36186,
     "expectedPickedTwiceOrMore": 8.1905,
     "pSomeonePicked3Plus": 0.96704,
     "expectedMaxPicks": 3.5133
    }
   },
   {
    "classSize": 32,
    "meanSpins": 129.872,
    "sdSpins": 39.026,
    "medianSpins": 123,
    "p90Spins": 181,
    "p99Spins": 255,
    "meanSpinsPerStudent": 4.0585,
    "callsPerRoundIfWinnersRemoved": 32,
    "spinsPerRoundIfWinnersRemoved": 31,
    "extraCallsVsOneRound": 97.872,
    "firstHalfStudents": 16,
    "meanSpinsForFirstHalf": 21.689,
    "floorHalfStudents": 16,
    "meanSpinsForFloorHalf": 21.689,
    "meanSpinsForLastStudent": 32,
    "afterNSpins": {
     "expectedNeverPicked": 11.5858,
     "shareNeverPicked": 0.36206,
     "expectedPickedTwiceOrMore": 8.4547,
     "pSomeonePicked3Plus": 0.97073,
     "expectedMaxPicks": 3.5329
    }
   },
   {
    "classSize": 33,
    "meanSpins": 134.93,
    "sdSpins": 40.298,
    "medianSpins": 128,
    "p90Spins": 188,
    "p99Spins": 264,
    "meanSpinsPerStudent": 4.0888,
    "callsPerRoundIfWinnersRemoved": 33,
    "spinsPerRoundIfWinnersRemoved": 32,
    "extraCallsVsOneRound": 101.93,
    "firstHalfStudents": 17,
    "meanSpinsForFirstHalf": 23.366,
    "floorHalfStudents": 16,
    "meanSpinsForFloorHalf": 21.425,
    "meanSpinsForLastStudent": 33,
    "afterNSpins": {
     "expectedNeverPicked": 11.9537,
     "shareNeverPicked": 0.36223,
     "expectedPickedTwiceOrMore": 8.719,
     "pSomeonePicked3Plus": 0.974,
     "expectedMaxPicks": 3.5519
    }
   },
   {
    "classSize": 34,
    "meanSpins": 140.019,
    "sdSpins": 41.569,
    "medianSpins": 133,
    "p90Spins": 194,
    "p99Spins": 273,
    "meanSpinsPerStudent": 4.1182,
    "callsPerRoundIfWinnersRemoved": 34,
    "spinsPerRoundIfWinnersRemoved": 33,
    "extraCallsVsOneRound": 106.019,
    "firstHalfStudents": 17,
    "meanSpinsForFirstHalf": 23.074,
    "floorHalfStudents": 17,
    "meanSpinsForFloorHalf": 23.074,
    "meanSpinsForLastStudent": 34,
    "afterNSpins": {
     "expectedNeverPicked": 12.3217,
     "shareNeverPicked": 0.3624,
     "expectedPickedTwiceOrMore": 8.9833,
     "pSomeonePicked3Plus": 0.97691,
     "expectedMaxPicks": 3.5702
    }
   },
   {
    "classSize": 35,
    "meanSpins": 145.137,
    "sdSpins": 42.842,
    "medianSpins": 137,
    "p90Spins": 201,
    "p99Spins": 282,
    "meanSpinsPerStudent": 4.1468,
    "callsPerRoundIfWinnersRemoved": 35,
    "spinsPerRoundIfWinnersRemoved": 34,
    "extraCallsVsOneRound": 110.137,
    "firstHalfStudents": 18,
    "meanSpinsForFirstHalf": 24.753,
    "floorHalfStudents": 17,
    "meanSpinsForFloorHalf": 22.809,
    "meanSpinsForLastStudent": 35,
    "afterNSpins": {
     "expectedNeverPicked": 12.6896,
     "shareNeverPicked": 0.36256,
     "expectedPickedTwiceOrMore": 9.2475,
     "pSomeonePicked3Plus": 0.97949,
     "expectedMaxPicks": 3.5879
    }
   },
   {
    "classSize": 36,
    "meanSpins": 150.284,
    "sdSpins": 44.114,
    "medianSpins": 142,
    "p90Spins": 208,
    "p99Spins": 291,
    "meanSpinsPerStudent": 4.1746,
    "callsPerRoundIfWinnersRemoved": 36,
    "spinsPerRoundIfWinnersRemoved": 35,
    "extraCallsVsOneRound": 114.284,
    "firstHalfStudents": 18,
    "meanSpinsForFirstHalf": 24.46,
    "floorHalfStudents": 18,
    "meanSpinsForFloorHalf": 24.46,
    "meanSpinsForLastStudent": 36,
    "afterNSpins": {
     "expectedNeverPicked": 13.0576,
     "shareNeverPicked": 0.36271,
     "expectedPickedTwiceOrMore": 9.5118,
     "pSomeonePicked3Plus": 0.98178,
     "expectedMaxPicks": 3.6052
    }
   },
   {
    "classSize": 37,
    "meanSpins": 155.459,
    "sdSpins": 45.387,
    "medianSpins": 147,
    "p90Spins": 215,
    "p99Spins": 300,
    "meanSpinsPerStudent": 4.2016,
    "callsPerRoundIfWinnersRemoved": 37,
    "spinsPerRoundIfWinnersRemoved": 36,
    "extraCallsVsOneRound": 118.459,
    "firstHalfStudents": 19,
    "meanSpinsForFirstHalf": 26.14,
    "floorHalfStudents": 18,
    "meanSpinsForFloorHalf": 24.192,
    "meanSpinsForLastStudent": 37,
    "afterNSpins": {
     "expectedNeverPicked": 13.4255,
     "shareNeverPicked": 0.36285,
     "expectedPickedTwiceOrMore": 9.7761,
     "pSomeonePicked3Plus": 0.98382,
     "expectedMaxPicks": 3.6219
    }
   },
   {
    "classSize": 38,
    "meanSpins": 160.66,
    "sdSpins": 46.66,
    "medianSpins": 152,
    "p90Spins": 222,
    "p99Spins": 309,
    "meanSpinsPerStudent": 4.2279,
    "callsPerRoundIfWinnersRemoved": 38,
    "spinsPerRoundIfWinnersRemoved": 37,
    "extraCallsVsOneRound": 122.66,
    "firstHalfStudents": 19,
    "meanSpinsForFirstHalf": 25.846,
    "floorHalfStudents": 19,
    "meanSpinsForFloorHalf": 25.846,
    "meanSpinsForLastStudent": 38,
    "afterNSpins": {
     "expectedNeverPicked": 13.7934,
     "shareNeverPicked": 0.36299,
     "expectedPickedTwiceOrMore": 10.0403,
     "pSomeonePicked3Plus": 0.98563,
     "expectedMaxPicks": 3.6381
    }
   },
   {
    "classSize": 39,
    "meanSpins": 165.888,
    "sdSpins": 47.933,
    "medianSpins": 157,
    "p90Spins": 229,
    "p99Spins": 319,
    "meanSpinsPerStudent": 4.2535,
    "callsPerRoundIfWinnersRemoved": 39,
    "spinsPerRoundIfWinnersRemoved": 38,
    "extraCallsVsOneRound": 126.888,
    "firstHalfStudents": 20,
    "meanSpinsForFirstHalf": 27.526,
    "floorHalfStudents": 19,
    "meanSpinsForFloorHalf": 25.576,
    "meanSpinsForLastStudent": 39,
    "afterNSpins": {
     "expectedNeverPicked": 14.1614,
     "shareNeverPicked": 0.36311,
     "expectedPickedTwiceOrMore": 10.3046,
     "pSomeonePicked3Plus": 0.98723,
     "expectedMaxPicks": 3.6539
    }
   },
   {
    "classSize": 40,
    "meanSpins": 171.142,
    "sdSpins": 49.206,
    "medianSpins": 162,
    "p90Spins": 235,
    "p99Spins": 328,
    "meanSpinsPerStudent": 4.2785,
    "callsPerRoundIfWinnersRemoved": 40,
    "spinsPerRoundIfWinnersRemoved": 39,
    "extraCallsVsOneRound": 131.142,
    "firstHalfStudents": 20,
    "meanSpinsForFirstHalf": 27.232,
    "floorHalfStudents": 20,
    "meanSpinsForFloorHalf": 27.232,
    "meanSpinsForLastStudent": 40,
    "afterNSpins": {
     "expectedNeverPicked": 14.5293,
     "shareNeverPicked": 0.36323,
     "expectedPickedTwiceOrMore": 10.5689,
     "pSomeonePicked3Plus": 0.98866,
     "expectedMaxPicks": 3.6693
    }
   }
  ],
  "cdf": {
   "spins": [
    0,
    5,
    10,
    15,
    20,
    25,
    30,
    35,
    40,
    45,
    50,
    55,
    60,
    65,
    70,
    75,
    80,
    85,
    90,
    95,
    100,
    105,
    110,
    115,
    120,
    125,
    130,
    135,
    140,
    145,
    150,
    155,
    160,
    165,
    170,
    175,
    180,
    185,
    190,
    195,
    200,
    205,
    210,
    215,
    220,
    225,
    230,
    235,
    240,
    245,
    250,
    255,
    260,
    265,
    270,
    275,
    280,
    285,
    290,
    295,
    300,
    305,
    310,
    315,
    320,
    325,
    330,
    335,
    340,
    345,
    350,
    355,
    360,
    365
   ],
   "probabilityEveryonePickedBySpin": {
    "15": [
     0,
     0,
     0,
     0,
     0.0018,
     0.0223,
     0.0878,
     0.2004,
     0.3382,
     0.4764,
     0.5994,
     0.7006,
     0.78,
     0.8401,
     0.8848,
     0.9174,
     0.941,
     0.958,
     0.9701,
     0.9788,
     0.9849,
     0.9893,
     0.9924,
     0.9946,
     0.9962,
     0.9973,
     0.9981,
     0.9986,
     0.999,
     0.9993,
     0.9995,
     0.9997,
     0.9998,
     0.9998,
     0.9999,
     0.9999,
     0.9999,
     1,
     1,
     1,
     1,
     1,
     1,
     1,
     1,
     1,
     1,
     1,
     1,
     1,
     1,
     1,
     1,
     1,
     1,
     1,
     1,
     1,
     1,
     1,
     1,
     1,
     1,
     1,
     1,
     1,
     1,
     1,
     1,
     1,
     1,
     1,
     1,
     1
    ],
    "25": [
     0,
     0,
     0,
     0,
     0,
     0,
     0,
     0.0001,
     0.0007,
     0.0041,
     0.0147,
     0.0373,
     0.0755,
     0.1295,
     0.1967,
     0.2729,
     0.3531,
     0.433,
     0.5095,
     0.5802,
     0.6439,
     0.7001,
     0.749,
     0.791,
     0.8266,
     0.8567,
     0.8818,
     0.9027,
     0.9201,
     0.9345,
     0.9463,
     0.9561,
     0.9641,
     0.9706,
     0.976,
     0.9804,
     0.984,
     0.9869,
     0.9893,
     0.9913,
     0.9929,
     0.9942,
     0.9953,
     0.9961,
     0.9969,
     0.9974,
     0.9979,
     0.9983,
     0.9986,
     0.9989,
     0.9991,
     0.9992,
     0.9994,
     0.9995,
     0.9996,
     0.9997,
     0.9997,
     0.9998,
     0.9998,
     0.9999,
     0.9999,
     0.9999,
     0.9999,
     0.9999,
     0.9999,
     1,
     1,
     1,
     1,
     1,
     1,
     1,
     1,
     1
    ],
    "35": [
     0,
     0,
     0,
     0,
     0,
     0,
     0,
     0,
     0,
     0,
     0,
     0,
     0.0002,
     0.0007,
     0.0024,
     0.0066,
     0.0146,
     0.0284,
     0.049,
     0.0774,
     0.1133,
     0.1562,
     0.2048,
     0.2575,
     0.3128,
     0.3691,
     0.425,
     0.4794,
     0.5314,
     0.5803,
     0.6259,
     0.6679,
     0.7061,
     0.7408,
     0.7719,
     0.7998,
     0.8246,
     0.8467,
     0.8661,
     0.8832,
     0.8983,
     0.9115,
     0.923,
     0.9331,
     0.9419,
     0.9496,
     0.9563,
     0.9621,
     0.9671,
     0.9715,
     0.9753,
     0.9786,
     0.9815,
     0.984,
     0.9861,
     0.988,
     0.9896,
     0.991,
     0.9922,
     0.9933,
     0.9942,
     0.9949,
     0.9956,
     0.9962,
     0.9967,
     0.9972,
     0.9975,
     0.9979,
     0.9982,
     0.9984,
     0.9986,
     0.9988,
     0.999,
     0.9991
    ]
   }
  },
  "lesson": {
   "pGivenStudentNeverCalled": 0.66483,
   "expectedStudentsNeverCalled": 16.62082,
   "expectedStudentsCalled": 8.37918,
   "expectedStudentsCalledTwiceOrMore": 1.45384,
   "pSomeoneCalledTwiceOrMore": 0.87562,
   "pSomeoneCalled3Plus": 0.15132,
   "pGivenStudentCalledTwiceOrMore": 0.05815
  },
  "week": {
   "pGivenStudentNeverCalled": 0.12989,
   "expectedStudentsNeverCalled": 3.24714,
   "pAtLeastOneStudentNeverCalled": 0.98534,
   "pGivenStudentCalledAtMostOnce": 0.40048,
   "expectedStudentsCalledAtMostOnce": 10.01203,
   "expectedStudentsCalled4PlusTimes": 3.47827,
   "expectedMostCallsForOneStudent": 5.20967,
   "callsPerStudentIfShared": 2,
   "pNextTurnMoreThan2nCallsAway": 0.12989
  },
  "withoutReplacement": {
   "callsUntilEveryonePicked": "n (exactly one call per student per round)",
   "spinsPerRound": "n - 1 (the last name left is called without a spin)",
   "spinsPerRoundClassOf25": 24,
   "callsPerStudentPerWeek": 2,
   "longestPossibleGapBetweenTurns": 49,
   "limitShareNeverPickedAfterNSpins": 0.36788
  }
 },
 "checks": [
  {
   "name": "n=10: mean spins until everyone is picked",
   "simulated": 29.26251,
   "exact": 29.28968,
   "tolerance": 0.15855,
   "pass": true
  },
  {
   "name": "n=10: median spins",
   "simulated": 27,
   "exact": 27,
   "tolerance": 1.17396,
   "pass": true
  },
  {
   "name": "n=10: 90th percentile spins",
   "simulated": 44,
   "exact": 44,
   "tolerance": 1.41715,
   "pass": true
  },
  {
   "name": "n=10: 99th percentile spins",
   "simulated": 66,
   "exact": 66,
   "tolerance": 2.33175,
   "pass": true
  },
  {
   "name": "n=10: mean spins until half the class is picked",
   "simulated": 6.46267,
   "exact": 6.45635,
   "tolerance": 0.02086,
   "pass": true
  },
  {
   "name": "n=10: students never picked after n spins",
   "simulated": 3.48965,
   "exact": 3.48678,
   "tolerance": 0.01408,
   "pass": true
  },
  {
   "name": "n=10: students picked 2+ times after n spins",
   "simulated": 2.63659,
   "exact": 2.63901,
   "tolerance": 0.01087,
   "pass": true
  },
  {
   "name": "n=10: P(someone picked 3+ times in n spins)",
   "simulated": 0.6078,
   "exact": 0.60419,
   "tolerance": 0.00692,
   "pass": true
  },
  {
   "name": "n=10: most picks of one student after n spins",
   "simulated": 2.7544,
   "exact": 2.74869,
   "tolerance": 0.01021,
   "pass": true
  },
  {
   "name": "n=10: most picks of one student when everyone is done",
   "simulated": 5.71582,
   "exact": 5.71792,
   "tolerance": 0.03043,
   "pass": true
  },
  {
   "name": "n=15: mean spins until everyone is picked",
   "simulated": 49.7109,
   "exact": 49.77343,
   "tolerance": 0.24732,
   "pass": true
  },
  {
   "name": "n=15: median spins",
   "simulated": 46,
   "exact": 46,
   "tolerance": 1.27053,
   "pass": true
  },
  {
   "name": "n=15: 90th percentile spins",
   "simulated": 72,
   "exact": 73,
   "tolerance": 1.65263,
   "pass": true
  },
  {
   "name": "n=15: 99th percentile spins",
   "simulated": 107,
   "exact": 106,
   "tolerance": 2.98159,
   "pass": true
  },
  {
   "name": "n=15: mean spins until half the class is picked",
   "simulated": 10.87909,
   "exact": 10.88058,
   "tolerance": 0.03017,
   "pass": true
  },
  {
   "name": "n=15: students never picked after n spins",
   "simulated": 5.32472,
   "exact": 5.32897,
   "tolerance": 0.0172,
   "pass": true
  },
  {
   "name": "n=15: students picked 2+ times after n spins",
   "simulated": 3.95849,
   "exact": 3.96143,
   "tolerance": 0.01329,
   "pass": true
  },
  {
   "name": "n=15: P(someone picked 3+ times in n spins)",
   "simulated": 0.78074,
   "exact": 0.78069,
   "tolerance": 0.00585,
   "pass": true
  },
  {
   "name": "n=15: most picks of one student after n spins",
   "simulated": 3.03383,
   "exact": 3.03312,
   "tolerance": 0.01055,
   "pass": true
  },
  {
   "name": "n=15: most picks of one student when everyone is done",
   "simulated": 6.73238,
   "exact": 6.7381,
   "tolerance": 0.03139,
   "pass": true
  },
  {
   "name": "n=20: mean spins until everyone is picked",
   "simulated": 71.93948,
   "exact": 71.95479,
   "tolerance": 0.3366,
   "pass": true
  },
  {
   "name": "n=20: median spins",
   "simulated": 68,
   "exact": 67,
   "tolerance": 1.37006,
   "pass": true
  },
  {
   "name": "n=20: 90th percentile spins",
   "simulated": 103,
   "exact": 103,
   "tolerance": 1.85793,
   "pass": true
  },
  {
   "name": "n=20: 99th percentile spins",
   "simulated": 148,
   "exact": 149,
   "tolerance": 3.80547,
   "pass": true
  },
  {
   "name": "n=20: mean spins until half the class is picked",
   "simulated": 13.38146,
   "exact": 13.37543,
   "tolerance": 0.03226,
   "pass": true
  },
  {
   "name": "n=20: students never picked after n spins",
   "simulated": 7.17042,
   "exact": 7.16972,
   "tolerance": 0.01982,
   "pass": true
  },
  {
   "name": "n=20: students picked 2+ times after n spins",
   "simulated": 5.28193,
   "exact": 5.28321,
   "tolerance": 0.0154,
   "pass": true
  },
  {
   "name": "n=20: P(someone picked 3+ times in n spins)",
   "simulated": 0.87854,
   "exact": 0.87865,
   "tolerance": 0.00462,
   "pass": true
  },
  {
   "name": "n=20: most picks of one student after n spins",
   "simulated": 3.2319,
   "exact": 3.23124,
   "tolerance": 0.01051,
   "pass": true
  },
  {
   "name": "n=20: most picks of one student when everyone is done",
   "simulated": 7.47305,
   "exact": 7.47164,
   "tolerance": 0.03178,
   "pass": true
  },
  {
   "name": "n=25: mean spins until everyone is picked",
   "simulated": 95.50944,
   "exact": 95.39895,
   "tolerance": 0.42619,
   "pass": true
  },
  {
   "name": "n=25: median spins",
   "simulated": 90,
   "exact": 90,
   "tolerance": 1.4751,
   "pass": true
  },
  {
   "name": "n=25: 90th percentile spins",
   "simulated": 135,
   "exact": 135,
   "tolerance": 2.09251,
   "pass": true
  },
  {
   "name": "n=25: 99th percentile spins",
   "simulated": 191,
   "exact": 192,
   "tolerance": 4.4483,
   "pass": true
  },
  {
   "name": "n=25: mean spins until half the class is picked",
   "simulated": 17.82331,
   "exact": 17.81869,
   "tolerance": 0.0389,
   "pass": true
  },
  {
   "name": "n=25: students never picked after n spins",
   "simulated": 9.0091,
   "exact": 9.00992,
   "tolerance": 0.02211,
   "pass": true
  },
  {
   "name": "n=25: students picked 2+ times after n spins",
   "simulated": 6.59631,
   "exact": 6.60475,
   "tolerance": 0.01717,
   "pass": true
  },
  {
   "name": "n=25: P(someone picked 3+ times in n spins)",
   "simulated": 0.9341,
   "exact": 0.93289,
   "tolerance": 0.00354,
   "pass": true
  },
  {
   "name": "n=25: most picks of one student after n spins",
   "simulated": 3.38159,
   "exact": 3.37789,
   "tolerance": 0.01051,
   "pass": true
  },
  {
   "name": "n=25: most picks of one student when everyone is done",
   "simulated": 8.05571,
   "exact": 8.045,
   "tolerance": 0.03243,
   "pass": true
  },
  {
   "name": "n=25: histogram, largest bucket gap (standard errors)",
   "simulated": 2.00701,
   "exact": 0,
   "tolerance": 4.5,
   "pass": true
  },
  {
   "name": "n=25: histogram, exact share below the first bucket is negligible",
   "simulated": 0,
   "exact": 0,
   "tolerance": 0.0001,
   "pass": true
  },
  {
   "name": "n=30: mean spins until everyone is picked",
   "simulated": 119.88909,
   "exact": 119.84961,
   "tolerance": 0.51596,
   "pass": true
  },
  {
   "name": "n=30: median spins",
   "simulated": 113,
   "exact": 113,
   "tolerance": 1.57325,
   "pass": true
  },
  {
   "name": "n=30: 90th percentile spins",
   "simulated": 168,
   "exact": 168,
   "tolerance": 2.32633,
   "pass": true
  },
  {
   "name": "n=30: 99th percentile spins",
   "simulated": 239,
   "exact": 237,
   "tolerance": 5.22876,
   "pass": true
  },
  {
   "name": "n=30: mean spins until half the class is picked",
   "simulated": 20.31796,
   "exact": 20.30274,
   "tolerance": 0.04083,
   "pass": true
  },
  {
   "name": "n=30: students never picked after n spins",
   "simulated": 10.84725,
   "exact": 10.84985,
   "tolerance": 0.02426,
   "pass": true
  },
  {
   "name": "n=30: students picked 2+ times after n spins",
   "simulated": 7.91638,
   "exact": 7.92618,
   "tolerance": 0.01884,
   "pass": true
  },
  {
   "name": "n=30: P(someone picked 3+ times in n spins)",
   "simulated": 0.96384,
   "exact": 0.9629,
   "tolerance": 0.00267,
   "pass": true
  },
  {
   "name": "n=30: most picks of one student after n spins",
   "simulated": 3.49766,
   "exact": 3.49299,
   "tolerance": 0.01053,
   "pass": true
  },
  {
   "name": "n=30: most picks of one student when everyone is done",
   "simulated": 8.52155,
   "exact": 8.51585,
   "tolerance": 0.03268,
   "pass": true
  },
  {
   "name": "n=35: mean spins until everyone is picked",
   "simulated": 145.18592,
   "exact": 145.13735,
   "tolerance": 0.60587,
   "pass": true
  },
  {
   "name": "n=35: median spins",
   "simulated": 137,
   "exact": 137,
   "tolerance": 1.67278,
   "pass": true
  },
  {
   "name": "n=35: 90th percentile spins",
   "simulated": 201,
   "exact": 201,
   "tolerance": 2.52572,
   "pass": true
  },
  {
   "name": "n=35: 99th percentile spins",
   "simulated": 279,
   "exact": 282,
   "tolerance": 5.88921,
   "pass": true
  },
  {
   "name": "n=35: mean spins until half the class is picked",
   "simulated": 24.75116,
   "exact": 24.75301,
   "tolerance": 0.04641,
   "pass": true
  },
  {
   "name": "n=35: students never picked after n spins",
   "simulated": 12.68354,
   "exact": 12.68962,
   "tolerance": 0.02616,
   "pass": true
  },
  {
   "name": "n=35: students picked 2+ times after n spins",
   "simulated": 9.24316,
   "exact": 9.24754,
   "tolerance": 0.02032,
   "pass": true
  },
  {
   "name": "n=35: P(someone picked 3+ times in n spins)",
   "simulated": 0.97976,
   "exact": 0.97949,
   "tolerance": 0.002,
   "pass": true
  },
  {
   "name": "n=35: most picks of one student after n spins",
   "simulated": 3.58689,
   "exact": 3.58794,
   "tolerance": 0.0106,
   "pass": true
  },
  {
   "name": "n=35: most picks of one student when everyone is done",
   "simulated": 8.92163,
   "exact": 8.9154,
   "tolerance": 0.03267,
   "pass": true
  },
  {
   "name": "lesson: share of students never called",
   "simulated": 0.66479,
   "exact": 0.66483,
   "tolerance": 0.00029,
   "pass": true
  },
  {
   "name": "lesson: one named student never called",
   "simulated": 0.66353,
   "exact": 0.66483,
   "tolerance": 0.00345,
   "pass": true
  },
  {
   "name": "lesson: students called twice or more",
   "simulated": 1.45354,
   "exact": 1.45384,
   "tolerance": 0.00627,
   "pass": true
  },
  {
   "name": "lesson: P(someone called twice or more)",
   "simulated": 0.87552,
   "exact": 0.87562,
   "tolerance": 0.00241,
   "pass": true
  },
  {
   "name": "lesson: P(someone called 3+ times)",
   "simulated": 0.15077,
   "exact": 0.15132,
   "tolerance": 0.00262,
   "pass": true
  },
  {
   "name": "week: students never called",
   "simulated": 3.24736,
   "exact": 3.24714,
   "tolerance": 0.01263,
   "pass": true
  },
  {
   "name": "week: P(at least one student never called)",
   "simulated": 0.98506,
   "exact": 0.98534,
   "tolerance": 0.00107,
   "pass": true
  },
  {
   "name": "week: students called at most once",
   "simulated": 10.00826,
   "exact": 10.01203,
   "tolerance": 0.0138,
   "pass": true
  },
  {
   "name": "week: students called 4+ times",
   "simulated": 3.47768,
   "exact": 3.47827,
   "tolerance": 0.01078,
   "pass": true
  },
  {
   "name": "week: most calls for one student",
   "simulated": 5.20897,
   "exact": 5.20967,
   "tolerance": 0.00849,
   "pass": true
  },
  {
   "name": "without replacement: weeks with unequal calls",
   "simulated": 0,
   "exact": 0,
   "tolerance": 0,
   "pass": true
  },
  {
   "name": "without replacement: rounds that missed or repeated someone",
   "simulated": 0,
   "exact": 0,
   "tolerance": 0,
   "pass": true
  },
  {
   "name": "without replacement: every round took n-1 spins",
   "simulated": 0,
   "exact": 0,
   "tolerance": 0,
   "pass": true
  },
  {
   "name": "without replacement: spins per week (2 rounds of 25 = 48)",
   "simulated": 48,
   "exact": 48,
   "tolerance": 0,
   "pass": true
  },
  {
   "name": "without replacement: longest gap between turns <= 2n-1",
   "simulated": 0,
   "exact": 0,
   "tolerance": 0,
   "pass": true
  },
  {
   "name": "without replacement: last name left is uniform (largest gap, standard errors)",
   "simulated": 2.39629,
   "exact": 0,
   "tolerance": 4.5,
   "pass": true
  },
  {
   "name": "raw draws cover every spin",
   "simulated": 0,
   "exact": 0,
   "tolerance": 0,
   "pass": true
  }
 ]
}
