Seasons, decades and what follows what.

Three questions about WHEN a number was drawn, not which number it was. Two are tests we expect to fail — the calendar and the previous draw should tell you nothing — and one is pure nostalgia, printed beside the arithmetic that keeps it honest.

The calendar tells you nothing, and neither does last night. 25 tests in this batch, 0 below the Bonferroni-adjusted threshold of p < 2.0e-3, over 718,743 published prize slots from 1985-04-25 to 2026-10-12.

1. Does the calendar move the numbers?

CNY month, Hari Raya, month-end — do any of them change what comes out?

No effect

Every published prize slot in the archive — 718,743 of them across 9,134 draw dates and 31,260 operator boards — sorted by when it was drawn. The test is whether the MIX of digits and digit shapes differs by period, never how many draws a period holds.

That distinction matters: the government approves extra special draws around the festivals, so festival weeks genuinely hold more draws. Counting draws would "find" a CNY effect that is only the draw calendar. Each test below conditions on the period's own slot count, so only the shape of the numbers is on trial.

Month of year × digit

Colour grid: how far each cell sits from what a flat draw would give.
Row0123456789
Jan-0.03-0.09-0.05+0.07+0.10-0.01-0.04-0.02+0.07+0.02
Feb-0.01-0.04-0.06-0.01+0.08+0.02+0.02-0.02+0.03-0.01
Mar-0.05-0.08-0.10+0.01-0.01+0.11+0.04+0.01+0.09-0.02
Apr-0.01+0.06+0.04-0.03-0.03-0.01+0.01-0.06-0.00+0.03
May+0.00+0.03-0.00+0.06-0.07-0.06+0.01+0.04-0.04+0.04
Jun-0.06+0.06+0.05+0.01-0.11+0.08-0.03-0.05+0.11-0.06
Jul+0.04+0.05+0.04-0.02-0.02-0.07-0.03+0.01-0.01+0.03
Aug+0.02-0.01+0.13-0.02+0.00-0.09-0.11-0.00+0.02+0.08
Sep+0.04+0.04-0.02+0.02+0.10+0.00-0.07-0.05-0.03-0.05
Oct+0.07-0.01+0.02+0.03-0.10-0.09+0.11+0.02-0.05-0.01
Nov-0.05+0.01+0.00-0.03-0.06+0.11+0.07+0.08-0.13-0.00
Dec+0.05-0.00-0.05-0.09+0.10+0.03+0.02+0.05-0.06-0.05

below expectedabove expectedEvery cell prints its own value — the colour is only a shortcut.

Month × digit
χ² = 89.8 on df = 99 · p = 0.736 · Cramér's V = 0.0019 · worst cell 0.13 pp
Month × digit shape
χ² = 57.8 on df = 44 · p = 0.079 · Cramér's V = 0.0045 · worst cell 0.50 pp

Festival windows

WindowYears hitDraw datesBoards / datePrize slots
Chinese New Year ±7 daysinside the window41/423843.6732,374
Chinese New Year ±7 daysrest of the year—8,7503.41686,369
Hari Raya Aidilfitri ±7 daysinside the window43/433763.2828,397
Hari Raya Aidilfitri ±7 daysrest of the year—8,7583.43690,346
CNY window × digit
χ² = 10.2 on df = 9 · p = 0.332 · Cramér's V = 0.0019 · worst cell 0.16 pp
CNY window × digit shape
χ² = 5.7 on df = 4 · p = 0.224 · Cramér's V = 0.0028 · worst cell 0.19 pp
Raya window × digit
χ² = 11.3 on df = 9 · p = 0.258 · Cramér's V = 0.0020 · worst cell 0.17 pp
Raya window × digit shape
χ² = 7.3 on df = 4 · p = 0.119 · Cramér's V = 0.0032 · worst cell 0.65 pp

Hari Raya moves about 11 days earlier every Gregorian year, so it cannot be approximated by a fixed month — that would silently be testing "September". The 43 anchor dates here are 1 Syawal from the tabular Islamic calendar, which is arithmetic and therefore reproducible. Malaysia's official date is declared by moon sighting and can land a day or two either side of it; the ±7-day window is wide enough to cover that slack, and wide enough to cover the whole holiday period.

Festivals we did NOT test, and why: Deepavali (Hindu lunisolar — needs an ephemeris this site does not carry) · Thaipusam (same reason) · Hari Raya Aidiladha (same machinery, but it would add two more tests to the batch for a window the folklore does not name)

Start, middle and end of the month

Colour grid: how far each cell sits from what a flat draw would give.
Row0123456789
1st–5th+0.01-0.00-0.03+0.06-0.02+0.05-0.01-0.02-0.00-0.03
6th–25th-0.01-0.01+0.02-0.02+0.02-0.03+0.02+0.00-0.01+0.00
26th–end+0.02+0.03-0.06+0.00-0.04+0.05-0.05+0.02+0.02+0.01
Month phase × digit
χ² = 14.6 on df = 18 · p = 0.689 · Cramér's V = 0.0016 · worst cell 0.06 pp
Month phase × digit shape
χ² = 5.1 on df = 8 · p = 0.742 · Cramér's V = 0.0019 · worst cell 0.20 pp

All four slices use the same universe and the same two tests, so they are directly comparable. Nothing in this section is a prediction: even a real seasonal effect would tell you about the past, not about tonight.

2. The hottest numbers of every decade

Which numbers ruled the 80s, the 90s, the 2000s, the 2010s and the 2020s?

For fun

Every published prize slot in a decade, pooled across all operators and all prize tiers, ranked. This section is entertainment — it is a scoreboard of what already happened, and it carries no information about what comes next.

Read this first. A "hottest number of the decade" is guaranteed to look impressive, because it is the maximum of 10,000 counts — the biggest of 10,000 coin-flip totals looks lucky even when every coin is fair. So each decade prints what the top count would have reached on perfectly fair draws, and a p-value for whether the real top beat it. Where that p is ordinary, the decade's champion is chance wearing a crown.

1980s

1985-04-25 → 1989-12-30
741 boards17,033 prize slots8,131 different numbers seen1.70 hits per number on average
Magnum 4D

Top number reached 9 hits. On perfectly fair draws the decade's best would average 8.6, and about 0.7 of the 10,000 numbers would reach 9 or more anyway — p = 0.517. It ran a little hot, and that is what a maximum does.

1990s

1990-01-01 → 1999-12-29
4,314 boards99,176 prize slots9,999 different numbers seen9.92 hits per number on average
Magnum 4DDa Ma Cai 1+3DSportsToto 4D

Top number reached 23 hits. On perfectly fair draws the decade's best would average 24.1 — so this champion is, if anything, slightly cool. About 2.6 of the 10,000 numbers would reach 23 or more by chance alone; p = 0.929. There is nothing here to play.

2000s

2000-01-01 → 2009-12-30
5,004 boards115,072 prize slots10,000 different numbers seen11.51 hits per number on average
Magnum 4DSportsToto 4DDa Ma Cai 1+3D

Top number reached 25 hits. On perfectly fair draws the decade's best would average 26.7 — so this champion is, if anything, slightly cool. About 3.8 of the 10,000 numbers would reach 25 or more by chance alone; p = 0.978. There is nothing here to play.

2010s

2010-01-02 → 2019-12-31
7,883 boards181,267 prize slots10,000 different numbers seen18.13 hits per number on average
Magnum 4DSportsToto 4DDa Ma Cai 1+3DSpecial CashSweepSabah 88 4DLucky Hari Hari 7:30PMSandakan 4DSingapore 4D

Top number reached 37 hits. On perfectly fair draws the decade's best would average 36.7, and about 0.7 of the 10,000 numbers would reach 37 or more anyway — p = 0.484. It ran a little hot, and that is what a maximum does.

2020s

2020-01-01 → 2026-10-12
13,318 boards306,195 prize slots10,000 different numbers seen30.62 hits per number on average
Lucky Hari Hari 7:30PMGrand DragonLucky Hari Hari 3:30PMSportsToto 4DMagnum 4DDa Ma Cai 1+3DSpecial CashSweepSandakan 4DSingapore 4DSabah 88 4D9 Lotto

Top number reached 55 hits. On perfectly fair draws the decade's best would average 54.1, and about 0.5 of the 10,000 numbers would reach 55 or more anyway — p = 0.368. It ran a little hot, and that is what a maximum does.

Archive depth is NOT the same across decades and the counts are not comparable between them: the 1980s hold only Magnum from April 1985, the 2010s added the East Malaysia operators, and the 2020s added Grand Dragon's nightly draw. Each block prints its own board count, slot count and operator list so you can see exactly what it is built on.

3. Does last night's first digit predict tonight's?

The 10×10 map of which leading digit follows which, draw after draw.

No effect

31,167 consecutive pairs of 1st-prize numbers across 10 operators. Each row is the leading digit of one draw, each column the leading digit of the very next draw by that same operator. If the machine had any memory at all, some cell in this grid would be too warm.

Colour grid: how far each cell sits from what a flat draw would give.
Row0123456789
0304297347333349303291336333326
1300294299270313289285285260279
2333308303292312314327303305321
3310269316322345318307333305314
4352271303338329325324330327359
5314288300276296270315329301323
6303296288331308303292304336318
7354277310340351314312329281323
8296273324316336287318307310322
9352300333324317288309336331298

below expectedabove expectedEvery cell prints its own value — the colour is only a shortcut.

Pooled transition table
χ² = 76.6 on df = 81 · p = 0.619 · Cramér's V = 0.0165 · worst cell 1.11 pp
All operators' tables, added
χ² = 825.3 on df = 810 · p = 0.347
OperatorPairsBreaksχ²pVpp
Magnum 4D6,821273.00.7240.0342.60
Da Ma Cai 1+3D5,995388.10.2760.0402.91
SportsToto 4D5,695269.50.8160.0373.02
Lucky Hari Hari 7:30PM2,996083.50.4040.0564.96
Grand Dragon2,294090.50.2210.0665.35
Special CashSweep1,546372.10.7510.0725.24
Sandakan 4D1,540497.00.1080.0846.70
Singapore 4D1,488278.20.5680.0765.40
Sabah 88 4D1,403587.90.2810.0836.25
Lucky Hari Hari 3:30PM1,389085.50.3440.0837.20
All operators31,1672176.60.6190.0171.11

Chains never cross operators, and never cross a hole in the archive: two draws more than 14 days apart are not consecutive draws, so the pair is dropped instead of chained — 21 pairs went that way. 2 draw dates carrying more than one 1st prize were dropped too; that is a filing problem, not a night with two winners. Operators with fewer than 500 usable pairs are left out entirely, because a 10×10 table needs about five transitions per cell before its chi-square means anything.

The flatness IS the finding. A fair machine has no memory, so the honest expectation was a grid with nothing in it — and a 10×10 grid gives 100 chances for noise to look like a pattern, which is exactly why the chi-square is run on the whole table at once instead of on the warmest cell.

How to read this page

A p-value is the chance of seeing a result at least this lopsided if nothing is going on. Small p means "this would be unusual on fair draws" — it never means "this will happen again".

This page runs 25 tests in one batch. Run enough tests and one will look significant by luck alone, so the flag line is Bonferroni-adjusted: 0.05 divided by 25, or p < 2.0e-3. Anything above that line is noise, no matter how tempting it looks.

Every p is printed with its effect size. With 612,000 prize slots a chi-square will happily flag a difference of a tenth of a percentage point, so Cramér's V and the worst single cell — in percentage points — are what tell you whether a small p is a real difference or just a long archive.

The decade section is labelled "for fun" and is not part of the flag count in the same spirit as the others: its p-values ask only whether a decade's champion beat chance, and every one of them is published whether it did or not.

A null result is the point. We publish these because the tests were run honestly and the beliefs did not survive them — not because we were hoping for a headline.

Rebuilt nightly. Figures as of 2026-10-13.