We checked the dream book against 41 years of results.

Every entry in the Magnum, Sports Toto and Da Ma Cai 万字图 dream dictionaries, plus the 大伯公 and 观音 千字图 charts, scored dream by dream against every 4D prize ever published in Malaysia. Here is every number we got.

First, the part that isn't statistics. Reading a dream into a number is one of the oldest habits in Malaysian 4D, and it is a good one — it costs nothing, it gets shared across a family, and it turns a random draw into a story worth telling at the kopitiam. Nothing on this page asks you to stop. What we can do is answer the one question the tradition itself never set out to answer: over 41 years of real draws, did the numbers the book gives a dream come up any more often than the numbers it gives everything else? We measured it. The answer, effect sizes and all, is below.
Dream numbers came up exactly as often as chance predicts. 67 dream symbols were scored against 612,168 published prize slots, in a batch of 81 statistical tests. 0 landed under the flag threshold of p < 6.2e-4, which is Bonferroni-adjusted across the whole batch. This was not a weak test: for the typical dream it would have caught an edge as small as 5.5%.

1. What the dream book actually is

Before testing whether dictionary numbers win more — how many numbers does the dictionary even name?

As chance predicts

This is the check that had to come first, and it changed the whole test. We counted all 32,000 entries across the 5 dictionaries and charts and looked at which numbers they cover.

DictionaryLengthEntriesNumbers namedCoverageShape gap (pp)
Da Ma Cai 万字图4-digit10,00010,000 / 10,000100.0%0.00
Magnum4-digit10,00010,000 / 10,000100.0%0.00
Sports Toto4-digit10,00010,000 / 10,000100.0%0.00
大伯公千字图3-digit1,0001,000 / 1,000100.0%0.00
观音千字图3-digit1,0001,000 / 1,000100.0%0.00
Every one of these is a complete table. All 10,000 four-digit numbers carry a meaning in all three 4D books, and all 1,000 three-digit numbers carry one in both 千字图 charts. So the popular idea that a dream book "picks" a few special numbers is not what these books do — they label the whole space. It also means there is no such thing as a non-dictionary number to compare against, and the obvious test (dictionary numbers versus the rest) cannot be run at all. The real question moves down one level: to the dream.

The shape-gap column is the biggest difference, in percentage points, between the dictionary's mix of digit shapes (8888, 8887, 1212, 1123, 1234) and the mix across all 10,000 numbers. A dictionary that loved repeated digits would show up here, and comparing its hit rate against a flat baseline would then be misleading. A complete table reads exactly 0.00 by construction — we measured it rather than assuming it.

2. The yardstick

What does "chance" actually predict for one number?

Method

Every prize slot published by every Malaysian operator since 1985 — 1st, 2nd, 3rd, special and consolation — comes to 612,168. Spread over 10,000 numbers that is 61.22 wins per number. We do not use that flat figure as the yardstick, though: we use each number's own digit shape.

Digit shapeNumbersPrize slotsWins per number
Quad1063463.40
Triple36021,84560.68
Two pairs27016,66761.73
One pair4,320264,39361.20
All four different5,040308,62961.24

Why bother: if a dream mapped mostly to repeated-digit numbers, and repeated-digit numbers happened to come up more often, a flat baseline would credit the dream with an edge that belongs to the digits. So each dream's expectation is the sum of its own numbers' shape rates. On this archive the correction turns out to be tiny — the furthest shape from flat is Quad, 3.57% away from 61.22 wins per number — but that is a measurement, not something we assumed before looking.

3. Dream by dream

Do the numbers a dream maps to win more often than chance?

As chance predicts

This is the actual test. Each of the 67 dream symbols on this site pulls its own set of numbers out of the dictionaries — 4,418 distinct numbers between them — and every set is scored against 612,168 prize slots using the shape-matched yardstick above.

All dream numbers pooled
4,418 numbers · 270,383 prizes won · 270,462 expected · 61.20 vs 61.22 wins per number · -0.03% · p = 0.839
All dreams at once (goodness-of-fit)
χ² = 78.8 (df 68) · p = 0.173 · Cohen's w = 0.0113
All dreams at once — Da Ma Cai 万字图 only
χ² = 66.5 (df 67) · p = 0.493 · Cohen's w = 0.0104
All dreams at once — Magnum only
χ² = 66.7 (df 68) · p = 0.522 · Cohen's w = 0.0104
All dreams at once — Sports Toto only
χ² = 70.7 (df 64) · p = 0.263 · Cohen's w = 0.0107
Each dream symbol, its dictionary numbers' real winning record, and the record chance predicts.
DreamNumbersWins / numberExpectedGappCould detect
Rat7059.2461.22-3.23%0.034±5.2%
Mountain8359.4161.20-2.92%0.037±4.8%
Horse28662.1061.22+1.43%0.055±2.6%
Accident9459.7361.22-2.43%0.065±4.5%
Tiger6662.8961.21+2.75%0.081±5.4%
Praying4763.0961.23+3.03%0.105±6.4%
Pig10459.9961.22-2.01%0.108±4.3%
Snake7459.9261.23-2.15%0.149±5.1%
Hair9062.3761.22+1.88%0.164±4.6%
Turtle3059.2361.23-3.25%0.166±8.0%
Centipede1057.9061.17-5.35%0.192±13.8%
Temple2863.0761.21+3.03%0.213±8.3%
Scorpion367.0061.21+9.45%0.213±25.3%
Money9660.2961.26-1.59%0.224±4.5%
Rabbit1558.8761.26-3.90%0.243±11.3%
Lightning3762.6861.19+2.43%0.252±7.2%
Being chased4362.5161.22+2.11%0.283±6.7%
Baby10362.0261.20+1.34%0.288±4.3%
Dog10860.4561.22-1.26%0.307±4.2%
Teeth falling12260.5161.22-1.16%0.317±4.0%
Elephant4860.2161.26-1.72%0.355±6.3%
King / Emperor6162.1661.24+1.52%0.357±5.6%
Aeroplane6762.0961.24+1.39%0.377±5.3%
Wedding12561.8161.21+0.97%0.395±3.9%
Flying5062.1661.22+1.54%0.399±6.2%
Prawn2562.6061.31+2.10%0.418±8.7%
Chicken18860.7961.23-0.71%0.446±3.2%
Fish41661.5161.23+0.46%0.454±2.1%
Naked1362.8561.22+2.66%0.463±12.1%
Cat6761.9161.21+1.14%0.467±5.3%
Prison1559.8061.22-2.32%0.491±11.3%
Cow / Buffalo16761.6061.21+0.64%0.519±3.4%
Dead person22061.5561.22+0.54%0.528±3.0%
Coffin1760.0661.22-1.90%0.551±10.6%
Pregnant2262.2761.27+1.63%0.558±9.3%
Dragon7461.7461.22+0.86%0.566±5.1%
Hospital5261.8761.24+1.02%0.569±6.1%
Police9261.6461.20+0.72%0.589±4.6%
Flower32761.0161.21-0.34%0.630±2.4%
Gold5961.6861.22+0.75%0.657±5.7%
Frog2661.8161.18+1.03%0.690±8.6%
Fire30461.3861.21+0.28%0.699±2.5%
Goat / Sheep7761.5561.21+0.55%0.709±5.0%
Bee2761.7861.20+0.94%0.711±8.4%
Falling9360.9261.21-0.46%0.732±4.5%
Butterfly1561.9361.25+1.12%0.746±11.3%
Egg11061.4661.22+0.40%0.746±4.2%
Durian1860.6161.19-0.95%0.764±10.3%
Ant1661.7561.25+0.82%0.810±10.9%
Flood2561.6061.22+0.62%0.818±8.8%
Ghost7961.0861.23-0.24%0.870±4.9%
Sea21361.3161.23+0.14%0.872±3.0%
Crab3161.0661.29-0.37%0.881±7.9%
Car33361.1561.21-0.10%0.892±2.4%
Rice18561.1561.22-0.12%0.901±3.2%
Crocodile961.5661.22+0.55%0.914±14.6%
Bird11461.3061.22+0.13%0.917±4.1%
Pineapple1361.0061.22-0.36%0.932±12.1%
Spider1461.0761.25-0.29%0.945±11.7%
Thief11861.1661.21-0.08%0.948±4.0%
Monkey2461.1361.24-0.19%0.952±8.9%
Rain4361.3361.24+0.13%0.953±6.7%
Blood6361.1961.24-0.08%0.969±5.5%
Funeral3161.1961.24-0.07%0.985±7.9%
Drowning1361.1561.22-0.11%0.990±12.1%
Grave4361.2661.24+0.03%0.995±6.7%
Tree17461.2061.19+0.01%1.000±3.3%

Read the p column carefully. 2 of the 67 dreams came in under a naive p < 0.05, and pure chance predicts about 3.4. That is the whole story of this table: the "luckiest" dream in it is the one luck was always going to hand us.

The last column is how big an edge a dream's numbers would have needed for this test to flag it, given how many numbers it has. The median across the table is 5.5%, so a genuine 10% advantage on a typical dream would not have gone unnoticed. Dreams with only a handful of numbers can rule out much less — read those nulls loosely.

Each dream gets a two-sided binomial test with a continuity correction, against the sum of its own numbers' shape-matched rates. Dreams overlap (a coffin is also a funeral), so the goodness-of-fit above uses a strict partition instead: each dream's exclusive numbers, one cell for numbers two or more dreams claim, one for numbers no dream on this site claims. Prize slots on one board are drawn without replacement, which makes the true variance very slightly smaller than assumed — the conservative direction.

4. The 3D charts

Do the 千字图 three-digit numbers do any better?

As chance predicts

The 大伯公千字图 · 观音千字图 charts name three-digit numbers, and a three-digit number is played as the last three digits of a 4D result — which is how the dream lookup on this site already reads them. So they are scored against the 1,000-number tail space, where every published prize slot still counts and each tail is worth 612.2 wins. We never pad a chart's number out to four digits: 372 does not become 0372, because the chart never said that.

All 千字图 dream numbers pooled
369 three-digit numbers · 613.6 vs 612.2 wins per number · +0.23% · p = 0.174
All dreams at once (goodness-of-fit)
χ² = 78.2 (df 62) · p = 0.081 · Cohen's w = 0.0113
All dreams at once — 大伯公千字图 only
χ² = 58.3 (df 54) · p = 0.322 · Cohen's w = 0.0098
All dreams at once — 观音千字图 only
χ² = 52.6 (df 57) · p = 0.641 · Cohen's w = 0.0093

The 3D charts get no per-dream tests. With 1,000 entries a dream maps to a handful of numbers, and adding a hundred-odd low-power tests would have tripled the batch — making the threshold stricter for every real test — while being able to detect nothing. That is a deliberate choice, stated rather than quietly applied.

How to read these numbers

A p-value is the probability of seeing a gap this big, or bigger, if the dream made no difference at all. A small p means the gap is hard to explain by luck. It never means the dream caused anything.

Run enough tests and something will look special by accident. This page runs 81 of them in one batch, so at the usual p < 0.05 line three or four "findings" are guaranteed before we start. The flag threshold here is therefore p < 6.2e-4 — 0.05 divided by the batch size — and only tests under that line are marked.

Every p on this page has its effect size beside it, because with over 600,000 prize slots a chi-square will happily flag a rounding error. "Wins per number" is the column to read: it is in the units a punter thinks in, and if observed and expected agree to the first decimal there is nothing there no matter what the p says.

A null result only means something if the test could have found something. That is what the "could detect" column is for. We publish it so you can tell the difference between "there is no edge here" and "we could not have seen one".

What this page does not test: whether your dream matched the book's wording, whether last night's dream predicts anything, or the many private family charts that were never written down. It tests the published dictionaries this site carries, matched by keyword, against the published archive. That is a real question and this is a real answer to it — it is just not every question.

So should you stop playing your dream number?

That is not our call, and it is not really what the numbers say either. What they say is narrower: a dream number is not more likely to win than any other number. So if you enjoy the custom, enjoy it — buy the number your grandmother's book gives you, because it costs exactly what any other number costs and it means a great deal more. Just do not let anyone sell you a dream number as a better bet, or charge you extra for one. The book is worth keeping. That particular claim isn't.

Computed from the full archive on 2026-08-19. Recomputed nightly after the draw.