Original Lens and publication context

Five weeks before kickoff we published Spain over France at 55.5%. It landed, 2–0. Tonight the same engine says Argentina over England, roughly 60/40 — while the world leans England. Here is the full math, one step at a time.

  • Five weeks ago we named the fixture and the winner: Spain over France, 55.5%. It happened, 2–0.
  • It wasn't luck: chance quality (xG) was Spain 1.63 vs France 0.26 — six to one.
  • The secret was the ruler: Elo, a rating that predicts matches, said Spain was No. 1. FIFA's table said France. Elo won — and France's rating dropped ~35 points overnight to prove it.
  • You can rebuild our 55.5% by hand: 42.8% (win in 90) + half of 25.4% (draw, then penalties) = 55.5%. The math even gave the exact 2–0 scoreline a 7.2% chance.
  • Same engine tonight: Argentina ~60/40 over England — while the world leans England. Sound familiar?

Everyone Said France. The Math Said Spain.

Five weeks before kickoff, we put it in writing: Spain meets France in a semi-final — and wins it.

In early June the case for France looked airtight. FIFA's No. 1. Mbappé, Dembélé and Olise tearing through everyone. Every pundit on board. We said the opposite: Spain, 55.5%, in a tight, low-scoring game — because one number, the Elo rating, quietly insisted Spain was the best team on the planet.

On 14 July: Spain 2, France 0. A penalty won by Yamal, converted by Oyarzabal. A second from Porro. Spain's first final since 2010. Skill or luck? The numbers answer that.

2–0 Can Be Luck. Six-To-One Can't.

One statistic settles it: xG (expected goals). Every shot gets a score based on quality — a tap-in is worth about 0.7 of a goal, a hopeful 30-yarder about 0.02. Add them up and luck vanishes from the story.

Goals

0

Expected goals (xG)

0.26

xG at halftime

0.04

Possession (first half)

45%

Shots on target converted

2 of 2

0 goals from 3

France — 16 goals coming in — produced 0.26 expected goals. Mbappé: zero shots in the first half. Spain has conceded once in seven matches.

Six-to-one in chance quality is what it looks like when the better team wins. And here's the fun part: the model didn't just call the winner — it priced every scoreline before the game. The exact final score, 2–0, carried a 7.2% chance, one of the six most likely outcomes. Here's how that math works.

Think Of Elo Like Your Rank In An Online Game

You know how ranked mode works: beat a stronger player, your rank jumps; farm easy opponents, it barely moves. That's Elo. Football's version has been running for decades.

National teams only play about ten real matches a year, against wildly unequal opponents. Most measuring sticks break on that. Compare the options:

Win percentage

Ten wins over minnows beat five over giants — ignores who you played

Broken

FIFA ranking points

Collects points slowly, forgets slowly, ignores winning margin — a scoreboard, not a forecast

Backward-looking

Bookmaker odds

They measure opinion — the very crowd we're testing. Circular.

Not independent

AI / ML models

Too few international matches — they memorise noise, and nobody can check their work

Unverifiable

Elo rating

Updates after every match; weighs opponent, venue and margin; a gap converts straight into a win chance

Chosen

Plot twist: FIFA's own ranking has secretly used an Elo-style formula since 2018 — but strips out goal margin and home advantage. That's exactly why the two disagree at the top.

Elo and FIFA's table agree about nearly every team on Earth. They argue only about the top handful — and the top handful is the only place a World Cup gets decided. FIFA said France No. 1. Elo said Spain, at ~2,160 the highest-rated team in the world. Our whole call was one decision: trust the ruler that predicts, not the one that counts.

One Formula Turns A Rating Gap Into A Win Chance

Here's the only equation you need. If the rating gap between two teams is G points, the stronger team's expected score is:

E=11+10−G/400E=\frac{1}{1+10^{-G/400}}

Plug in Spain vs France. Their gap was about 78 points:

The dial in plain words: 0-point gap = coin flip (50%). 100 points = 64%. 200 = 76%. 400 = 91%. Every 400 points makes you ten times more likely on the odds scale.

And how do ratings stay honest? After every match, each team moves by K × (actual result − expected result), where K grows with match importance and winning margin. Watch it work on Tuesday's game. France was expected to score 0.39 of a 'win'. It got 0. World Cup K is 60, and a two-goal margin multiplies it by 1.5:

Points flow from loser to winner, instantly. Nothing accumulates, nothing is grandfathered — which is exactly what makes Elo a forecast and FIFA's table a history lesson. One catch before we move on: Elo counts a draw as half a win, so E=P(win)+12P(draw)E=P(\mathrm{win})+\tfrac12 P(\mathrm{draw}). That 61% isn't a win probability yet. To split wins from draws, we need goals.

Figure 01 · Qualitative comparison

What each probability measures

What each probability measures
QuantityMeaningLimit
Elo expected scoreWin probability plus half the draw probabilityNot a knockout advancement probability
Poisson score gridGoal-count probabilities under chosen scoring ratesIndependence and rate assumptions matter
Advancement estimateWin plus a chosen share of unresolved matchesExtra time and penalties need separate modelling
Track recordAll dated forecasts compared with all outcomesSelected correct calls do not establish calibration
Reading the figureA guide to interpreting the source model. No new performance results are claimed.

Check Our 55.5% With A Pocket Calculator

Most forecasts ask for your trust. This one hands you the receipt.

Step 1 — expected goals per team (λ). A regression on ~20,000 internationals converts the rating gap into each team's expected goal count. For this match: Spain λ = 1.49, France λ = 1.25. Think of λ as 'how many goals this team scores on an average night against this opponent.'

Step 2 — from average to exact counts. A goal is a rare event that can strike in any minute — the textbook home of the Poisson formula:

P(k goals)=λke−λk!P(k\text{ goals})=\frac{\lambda^k e^{-\lambda}}{k!}

Compute Spain scoring exactly 2, by hand:

Do that for every goal count and both teams:

Spain (λ 1.49)

22.5%

33.6%

25.0%

12.4%

4.6%

1.8%

France (λ 1.25)

28.7%

35.8%

22.4%

9.3%

2.9%

0.9%

Both teams peak at exactly one goal — that's why 1–1 and 2–1 are football's most common scores, and why we expected a tight game.

Step 3 — multiply for scorelines. The two teams' goal counts are treated as independent, and independent probabilities multiply. Chance of a 2–0 to Spain: P(Spain 2) × P(France 0) = 25.0% × 28.7% = 7.2%. The model's most likely scorelines going in: 1–1 (12.0%), 1–0 (9.6%), 2–1 (9.0%)... and 2–0 at 7.2%. The actual result was sitting right there in the top six.

Step 4 — add up the regions. Sum every cell where Spain scores more (win), the diagonal (draw → penalties, a fair coin), and every cell where France scores more:

Spain scores more

42.8%

Draw — penalties, fair coin

25.4%

+ 12.7%

France scores more

31.8%

—

Spain advances

42.8 + 12.7 = 55.5 — the exact number we published on 6 June. Even the 25.4% draw matches to the decimal. In betting language, 55.5% corresponds to decimal odds of about 1.80, or fractional odds of about 0.80-to-1.

Where The Math Bends — And We Say So Upfront

Real football is slightly messier than Poisson. Across the 20,000-match sample there are ~1,200 more goalless performances than the formula predicts, plus a fatter blow-out tail. Statisticians call it overdispersion: the spread of goals is wider than the average says it should be. What it means: real football throws up a few extra draws, draws become shootouts, and shootouts are coin flips. The bend quietly helps underdogs. Keep that in your pocket tonight.

And a favourite is never actually 'likely' to win it all. Winning the cup means winning five knock-out rounds in a row, and probabilities of independent-ish events multiply. Spain's own most likely road:

Yet the model's published title figure for Spain was 26%, not 17.4%. Why higher? Because a Monte Carlo simulation doesn't walk one road — it plays the whole tournament thousands of times and adds up every path where Spain lifts the cup, including all the weird brackets where its opponents change. The 8.6-point difference between 17.4% and 26% is, literally, the value of the roads not drawn.

Last night this exact setup — ratings vs the crowd — ended 2–0 for the ratings. Tonight it repeats in Atlanta.

First, the honest part: our bracket had England going out in the quarters (only ~16% to reach the semis). England beat that path. That's not the model breaking; that's the coin-toss nature of knock-outs the model itself prices. But the ratings still order tonight's teams clearly, thanks to a useful property: Elo gaps add up, because log-odds add. Take two probabilities we printed on 6 June and turn each back into a gap with G=400log⁡10 ⁣(p1−p)G=400\log_{10}\!\left(\frac{p}{1-p}\right):

Argentina over Brazil

56.7%

≈ 47 points

Brazil over England

59.7%

≈ 68 points

Argentina over England: 47 + 68

≈ 66% raw

≈ 115 points

Sanity check: our published title odds — Argentina 14%, England 5% — say the same thing at nearly three to one.

Wait — Argentina Nearly Lost To Egypt. Does The Math Know?

Every fan remembers it: 2–0 down to Egypt with ten minutes left. Three goals later, Argentina survived. So how much did that scare move the rating? Almost nothing.

Elo grades results, not drama. That match enters the books as three plain facts: a win, by one goal, over a weaker opponent. Argentina was expected to take about 0.9 of a 'win' from that game and took 1.0 — so the rating barely moved. The 80th-minute panic is invisible to the formula:

The system does carry two quiet protections. A scrappy 3–2 earns only a fraction of what a comfortable 3–0 earns, so a team that keeps scraping slowly bleeds rating against a team that keeps cruising. And luck is not a repeatable skill — escape artists eventually get caught, lose, and the rating corrects then. Elo is self-correcting, just slow. It pays for its reliability with lag.

The twist: the chance-quality data says those escapes were less scary than they looked. Across the tournament Argentina has created 2.3 xG per game and conceded only 0.7 — the frights came mostly from opponents finishing at a rate that doesn't usually last. Still, 'usually' is doing real work in that sentence. Which is exactly why the raw 66% above gets a manual haircut before we trust it.

So, the haircut: Argentina has survived two straight extra-time wars, gets one day less rest, and is leaking goals (six in five games). We shade the expected goals down — Argentina λ 1.55, England λ 1.12 — and run the exact same Poisson grid as the Spain call:

Argentina scores more

47.2%

Draw — penalties, fair coin

25.3%

+ 12.6%

England scores more

27.5%

—

Argentina advances

The grid's most likely scoreline tonight: 1–1 at 12.0%, then 1–0 Argentina (10.7%) and 2–1 Argentina (9.3%). Biggest single risk: a ~25% draw — and no rating survives a penalty shootout.

Meanwhile the crowd leans the other way: a leading statistical forecaster gives England 51.9%, and bookmakers make England the slight favourite to advance. Ratings on one side, crowd on the other — the exact setup that just resolved six-to-one for the ratings. Fair scorecard for both: Argentina has the stronger engine-room numbers (2.3 xG created per game vs 0.7 conceded, 17 goals, twelve World Cup matches unbeaten). England answers with Kane and Bellingham on six goals each — but a defence that has conceded in every knock-out round.

How To Tell A Lucky Guess From A Good Model

One result never 'proves' a 55.5% call — the other 44.5% was real. So how do you judge? Two ways. Calibration: of all the calls a model makes at 60%, roughly 60% should come true over time; one successful result cannot establish whether the model is calibrated. And the mechanism check, which is stronger: we didn't just say Spain wins — we said why (a 78-point rating gap) and how (a tight game controlled by the stronger side). The six-to-one xG split, the stolen possession, the 2–0 from two shots on target: the mechanism came true, not just the scoreline. That's a higher bar than being right.