Loading…
Reading the draws and working out what chance predicts.
Calendar Court
Every other test here asks whether the numbers are fair. This one asks something narrower and more paranoid: whether they are fair given the date. It is the question Eddie Tipton’s tampered generator was built to defeat — it behaved itself except on three days of the year, after 8pm, in a non-leap year.
Cash Pop1/15 era · since Apr 2022900 draws
Scroll the chart sideways →
| Family | Largest | Observed | Chance reaches | Adjusted p | Reading |
|---|---|---|---|---|---|
| Day of the week | Monday | 7.19e-3 | 7.66e-3 | 0.300 | nothing found |
| Month | November | 5.04e-3 | 9.09e-3 | 1.000 | nothing found |
| Part of the month | 1-10 | 2.30e-3 | 3.72e-3 | 1.000 | nothing found |
| Public holiday | — | — | — | — | too few draws |
| Draw slot | drive_time | 2.19e-3 | 5.17e-3 | 1.000 | nothing found |
| Since a machine change | — | — | — | — | not published |
No split of the calendar separates this game’s draws from the rest of its own history.
What this cannot see. Eddie Tipton tampered with something like two per cent of the draws he touched, and a test built exactly for his kind of fault still cannot find that. It can find a systematic difference — a calendar-conditioned fault that nobody tried to hide. “Nothing found” means nothing systematic, not nothing.
The public-holiday family is almost always empty, and that is the honest answer rather than a gap. A country has eight or ten fixed public holidays a year and a lottery draws twice a week, so even a decade of an era leaves fewer than twenty draws that land on one — too few to compare with anything.
Calendar partition courtcalendar-court-v1seed 20260904
Cash Pop1/15 era · since Apr 2022900 draws
Day of the week
Month
Cash Pop1/15 era · since Apr 2022900 draws
Calendar partition courtcalendar-court-v1seed 20260904
Part of the month
Draw slot
The distance. Two sets of draws are compared with the whole-draw maximum mean discrepancy: for a kernel on draws and sets , ,
It compares whole draws rather than a chosen statistic, so it does not need anybody to have guessed in advance what a calendar-conditioned fault would look like — which is the point, since a fault nobody anticipated is exactly the kind that survives.
One matrix, many partitions. The naive route rebuilds an MMD for every partition of every shuffle, and that is a full pass over the kernel matrix each time. With the matrix total and its row sums, the three blocks all follow from a sum over alone:
For seven weekdays that is a forty-ninth of the work, which is what makes two hundred shuffles of six families cheap enough to run while a page renders.
Calibrating the maximum, not a partition. A family's statistic is the largest of its partitions' distances, and quoting "the biggest of seven" against a null built for one would be cheating. So the labels are shuffled across draws with the partition sizes held fixed, the maximum is recomputed inside each shuffle, and
The on both sides is what stops a finite simulation ever reporting an impossible zero.
Correcting once. Each family's p is multiplied by the number of families tested, and read against a plain 5% — not against 5% divided by that number as well. Applying Bonferroni at both ends demands , which on six families means a raw p below one in seven hundred before anything is said. That is not caution; it is a test that cannot fire.
The correction is also achievable by construction: a permutation p cannot fall below , so with six families and 199 shuffles the smallest possible adjusted p is , comfortably under the level.
What it cannot do. Tipton's tampering touched roughly two per cent of the draws he had access to. A test of this kind does not find two per cent, and the guard tests in this repository pin exactly that: the same rig at 100% of one weekday is flagged, and at 2% it is not.
Eddie Tipton wrote the random number generator for the Multi-State Lottery Association. He was its information security director. And between 2005 and 2011 he used it to win at least $2.2 million.
What makes his case worth a page rather than a paragraph is how he did it. He did not make the machine crooked. He installed a rootkit that lay dormant almost all the time and woke on three days of the year — 27 May, 22 November, 29 December — after 8pm, and only in a non-leap year. On those nights the generator abandoned its usual behaviour and drew from a small set of predictable combinations. On every other night of every other year, it was honest.
That is a design aimed squarely at statistics. Pool six years of draws and test them for fairness and you will find nothing, because a handful of tampered nights sit inside thousands of clean ones and are averaged into invisibility. This site's own Observatory would not have caught him. Neither would its Bias Watch, its frequency tests, or any of the instruments that ask "are these numbers fair" without asking "fair when".
So this page asks the second question. Six ways of splitting the calendar — the day of the week, the month, the part of the month, public holidays, which draw of the day it was, and how recently the machine was changed — and for each, whether the draws on one side differ from the draws on the other by more than shuffling the labels can produce.
Now the part that matters. This test would not have caught Tipton either.
He tampered with something like two per cent of the draws available to him. The guard tests behind this page make that concrete: rig every single Saturday and the court finds it instantly; rig two per cent of Saturdays and it finds nothing at all. That is not a flaw to be apologised for, it is the sensitivity of the instrument, and it is stated because a page that reported "nothing found" without saying what it could not have found would be lying by omission.
What this can find is a systematic difference — a calendar-conditioned fault that nobody built to hide. Nobody has one, on any game here. And when a family does get flagged, remember what that means: this page corrects for its own six tests, but the site holds hundreds of games, and at a one-in-twenty level about one game in twenty will show something. A single flag is a thing to look at twice, and never on its own a finding.
Tipton was caught because a man walked into a Des Moines petrol station wearing a hooded sweatshirt to buy the winning ticket, and the security footage was still there a year later. Not by mathematics. That is worth remembering about all of this.