/ receipts / semifinal-sheets

The semifinal sheets

Four teams made the last four. One card each: what the Elo model expected, match by match, against what happened.

Where these came from

As each 2026 semifinalist booked its place we rendered its road as one card: every match, the model's pre-match expectation, and the result next to it. The Spain card went up in r/spain three days before their semifinal and became our best-received World Cup post. The England card was posted to r/ThreeLions the next day and got eaten by the mod filters — posting from a two-week-old account is its own game of expected-vs-happened. The semis themselves: Spain beat France 2-0, Argentina came back to beat England 2-1.

Sharp eyes will notice the cards say "road to the semifinal" — they were frozen when each team qualified, and we left them that way. Receipts don't get retouched.

Spain's road to the 2026 World Cup semifinal: Elo expectation vs result for every match Open full card ↗
semifinal-card-ESP.png · PNG, 2160 × 2700 · 0.5 MB
France's road to the 2026 World Cup semifinal: Elo expectation vs result for every match Open full card ↗
semifinal-card-FRA.png · PNG, 2160 × 2700 · 0.5 MB
Argentina's road to the 2026 World Cup semifinal: Elo expectation vs result for every match Open full card ↗
semifinal-card-ARG.png · PNG, 2160 × 2700 · 0.5 MB
England's road to the 2026 World Cup semifinal: Elo expectation vs result for every match Open full card ↗
semifinal-card-ENG.png · PNG, 2160 × 2700 · 0.5 MB

How accurate was the Elo model at the 2026 World Cup?

Good enough to keep receipts on. Through the semifinals, 18 of 24 knockout favorites advanced and the model's Brier score was 0.162; 4 of the 6 upsets that beat it were penalty shootouts, where the math openly gives up. The expectations printed on these cards come from that same engine — ratings locked before the knockout rounds began, 300,000 bracket simulations pricing the tournament — which is why each card could be frozen the day its team qualified and never touched again.

What did the model expect in the semifinals?

One coin flip and one favorite. Spain-France was the game the whole bet collapsed onto — the last remaining disagreement between the two brackets — and the model priced it 50.7% France. Spain won 2-0, and the scoreboard settled at MATH 42 · VIBES 48. The other semifinal both brackets gave to Argentina, and Argentina delivered, 2-1 over England. The full story of the coin flip is its own receipt.

Check it yourself

The four semifinalists' all-time World Cup records, from the public match record:

SELECT team, count(*) AS wc_games, sum(win::int) AS wc_wins
FROM (
  SELECT home_team AS team, home_score > away_score AS win
  FROM read_parquet('https://data.mathvsvibes.com/wc/results.parquet')
  WHERE tournament='FIFA World Cup' AND home_score IS NOT NULL
  UNION ALL
  SELECT away_team, away_score > home_score
  FROM read_parquet('https://data.mathvsvibes.com/wc/results.parquet')
  WHERE tournament='FIFA World Cup' AND home_score IS NOT NULL
)
WHERE team IN ('Spain','France','Argentina','England')
GROUP BY team ORDER BY wc_wins DESC;
-- Argentina 89/48 · France 74/40 · England 75/33 · Spain 69/32
The per-match expectations on the cards come from the frozen EP 02 bracket engine. Watch the episode or see both brackets re-scored live.

Receipt trail: Spain card posted on r/spain (72 points); England card removed by r/ThreeLions mods. Source data: martj42/international_results (CC0).