How often has Sardine been right?

Every number the board shows is written down the moment it is shown and scored against Kalshi's settled result. This is the running scorecard, read back from the published file, never recomputed.

Right now

Reading the record…

The self-check behind that status, bucket by bucket. The table is rebuilt on the older half of its windows and tested on the newer half, then the other way round; each row is what the half-table said and what the other half did. The worst counted row is the number the review is held to.

Reading the record…

What we said, what happened

Two different misses are on this page, and only one decides the review. The self-check above is split-half: the table is rebuilt on half the windows and tested on the other half, and its worst bucket must be inside 6 points. The table below is the fit: the published table against every window it has seen, including the ones it was built from, so it is a description, not a forecast test, and it runs tighter. For each price bucket: the share the table said would settle Up, the share that did, and the gap in points. A bucket counts toward the headline only with 200 or more windows.

Reading the record…

The last 20 windows

Read at five minutes left: Kalshi's Up price, the history, and which was closer to what happened. The market is usually closer; the windows where the two split are the ones worth a look.

Reading the record…

How close each was

The same published file, scored the way a forecaster is scored: the mean squared distance between the number and what happened (lower is better), Kalshi's mid price against Sardine's count, over the same windows at each checkpoint. This is the measurement behind "the market is usually right".

Reading the record…

If you had followed every gap

Readers asked what the gaps went on to pay. This is the answer from the published file: at a checkpoint, buy the side history favours whenever it sits more than the margin above Kalshi's price with fee, pay the ask and the fee, hold to settlement, one contract each time. No sizing, no exit, no slippage; net is after the fee. The standard error is beside the mean: a mean inside two errors of zero is noise, and the four rows overlap (the 11-point trades are a subset of the 5-point ones), so one row past two errors is suggestive, not proof. One more caveat: before 24 October a number was written to the file only when a reader loaded the board, so the early rows are the windows readers chose to look at; since then every minute is written. A fact about the record, not a call.

Reading the record…

Gaps in the record

Hours when nothing was published, so nothing is scored. Listed rather than smoothed over; the reason for each is in the README on the data page. The long BTC gap in October was a price feed that dropped and did not reconnect until it was fixed.

Reading the record…

Check it yourself

The published file and the history tables are CSVs under Sardine data (CC BY 4.0). The method, the bucket definitions and the 6-point limit are on How it works. Each bucket has its own question page under Questions.