Is the draw actually random? We test it.

Chi-square uniformity on every digit position, runs tests and serial correlation on every operator's full draw history — recomputed nightly, p-values published. No other Malaysian results site runs this audit.

Something is worth a second look — see the highlighted rows. 8 operators, 80 statistical tests. The flag threshold is p < 6.3e-4 (Bonferroni-adjusted) — strict on purpose, because running this many tests guarantees a few small p-values by pure chance.
What a flag means — and doesn't. A flagged row says the STORED draw history fails a uniformity test. That has two candidate explanations: an artifact in how the data was collected, or the operator's draw process itself — and the honest order of investigation is data first. Flagged operators get a cross-source verification pass before we draw any conclusion; we do not accuse anyone based on a p-value. Notably, the most-regulated operators pass every test through the exact same data pipeline.
OperatorDrawsDigit positions 1–4 (p)Runs (p)Serial (p)Last 365d (min p)
Sandakan 4D⚠️1,5203.2e-410.1815.0e-101.4e-90.0040.0867.3e-7
Grand Dragon⚠️2,2391.8e-339.0e-121.4e-201.7e-180.4470.4112.8e-4
Sabah 88 4D1,3840.1290.0010.2950.9560.2700.5750.020
Da Ma Cai 1+3D5,9750.1340.4370.4670.4690.1000.1910.013
SportsToto 4D5,6730.0150.5820.3670.9250.1930.2960.304
Magnum 4D6,8040.4390.7900.5560.1200.0350.3940.126
Singapore 4D1,4670.8500.4480.7720.7770.6010.7270.140
Special CashSweep1,5250.2810.8280.4450.7600.5390.5950.180

Position columns: chi-square uniformity of digits 0–9 at each of the four positions over all top-3 prizes. Runs: Wald–Wolfowitz on the 1st-prize sequence. Serial: lag-1 correlation of consecutive 1st prizes. Sorted worst-p first.

How to read the p-values

A p-value answers: if the draw were perfectly fair, how often would we see a pattern at least this extreme by luck alone? Small p = surprising under fairness. It is NOT the probability the draw is rigged.

We run 80 tests, so some small p-values are guaranteed by chance — about 1 in 20 tests lands under 0.05 even on perfect data. That's why the flag line sits at p < 6.3e-4, not 0.05: it corrects for how many chances we gave luck.

What would failure look like? A digit position with a persistently tiny p across recomputes, or a runs/serial failure holding up in the recent window. One-off borderline values are what randomness normally produces — and 'everything passes' is the expected, publishable result.