← Lab Blog

Can a combination's shape shrink the space?

shapecompressiondimensionalityliftfair nulltzokereurojackpot

Two mirages of "safe" compression

Responsible play note: hobby stats and code. Lotteries are luck-first; none of this predicts a draw.

The hope

The fairness audit closed the prediction door: the draw is fair and memoryless, so you can't call the numbers. But there's a gentler thing you might still do — compression. A combination has a shape: the sum of its five numbers, how spread out they are, how they cluster. And shape is wildly non-uniform — a random ticket's sum is bell-shaped, so sums near 20 or 220 are genuinely rare. Surely, then, you can carve away the weird-shaped corners of the space and shrink the pool without ever dropping a real winner?

That's the dream: shrink the haystack for free. This post chases it — through two mirages that look exactly like success — to the honest answer.

The measure

For any shape feature, take the band that keeps the central 99% of real draws, and ask how much of the space that same band keeps. The ratio is the safe-trim lift:

lift = (history kept) / (space kept)      at 99% recall
  • lift ≈ 1 → the band cuts space and history at the same rate. No free lunch.
  • lift > 1 → the band throws away lots of space while keeping almost all winners. Free compression.

Mirage #1 — the feature that cuts half the space

Run the search naively and it lights up. In Joker, a band on E0 keeps 99% of draws while discarding 46% of the space (lift 1.84); in Euro, ED1 discards 56% (lift 2.28). That's an enormous free cut — pool halved, no winners lost. Pop the champagne?

Look closer at where those features actually live:

feature history range space range
Joker E0 0 – 1820 1680 – 1905
Joker E1 0 – 1290 1121 – 1380
Euro ED1 0 – 502 113 – 546

The two ranges barely overlap. These aren't shape at all — they're point-in-time running quantities (they grow over the history), computed on one scale in the draw log and a completely different one in the current space snapshot. The "band from history" lands in a different universe in space, so the 46% "cut" is a units mismatch, not a trim. (This is exactly why the pool's optimizer excludes the E*/ED* family.) Mirage.

The truth in one dimension

Restrict to features that genuinely describe the five numbers — sum, range, AC, spread, clustering, bounding box, stidx — and the magic evaporates:

feature lift (Joker) lift (Euro)
sum 0.999 1.006
range 0.994 0.996
cluster (euclid) 0.999 1.008
bounding-box area 0.997 0.998
AC · SD · Cols · sameDs · … 0.99 0.99
all clean shape (mean) 0.994 0.996

Every genuine shape feature sits at lift ≈ 1.00. Put the real-draw distribution of sum on top of the all-combinations distribution and they're the same curve — winners fill the space evenly:

Cutting a shape region removes combos and winners in lockstep. There's nothing to compress, because a fair draw already sprinkles winners uniformly across shape-space.

Mirage #2 — the space goes "empty" in higher dimensions

One dimension can't compress — but surely combinations of features can? Slice the space into a grid on 2, then 3, then 4 shape features and count the cells that contain combos but zero real draws. The empty space climbs fast — in Euro from 2.7% (2D) to 35% (3D). A third of the space, apparently, is shape the lottery never visits. Carve it off?

The dashed line is the tell:

The gold/blue line ("space in empty cells") soars — but the black dashed line, "…empty cells that should have contained draws" (expected ≥ 5), stays flat on zero. Every one of those empty cells is empty for a boring reason: with only ~1,000–3,300 draws spread across thousands of tiny 4-D cells, most cells simply haven't been sampled yet — they expect far less than one draw. There is no region the space fills that real draws genuinely shun. The "emptiness" is the curse of dimensionality, not structure. Slice finely enough and any random sample looks like it's dodging most of the grid; cut those cells and you'd just be deleting winners you haven't seen land yet.

The joint check confirms it: box all four clean features into their central 99% and you cut 2–4% of the space at the cost of ~2% of the winners — lift 1.00–1.02. Proportional, every time.

Why it has to be this way

Both mirages dissolve into the same fact from the fairness audit: the draw is a uniform sample of the whole combination space. A uniform sample fills every region — 1-D band, 4-D box, any shape you like — at the region's own density. So the winners-per-combo rate is constant across shape, and "cut space, keep winners" is mathematically impossible. Fairness doesn't just forbid prediction; it forbids free compression too.

So where does a smaller pool actually come from?

Two honest places, neither of them a shape mirage:

  1. Construction, not carving. The minimum-covering design guarantees every draw shares ≥4 numbers with some line — that's a proof about coverage, and it's the real size lever.
  2. An honest trade. You can shrink the lift-pool with shape bands, but Chapter's-worth of measurement says each 1% of space you remove costs ~1% of your winners. That's a legitimate size/recall trade — made safe only because the cover sits underneath and catches the draws the trade drops.

There is no free haystack-shrink. There's a guarantee, and there's a trade you enter with open eyes.

Verdict

Shape can't compress the space for free — and the two ways it looks like it can are both instructive frauds: a frame-mismatch feature that cuts a phantom 46%, and a dimensionality mirage that empties a third of the space with pure sparsity. Measure the effect size, check what an empty cell should have held, and both collapse to lift ≈ 1. It's the same lesson as the rest of the lab: the honest edges are construction and rigor, never a corner of the space where the winners forgot to go.

➡️ Reproduce every number and chart: shape_compression.py (needs each game's tot_df_dynamic_basic.parquet and hist_df.csv).