A drawing, not a dashboard

How the data actually works

Every figure on this page was measured today on your machine. Nothing is estimated unless it says so. No decisions have been taken and nothing is being built — this is here so we are looking at the same thing.

1

Two layers: one true, one fast

The truth is too slow to sweep. The fast thing is only ever a copy. Both, or neither works.

LAYER 1 — ACTUAL TRADED PRICES83,110,488 trades, in 33 tables, 30.4 GBEvery price at which somebody really traded. This is the only thing we know to be true.One game today: ~90s · indexed: ~0.03s · all-league sweep: ~10 minbuilt from — never inventedLAYER 2 — THE GRID (a summary, for speed)5,085,000 numbers, one file, 25.3 MBOne price a minute per runner. Holds no truth of its own — everything in it comes from Layer 1.All-league sweep: 207ms. This is why “back at 120, lay at 15” answers instantly.

You need both. Layer 1 is true but too slow to sweep. Layer 2 is fast but is only ever a copy. Today's mistake was having Layer 2 with no Layer 1 behind it — so when I put invented prices into it, nothing could catch that except you noticing the numbers looked wrong.

2

Why a median broke it

Betfair prices sit on rungs, and the gap between rungs changes with the price.

2.002.022.042.062.082.102.122.012.032.052.072.092.11▎ real rungs — prices that can exist✕ what a median invents — prices that cannot
Price rangeOne tick is…which is this much of the price
1.01 – 2.000.010.5% – 1.0%
2.00 – 3.000.020.7% – 1.0%
3.00 – 4.000.051.3% – 1.7%
4.00 – 6.000.101.7% – 2.5%
6.00 – 10.00.202.0% – 3.3%
10.0 – 20.00.502.5% – 5.0%
20.0 – 30.01.003.3% – 5.0%

Two things I got wrong here. First, I quoted one tick as 0.694% and applied it everywhere — but as the table shows it runs from about 0.5% to 5% depending on the price, so it has to be worked out per game. Second, and worse: taking the median of a minute's trades put 233,783 prices (4.83%) into the grid that are between the rungs and could never have traded. Your original file had none.

3

Betting is trading with a later exit

Your point. One clock, from first quote to the final whistle.

BEFORE KICK-OFFIN PLAYSETTLEDfirst quote−120−15KICK-OFFFULL TIME▲ all the grid holds today — 120 minutes, pre-match onlyeverything to the right of kick-off is in the raw data and in no gridA TRADEin at one time, out at another. The price decides. Result never matters.A BETthe very same thing — the exit is just the final whistle. The result decides.

This is your point, drawn. A bet is not a different kind of thing from a trade — it is a trade whose exit happens to be full time. So there is one timeline and one engine: pick an entry, pick an exit, and “full time” is simply the last exit available. That is why the trading page and the strategy builder should not be two tools.

4

What indexing does and does not fix

It makes one game instant. It does not make every game instant.

One game — raw, no index (today)90 seconds
One game — raw, indexed0.03 seconds
All-league sweep — from the grid0.2 seconds
All-league sweep — raw, indexed~3 minutes
All-league sweep — raw, no index~10 minutes

Bars are on a log scale, or the fast ones would be invisible.

The answer to your question: yes, “back at 120, lay at 15 across all leagues” keeps answering in a second — but only because it is answered from the grid. Asked of the raw trades it is minutes, indexed or not, because that question genuinely needs every game. Indexing makes one game instant; it does not make every game instant.

5

Where we actually are tonight

Honestly, including the parts that are still wrong.

Fixtures, goals and scoresMerged and verified against your source. Every row accounts for.
Raw traded prices exist83,110,488 trades, untouched, in 33 tables.
Raw traded prices are queryableNo indexes. One game costs a full table read, ~90s.
The grid can be rebuiltScript now exists. Before today nothing could reproduce it.
The grid holds only real prices4.83% are between the rungs. Fix written, not yet run.
The grid reaches past kick-offPre-match only. In-play and full time are in the raw data alone.
Trading and strategy are one toolTwo pages, two files, two clocks.
Price staleness is visibleA price with no trade for 11 minutes looks the same as a fresh one.
Members