Project cockpit

4dmoneybox - 4D number-randomness research

Live status of everything the client has asked for - what's shipped, what's pending, and a dated log of every change. Client picked Option A: a research-report page. Site is a Mandarin-primary statistical study of whether Singapore 4D draws are truly random.

8Shipped
2Pending
10Total

Pending

Open items not yet shipped.

AWAITING2026-07-12

Client feedback on the v1 report page.

Draft link sent to John Ling 亚胜 + Dominic in the group (both ZH and EN). Waiting on their review before further changes.

PHASE Blater

Interactive analysis tool - client picks test + date range, live charts. Expand history beyond the current 470-draw window.

Deferred by design: Option A first (recommended + client-approved), B builds on the same data foundation.

Changelog

Everything shipped this session, newest first.

DONE2026-07-12

Backtested the client's actual 四方财神 method + layman-proof section (live).

Client sent their method: an "AI" offers the top 4 digits per position from 10yr data, pick one per column. Tested it out of sample across 17yr (`test_moneybox.py`): the winning digit lands in the tool's 4 suggestions 40.1% of the time vs 40.0% by chance (z=+0.85, no edge); 1st-prize coverage 39.2%; buying all 256 combos lift 1.05x. Built a step-by-step "We tested the 四方财神 method" page section with a checkable worked table of the last 12 draws (winning digit highlighted on a hit). Freddie approved deploy; live and client pointed to it, framed as the credibility play.

DONE2026-07-12

Test 3 - out-of-sample backtest + 17-year dataset (Freddie's experiment).

Backfilled history to 2,608 draws (Aug 2009 → Jul 2026). Walk-forward backtest: train on a window, "buy" 10 numbers, count hits in the next draw; swept windows 3–120 months, two strategies. No window beats chance (lifts ≈1.0; the only significant result is a strategy doing worse than random). The old digit-2 blip (z=−3.12 on 3yr) washed out to z=−1.04 on 17yr - added as the "why we don't chase patterns" lesson. New bilingual Test 3 section live; client told. Honesty line held: "no window beats chance," never "best window to win."

DONE2026-07-12

Full English version + header language toggle.

Rebuilt the page with two complete language versions (proper English, not a translation stub) and a 中文 / English toggle top-right - instant switch, no reload, remembers the choice. Default Chinese. Both states screenshot-verified. Group notified so Dom can guide the client in English.

DONE2026-07-12

Report page (Option A) built - Mandarin-primary statistical study.

Single self-contained page: hypothesis, data & method, digit-frequency chart, per-position chi-square table, digit-sum curve, hot/cold numbers, and an honest verdict. Inline SVG charts (no external deps) → deploys straight to CF Pages. Includes a "no gambling advice / no win promise" disclaimer.

DONE2026-07-12

Randomness analysis engine.

Digit frequency, per-position & pooled chi-square (hand-verified against df=9 critical values), digit-sum distribution, hot/cold. Result: all 4 positions consistent with uniform; a single marginal pooled blip (digit 2, z=−3.12) shown honestly as random fluctuation, not a "finding". Verdict: draws consistent with fair randomness - no exploitable structure.

DONE2026-07-12

Data pipeline + dataset.

Fetch/parse from Singapore Pools' official per-draw endpoint (cross-checked against published results). 470 draws compiled (Jul 2023 → Jul 2026), 10,810 winning numbers. On-disk cache; extensible to full history.

DONE2026-07-12

WhatsAgent set up for the group; client confirmed Option A.

Bilingual (Mandarin-first) ack persona; intro-on-join baked into the provisioner. End client John Ling 亚胜 confirmed Option A (research report). Scope agreed.