Skip to main content
Pick-N Analytics Lab

Prediction-oriented visualisations

Seven charts that model the lottery as a structured inference problem. Live data tables are empty — showing seeded demo data until the Python pipeline populates them.

Positional frequency heatmap

Pick-3 style simulation: 3 positions × 10 digits. Cell colour = standardised residual against a uniform null per position. Bonferroni-corrected threshold shown for 30 tests.

3 positions × 10 values · 30 cells · 0 above Bonferroni threshold (expected ~1.5 by chance)
Residual:
±3σ
0123456789P1P2P3P1·0 · obs 99 · exp 100.0 · z -0.10P1·1 · obs 114 · exp 100.0 · z +1.40P1·2 · obs 119 · exp 100.0 · z +1.90P1·3 · obs 90 · exp 100.0 · z -1.00P1·4 · obs 131 · exp 100.0 · z +3.10P1·5 · obs 95 · exp 100.0 · z -0.50P1·6 · obs 103 · exp 100.0 · z +0.30P1·7 · obs 91 · exp 100.0 · z -0.90P1·8 · obs 94 · exp 100.0 · z -0.60P1·9 · obs 94 · exp 100.0 · z -0.60P2·0 · obs 101 · exp 100.0 · z +0.10P2·1 · obs 101 · exp 100.0 · z +0.10P2·2 · obs 84 · exp 100.0 · z -1.60P2·3 · obs 95 · exp 100.0 · z -0.50P2·4 · obs 100 · exp 100.0 · z +0.00P2·5 · obs 96 · exp 100.0 · z -0.40P2·6 · obs 117 · exp 100.0 · z +1.70P2·7 · obs 88 · exp 100.0 · z -1.20P2·8 · obs 113 · exp 100.0 · z +1.30P2·9 · obs 105 · exp 100.0 · z +0.50P3·0 · obs 104 · exp 100.0 · z +0.40P3·1 · obs 85 · exp 100.0 · z -1.50P3·2 · obs 98 · exp 100.0 · z -0.20P3·3 · obs 109 · exp 100.0 · z +0.90P3·4 · obs 92 · exp 100.0 · z -0.80P3·5 · obs 101 · exp 100.0 · z +0.10P3·6 · obs 111 · exp 100.0 · z +1.10P3·7 · obs 93 · exp 100.0 · z -0.70P3·8 · obs 103 · exp 100.0 · z +0.30P3·9 · obs 104 · exp 100.0 · z +0.40

Each cell shows the standardized residual for one (position, value) pair. Orange borders mark cells exceeding the Bonferroni-corrected threshold for 30 simultaneous tests. Under a fair RNG, ~1.5 false positives are expected.

Hot-cold rolling trend

Trailing-window z-scores for the 5 most variable digits over 500 simulated draws. The grey envelope marks the expected ±2σ null band.

5 tracked digits · trailing window 100 draws
35012

Each line tracks one digit's z-score in a trailing window of 100 draws. The shaded band is the null-envelope reference. Lines that stay within the band are consistent with uniform draws. The y-axis is "trailing-window z-score" — not "hotness".

Pairwise co-occurrence

10×10 digit co-occurrence matrix from 1,000 simulated draws (5 digits per draw, sampled without replacement). Upper-triangle emphasis; diagonal hatched.

45 pairs analyzed · 45 above Bonferroni threshold (expected ~2.3 by chance)
Residual:
±3σ
01234567890123456789Same number — not applicable0–1 · obs 100 · exp 250.0 · z -9.490–2 · obs 121 · exp 250.0 · z -8.160–3 · obs 106 · exp 250.0 · z -9.110–4 · obs 115 · exp 250.0 · z -8.540–5 · obs 93 · exp 250.0 · z -9.930–6 · obs 100 · exp 250.0 · z -9.490–7 · obs 119 · exp 250.0 · z -8.290–8 · obs 120 · exp 250.0 · z -8.220–9 · obs 114 · exp 250.0 · z -8.601–0 · obs 100 · exp 250.0 · z -9.49Same number — not applicable1–2 · obs 98 · exp 250.0 · z -9.611–3 · obs 105 · exp 250.0 · z -9.171–4 · obs 108 · exp 250.0 · z -8.981–5 · obs 114 · exp 250.0 · z -8.601–6 · obs 87 · exp 250.0 · z -10.311–7 · obs 126 · exp 250.0 · z -7.841–8 · obs 104 · exp 250.0 · z -9.231–9 · obs 129 · exp 250.0 · z -7.652–0 · obs 121 · exp 250.0 · z -8.162–1 · obs 98 · exp 250.0 · z -9.61Same number — not applicable2–3 · obs 122 · exp 250.0 · z -8.102–4 · obs 131 · exp 250.0 · z -7.532–5 · obs 116 · exp 250.0 · z -8.472–6 · obs 103 · exp 250.0 · z -9.302–7 · obs 118 · exp 250.0 · z -8.352–8 · obs 126 · exp 250.0 · z -7.842–9 · obs 121 · exp 250.0 · z -8.163–0 · obs 106 · exp 250.0 · z -9.113–1 · obs 105 · exp 250.0 · z -9.173–2 · obs 122 · exp 250.0 · z -8.10Same number — not applicable3–4 · obs 122 · exp 250.0 · z -8.103–5 · obs 121 · exp 250.0 · z -8.163–6 · obs 89 · exp 250.0 · z -10.183–7 · obs 112 · exp 250.0 · z -8.733–8 · obs 102 · exp 250.0 · z -9.363–9 · obs 124 · exp 250.0 · z -7.974–0 · obs 115 · exp 250.0 · z -8.544–1 · obs 108 · exp 250.0 · z -8.984–2 · obs 131 · exp 250.0 · z -7.534–3 · obs 122 · exp 250.0 · z -8.10Same number — not applicable4–5 · obs 125 · exp 250.0 · z -7.914–6 · obs 107 · exp 250.0 · z -9.044–7 · obs 112 · exp 250.0 · z -8.734–8 · obs 125 · exp 250.0 · z -7.914–9 · obs 111 · exp 250.0 · z -8.795–0 · obs 93 · exp 250.0 · z -9.935–1 · obs 114 · exp 250.0 · z -8.605–2 · obs 116 · exp 250.0 · z -8.475–3 · obs 121 · exp 250.0 · z -8.165–4 · obs 125 · exp 250.0 · z -7.91Same number — not applicable5–6 · obs 97 · exp 250.0 · z -9.685–7 · obs 115 · exp 250.0 · z -8.545–8 · obs 103 · exp 250.0 · z -9.305–9 · obs 105 · exp 250.0 · z -9.176–0 · obs 100 · exp 250.0 · z -9.496–1 · obs 87 · exp 250.0 · z -10.316–2 · obs 103 · exp 250.0 · z -9.306–3 · obs 89 · exp 250.0 · z -10.186–4 · obs 107 · exp 250.0 · z -9.046–5 · obs 97 · exp 250.0 · z -9.68Same number — not applicable6–7 · obs 118 · exp 250.0 · z -8.356–8 · obs 96 · exp 250.0 · z -9.746–9 · obs 129 · exp 250.0 · z -7.657–0 · obs 119 · exp 250.0 · z -8.297–1 · obs 126 · exp 250.0 · z -7.847–2 · obs 118 · exp 250.0 · z -8.357–3 · obs 112 · exp 250.0 · z -8.737–4 · obs 112 · exp 250.0 · z -8.737–5 · obs 115 · exp 250.0 · z -8.547–6 · obs 118 · exp 250.0 · z -8.35Same number — not applicable7–8 · obs 111 · exp 250.0 · z -8.797–9 · obs 121 · exp 250.0 · z -8.168–0 · obs 120 · exp 250.0 · z -8.228–1 · obs 104 · exp 250.0 · z -9.238–2 · obs 126 · exp 250.0 · z -7.848–3 · obs 102 · exp 250.0 · z -9.368–4 · obs 125 · exp 250.0 · z -7.918–5 · obs 103 · exp 250.0 · z -9.308–6 · obs 96 · exp 250.0 · z -9.748–7 · obs 111 · exp 250.0 · z -8.79Same number — not applicable8–9 · obs 114 · exp 250.0 · z -8.609–0 · obs 114 · exp 250.0 · z -8.609–1 · obs 129 · exp 250.0 · z -7.659–2 · obs 121 · exp 250.0 · z -8.169–3 · obs 124 · exp 250.0 · z -7.979–4 · obs 111 · exp 250.0 · z -8.799–5 · obs 105 · exp 250.0 · z -9.179–6 · obs 129 · exp 250.0 · z -7.659–7 · obs 121 · exp 250.0 · z -8.169–8 · obs 114 · exp 250.0 · z -8.60Same number — not applicable

Upper triangle shows co-occurrence residuals; lower triangle is mirrored at 40% opacity for symmetry. Diagonal is hatched (same-number pairs). Orange borders mark Bonferroni-significant cells. Under uniform draws, ~2.3 false positives expected for 45 pairs.

Conditional probability matrix

Row-normalised transition probabilities P(digitt | digitt-1) per position. Deviation from uniform suggests short-range temporal dependency.

CDM posterior per position

Composite Decision Model posterior probability with approximate 95% credible interval. Bars above the dashed uniform-prior line are over-represented in the ensemble. Highlighted numbers (3, 7) appear in the candidate ranking below.

3 positions · 10 candidates each · uniform prior = 0.100
Position 1
Position 2
Position 3

Candidate score ranking

Top 10 combinations by weighted ensemble score. Stacked bars decompose contribution from frequency, gap, and CDM signals. EV is walk-forward adjusted. Combos are blurred in demo mode.

Top 10 candidates by composite score
Demo mode — combos hidden
EV ($)
-0.37
-0.23
-0.28
-0.25
-0.24
-0.26
-0.31
-0.32
-0.41
-0.48
Frequency
Gap
CDM

ROI / bankroll simulation

Cumulative bankroll over 200 simulated draws. Strategy line vs random-pick baseline. Red shading marks the drawdown zone below break-even. House edge is structural — both lines trend negative, but the strategy preserves bankroll slightly longer.

Initial bankroll $1,000 · $2/ticket
Max drawdown: $-18 · Peak: +$239
Strategy
Random baseline

Ready to generate a pick?

The charts above show the statistical machinery. The actual swarm debate — 12 agents voting on your selected signals — happens in the Predictions Lab.