The short version of how the numbers work, and the part that matters more: how to verify that a prediction we say we made before kickoff really was made before kickoff.
Every team carries a dated Elo rating (eloratings.net) frozen before each tournament. Match forecasts map the Elo win-expectation 1/(1+10−Δ/400) through a calibrated independent-Poisson scoreline model (2.5 total goals, neutral venue) — 90-minute W/D/L, likeliest scores, and advancement with draws resolved through extra-time/penalties in proportion to win-expectation. We tested whether squad market value beats this out of sample: it doesn't, which is why the model stays ratings-only. Full detail on /method.
Before each round we freeze the forecast into a static file under /locks/. The file's SHA-256 is committed to the public git history and tweeted before kickoff, then every deploy re-verifies the served bytes against that hash and aborts on any mismatch. The numbers cannot move after the fact — that's the whole point.
In any terminal (macOS/Linux — on Windows use WSL or Git Bash):
curl -sL https://thecliff.football/locks/final-locked.html | shasum -a 256The output must be exactly:
ee6ecca9d08f1aaf62552cf9e80a74253e7f175c742139f39f886e26446b643fThat hash was published before the 2026 final kicked off. If the command ever prints anything else, the file changed after publication — call us on it.
/cliff-index ranks every 2026 squad by
0.5·z(weighted age) + 0.3·(last-dance minutes share) + 0.2·(1 − debutant share) —
z-scored within 2026; squad age weighted by World Cup minutes (basis and coverage stated on the page);
“last dance” = aged ≥31 on 2030-06-01. The formula is fixed as written — v1, no tuning.
| File | Pinned SHA-256 |
|---|---|
| final-locked.html | ee6ecca9d08f1aaf62552cf9e80a74253e7f175c742139f39f886e26446b643f |
| final-2026.html | 60310d7f6d5c7aa5b44adb0405182a5067a7212b4be0c131c804bb06c97f3cf2 |
| bracket.html | 1661d931a27818ce032c01695cf14f90831ce4a76eaa3768279f52d0e311c285 |
| squad-panel-v1.html | 4e857a9037e559a843030b3cde404e078e55d2a1a2ee4b2ba9adcad390323c33 |
| squad-panel-v2.html | d97dac6f71371a5d2ca89a0578f317bd5f26e9d5b2b57b9fb29f8036430d6000 |
Same command works for each: curl -sL https://thecliff.football/locks/<file> | shasum -a 256.