LotteryOracle
GamesForecastPlaygroundCase filesMy numbers
← Fantasy 5
pool inferredsingle source
Frequency ExplorerGap & “Overdue” TrackerSum DistributionConsecutive Numbers SurpriseHarmony MatrixNumber ConstellationCarry-over / Déjà VuDelta SpaceCoverage RaceDraw FingerprintsRandomness ObservatoryPositional RibbonsCross-Lottery MirrorSix true storiesCultural Numbers AtlasThe Unpopular Numbers EdgeWheel WorkshopMyth RebuttalPattern CourtDraw Rank StreamAnytime Bias WatchWhole-Draw DriftConditional HarmonyResidue KaleidoscopeDigit LaboratoryCrowd Calibration LabCalibration ForgeJohnson SpectrumCompression LabForecast ArenaExchangeability WatchGap UniformizerSharing MapChernoff MapReturn LedgerRule-Change LedgerMachine RoomCalendar CourtBalls versus RNGWorld Fairness BoardRegression LedgerLottery Design StudioChance DetectiveThe Headline FactoryThe Crowd Through TimeThirty Years of SaturdaysPattern Recipe LabArithmetic Progression GardenSame Odds, Different WaitsWrong Formula LabEuler’s Lottery DeskCasanova’s Risky TreasuryThe Lottery That Chose LivesThe Museum Built by Chance

Loading…

Reading the draws and working out what chance predicts.

← PreviousDraw FingerprintsNext →Positional Ribbons
LotteryOracle

LotteryOracle reports what happened; it does not predict what is next. Every draw is independent — no number is ever "due".

GamesPlaygroundCase filesThe weekDataAboutMethodologyPrivacy
Built byejoyful

Responsible play.A lottery costs more than it pays back; if it stops being fun, help is free and confidential:🇺🇸 1-800-GAMBLERall helplines →

The audit, live

Every needle should point at boredom.

These are the tests statisticians use to audit national lotteries and certify random number generators, running on every draw Fantasy 5 has made in this era. Seven instruments, and the reading you want from all of them is nothing at all.

All 8 needles at rest. Boring is the correct reading.

And here is what that rules out. Over 6,010 draws a ball favoured enough to appear 14% more often than its share — 876 times instead of 771 — would have shown by now, four times in five. Anything subtler is still invisible, and “no bias found” means exactly that and nothing more.

p = 0.627
Number frequencies41.69 χ²asymptotic null

Consistent with a fair machine. The variation between numbers is exactly the size randomness produces.

p = 0.103
Runs above and below the median-1.63 zasymptotic null

Draw totals alternate around their midpoint as often as chance predicts — no streaks, no drift.

p = 0.970
Spread of the numbers (entropy)3.67 natsmonte carlo null

The most recent window spreads across the pool exactly as widely as a fair machine does.

p = 0.050
Memory between draws3.02 zmonte carlo null

One lag correlates more than the others usually do; the look-elsewhere caveat applies before reading it as structure.

p = 0.918
Rhythm in the calendar0.00 gasymptotic null

No weekly rhythm. No lunar cycle. No message. The strongest cycle present is the size noise always supplies.

p = 0.348
Numbers repeating from the last draw1.01 χ²monte carlo null

Repeats from one draw to the next arrive at exactly the rate the hypergeometric predicts — the machine is not avoiding its last result, nor favouring it.

p = 0.348
Final digits4.77 χ²monte carlo null

Final digits appear as often as the pool allows — including the zeros, which are genuinely rarer.

p = 0.826
Rhythm in any one number0.02 gmonte carlo null

No single number keeps a rhythm of its own. The strongest cycle in any one ball’s history is the size the search itself produces.

Five of the eight instruments are judged against 200 simulated fair histories of this game’s own length and format, rather than against a textbook tail. The memory, final-digit and repeat instruments each had an approximation standing in for a null — a look-elsewhere correction that assumed independent lags, a dependence factor borrowed from a different test, and an asymptotic tail on dependent cells — and the simulation retires all three.

The panel, auditing itself

Fantasy 55/39 era · since Apr 20106,010 draws

flat = healthyp between 0.00 and 0.05: 5 of 67p between 0.05 and 0.10: 3 of 67p between 0.10 and 0.15: 3 of 67p between 0.15 and 0.20: 3 of 67p between 0.20 and 0.25: 2 of 67p between 0.25 and 0.30: 2 of 67p between 0.30 and 0.35: 3 of 67p between 0.35 and 0.40: 3 of 67p between 0.40 and 0.45: 1 of 67p between 0.45 and 0.50: 3 of 67p between 0.50 and 0.55: 2 of 67p between 0.55 and 0.60: 4 of 67p between 0.60 and 0.65: 3 of 67p between 0.65 and 0.70: 5 of 67p between 0.70 and 0.75: 4 of 67p between 0.75 and 0.80: 3 of 67p between 0.80 and 0.85: 5 of 67p between 0.85 and 0.90: 4 of 67p between 0.90 and 0.95: 3 of 67p between 0.95 and 1.00: 6 of 6700.250.50.751p-value

67 p-values — every instrument, every lag, every number. Under an honest machine they are spread evenly across the whole range, and this histogram is flat to within p = 0.981 Which is the reading a working lottery and a working analysis both produce.

Under an honest machine a p-value is uniform — flat, not clustered high. So the histogram of every p-value this battery produced is a test of the battery, and a miscalibrated null would show up here as a lean before it ever showed up as a false alarm.

Has the machine gone lopsided?

Fantasy 55/39 era · since Apr 20106,010 draws

what a fair machine producesdraws · 200-draw window
Rolling entropy over 200-draw windows, against the band a provably fair machine produces over the same window. The estimate carries the Miller–Madow correction, which is why it can sit a shade above the entropy of a perfectly even pool.

Does one draw know about the next?

Fantasy 55/39 era · since Apr 20106,010 draws

lag 1: r = -0.008lag 2: r = -0.008lag 3: r = 0.000lag 4: r = 0.003lag 5: r = -0.006lag 6: r = -0.003lag 7: r = 0.007lag 8: r = -0.019lag 9: r = 0.017lag 10: r = 0.010lag 11: r = 0.001lag 12: r = -0.012lag 13: r = 0.003lag 14: r = 0.006lag 15: r = 0.039lag 16: r = 0.002lag 17: r = 0.005lag 18: r = -0.004lag 19: r = -0.002lag 20: r = 0.001±1.96/√D — the white-noise bandlag, in draws
Autocorrelation of draw totals at every lag out to twenty, against the white-noise band. Bars inside the band are the definition of no memory.

Is there a rhythm in the calendar?

Fantasy 55/39 era · since Apr 20106,010 draws

flat — what white noise looks likecycles per draw
No weekly rhythm. No lunar cycle. No message. Every series of a few thousand points has some largest peak; the question is only whether it is bigger than the largest peak noise supplies, and here it is not.

The report

Randomness audit

Fantasy 5

5/39 era · since Apr 2010 · report as of 2026-10-14

draws examined
6,010
covering
2010-04-06 → 2026-10-14
cross-checked
0 of 6,010
Test battery
teststatisticpp adjustedreading
Number frequencies41.69 χ²0.6270.970consistent
Runs above and below the median-1.63 z0.1030.410consistent
Spread of the numbers (entropy)3.67 nats0.9700.970consistent
Memory between draws3.02 z0.0500.398consistent
Rhythm in the calendar0.00 g0.9180.970consistent
Numbers repeating from the last draw1.01 χ²0.3480.697consistent
Final digits4.77 χ²0.3480.697consistent
Rhythm in any one number0.02 g0.8260.970consistent

Statement

Across 8 tests on 6,010 draws, no statistically significant departure from fair, independent drawing was found after controlling for the number of tests performed. The results are consistent with fair draws.

This analysis cannot prove fairness, only fail to find deviation. Absence of a detected deviation is not proof that none exists — a small bias needs a long record to surface, and detection time grows as the square of how small it is.

Provenance: 6,010 draws come from a single feed and have not been independently cross-checked. A test battery can only ever be as sound as the record it reads.

Method: Pearson χ² on number frequencies with the Joe (1993) within-draw dependence correction; Wald–Wolfowitz runs test on draw totals; rolling Shannon entropy with the Miller–Madow bias correction against a seeded simulated band; autocorrelation to lag 20 against ±1.96/√D; Fisher's test on the periodogram's largest peak; χ² on the hypergeometric repeat distribution; χ² on final digits against the pool's exact digit baseline. Battery-level false discovery rate controlled by Benjamini–Hochberg.

Now rig it yourself

The instruments above found nothing, which is only worth something if they would have found something. Here they are watching a machine you control — including two rigs they cannot catch.

Everything below this line is simulated. No real draw from any lottery can enter the sandbox.

The 1980 Pittsburgh fix: all but a few balls weighted so they cannot rise. A gross rig, and the instruments find it almost immediately.

Sabotage detectable at 95% confidence after 50 draws.

4 of 8 instruments sit outside the calm zone after adjusting for how many tests are on this panel. That is a statistic, not a finding — read the caveats below before it becomes one.

p = <0.001
Number frequencies2,867.06 χ²asymptotic null

The numbers are not coming up equally often — this is the pattern a biased machine would leave, and worth investigating.

p = 0.447
Runs above and below the median-0.76 zasymptotic null

Draw totals alternate around their midpoint as often as chance predicts — no streaks, no drift.

p = 0.005
Spread of the numbers (entropy)2.90 natsmonte carlo null

The latest window is more concentrated or more even than a fair machine usually manages.

p = 0.527
Memory between draws1.76 zmonte carlo null

No draw carries information about the next. The strongest correlation across every lag tested is what noise looks like.

p = 0.347
Rhythm in the calendar0.05 gasymptotic null

No weekly rhythm. No lunar cycle. No message. The strongest cycle present is the size noise always supplies.

p = 0.010
Numbers repeating from the last draw860.79 χ²monte carlo null

Repeats arrive at a rate further from expectation than usual.

p = 0.010
Final digits2,546.21 χ²monte carlo null

Final digits fall further from their pool baseline than usual.

p = 0.070
Rhythm in any one number0.06 gmonte carlo null

No single number keeps a rhythm of its own. The strongest cycle in any one ball’s history is the size the search itself produces.

The two layers underneath

∑The maths, in plain language

What an instrument actually asks

Every needle on this panel answers one question, and it is not "is this lottery fair?". It is: if the machine were honest, how often would a reading this extreme turn up? That number is the p-value on the bezel.

This matters more than it sounds. A test can find a deviation, or it can fail to find one. It can never confirm there is nothing to find, because "nothing to find" and "something too small to see with 6,010 draws" produce the same calm needle. The Integrity Report is worded to say exactly that and nothing warmer.

The correction the naive version skips

The frequency test compares how often each number appeared against D⋅k/ND \cdot k / ND⋅k/N. The obvious statistic is Pearson's:

X2=∑i(Oi−E)2EX^2 = \sum_i \frac{(O_i - E)^2}{E}X2=i∑​E(Oi​−E)2​

read against χ2\chi^2χ2 on N−1N - 1N−1 degrees of freedom. That is wrong here, and wrong in the direction that flatters the lottery.

The kkk numbers within one draw are not independent trials — they are drawn without replacement, so a number appearing makes the others slightly less likely. Each count is Binomial(D,k/N)(D, k/N)(D,k/N) rather than multinomial, giving

E[X2]=N⋅D⋅p(1−p)D⋅p=N−kE[X^2] = \frac{N \cdot D \cdot p(1-p)}{D \cdot p} = N - kE[X2]=D⋅pN⋅D⋅p(1−p)​=N−k

against the N−1N - 1N−1 a χN−12\chi^2_{N-1}χN−12​ expects. So the statistic runs systematically low, and rescaling by (N−1)/(N−k)(N-1)/(N-k)(N−1)/(N−k) puts it back.

This is the practical form of the modified statistic Joe (1993) derives for lotto draws, and skipping it is not a rounding error. Measured over 800 simulated honest eras of 39 numbers: the uncorrected test rejects at 1.4% where it should reject at 5% — under-powered by more than threefold — and declares honest lotteries "too good to be true" 10.9% of the time instead of 5%. Both mistakes make a lottery look better than it is.

Power, and the honest limit

The sandbox's 5% preset is there to be disappointing. Detection time scales like 1/bias21/\text{bias}^21/bias2: halving a bias quadruples the record you need to catch it. A gross rig like a painted ball set is obvious within dozens of draws; a five percent lean survives hundreds and needs tens of thousands.

The consequence is a sentence worth carrying away: "nothing was found in fifty draws" is very weak evidence of anything. Regulators keep long records because short ones cannot answer the question.

Why the p-value sky should be flat

Under an honest machine, a p-value is uniform on (0,1)(0,1)(0,1) — not clustered near 1, which is the common intuition, but genuinely flat. Half of all honest readings fall below 0.5. One in twenty falls below 0.05.

That makes the histogram of every p-value the battery produces a test of the battery itself. A miscalibrated null shows up as a lean; a real deviation shows up as a spike against the left wall. It is the one chart here that would betray this page's own analysis if the analysis were wrong.

Because the panel produces so many p-values, they are also reported with a Benjamini–Hochberg adjustment, which controls the share of flagged results that are false alarms rather than demanding no false alarms at all — the right trade for a monitor that must stay sensitive enough to be worth reading.

A small trap, avoided

The last-digit test is where a naive implementation gives itself away. Final digits are not uniform for a bounded pool: a 1–49 pool holds five numbers ending in each of 1 through 9, but only four ending in 0. Testing against "10% each" reports a shortage of zeros on every honest lottery on earth.

The baseline used here is counted from the pool itself, so it is exact for any NNN, and uniform only in the case where ten divides it.

✦The story behind it

The first battery, 1938

Before anyone could trust a table of random numbers, someone had to work out how to check one. Maurice Kendall and Bernard Babington Smith built a machine to generate random digits and then, facing the obvious question, invented the tools to interrogate it: a frequency test, a serial test, a gap test, a poker test.

Their 1938 paper is the ancestor of every randomness certificate since. Knuth carried the battery into computing in The Art of Computer Programming — the gap test that appears elsewhere in this playground is theirs — and the modern suites that certify casino generators are the same idea with more arithmetic.

The panel above is a direct descendant. There is nothing novel about it, and that is its recommendation.

The statistician as detective

In 2006, Jeffrey Rosenthal was asked whether Ontario lottery retailers were winning too often. He did the arithmetic that the retailers' own regulator had not: given how many tickets clerks handled, roughly how many wins should insiders have had?

Fewer than 60. The records showed 200 or more.

He presented it on CBC television, and the arithmetic was simple enough that nobody could wave it away. Investigations followed, then refunds, then a restructured regulator. No new mathematics was required — only somebody willing to compute an expectation and compare it with a count.

That is what this page automates. The full case belongs to another feature; the instruments are his toolkit, running continuously instead of after a scandal.

Passing is the norm

It is worth saying plainly that audits of national lotteries overwhelmingly find nothing. The UK National Lottery has been examined repeatedly by academic statisticians — the same chi-square that sits first on this panel — and it has passed each time.

That is not a boring result. Nothing in the physics of a ball machine guarantees fairness; it has to be engineered, maintained, and checked. A needle at rest is a machine keeping a promise that could have been broken.

The one that hid

Then there is Eddie Tipton, who wrote the code that drew Hot Lotto and inserted a routine that, on a few days each year, narrowed the draw to a small set of combinations he could predict.

He was not caught by statistics. He was caught because a $16.5 million ticket went unclaimed for nearly a year and then was claimed through a lawyer on behalf of an anonymous trust, and because the surveillance video of the purchase was eventually recognised. The forensic recovery of his code came afterwards.

The sandbox's Tipton preset shows why. Tampering with two percent of draws, and only ever producing legitimate-looking combinations, leaves the instruments undisturbed. Run it for a realistic era and every needle rests, because there genuinely is not enough signal to see.

Statistics did do real work in that case — once suspicion existed, it quantified how implausible the associated win patterns were. But the honest lesson is that a panel like this has limits, and a page that only ever demonstrated its own successes would be selling something.

Why it exists anyway

Every needle at rest is a machine keeping its promise. The Observatory exists for the day one isn't — and for the quiet reassurance of every day one is.

  1. Kendall, M.G. & Babington Smith, B. “Randomness and Random Sampling Numbers.” JRSS (1938) — the first randomness test battery.
  2. Joe, H. (1993) — modified chi-square for lotto draws, correcting within-draw dependence.
  3. Rosenthal, J.S. CHANCE 27:1 (2014) — the Ontario retailer scandal, detected by expectation arithmetic.
  4. Haigh, J. (1997) and University of Salford (2004–05) — UK National Lottery audits finding no significant non-randomness.
  5. Benjamini, Y. & Hochberg, Y. (1995) — false discovery rate control.