Track record

Two separate boxes, on purpose. The backtest below is historical evidence that the method works in general. The live record is this specific, forward-published set of predictions, scored only after the fact. They are never averaged together into one number — doing that would let a strong backtest paper over a bad live run, or vice versa.

Live record

Recording began with the round published on 2026-08-21. Every prediction in it was written to a file and committed before its matches kicked off; results are added afterwards, in a separate step, to a result field that starts as null and is filled in once — the probabilities themselves are never edited.

0 matches reconciled yet. This round's fixtures have not been played (or their results have not yet been fetched and matched back to the prediction file). Check back after kickoff.

Backtest (2014–2025, reference only)

This is the one confirmation run described in full on the Methodology page. It is historical, not forward-published, and is shown here only as a reference point — never combined with the live numbers above.

Matches
3,882 (2014–2025-26)
Verdict
PASS
d_RPS (market − model)
0.0044 [0.0026, 0.0060]
Gap closed
74%

How to verify this yourself

  1. Every published round is a JSON file in predictions/, committed to the project's git repository, with probabilities that are never edited after publication — only a result field is appended once a match is played.
  2. Recompute the SHA-256 of any prediction file and compare it against the value printed on that round's page.
  3. Once results exist, the numbers above are rebuilt directly from those same JSON files (not from a database or a spreadsheet) — anyone can re-run the same aggregation against the public files.
  4. Reproduce the backtest above with ./bin/footy backtest --league jpn1 --from 2014 --to 2025.

Independent timestamping (OpenTimestamps), Wayback Machine snapshots and a reproducible re-scoring script (verify.py) are part of this project's published plan and are not live yet — this page will link to them once they are.