How Our Predictions Work
A plain-English explanation of the ELO model behind every win probability on this site.
What Is ELO?
ELO is a rating system invented by physicist Arpad Elo in the 1950s for chess, and later adapted for sports ranging from basketball to international football. The core idea is simple: every team has a single number (their ELO rating) that reflects how strong they are relative to other teams. After each match, both teams' ratings move — the winner gains points and the loser loses them. The amount that changes depends on how surprising the result was.
A team beating a far weaker opponent barely moves the needle. A team beating a much stronger one earns a large rating jump. This self-correcting property is what makes ELO better than simple win percentages: it accounts for the difficulty of past results, not just whether you won or lost.
FIFA adopted a version of ELO for its official world rankings in 2018. Our model uses the same mathematical foundation, calibrated for a 48-team World Cup with the parameters FIFA specifies for major tournaments.
Starting Ratings
Every team enters the tournament with a pre-set ELO rating reflecting their historical international record. We then apply a squad strength adjustment — a subjective tweak (rarely more than ±15 points) to account for factors the historical ELO can't capture: a generational peak squad, key retirements, or a depleted team travelling without injured starters.
Top 10 entering ratings (base ELO + squad adjustment)
| Team | Base ELO | Squad adj. | Effective ELO |
|---|---|---|---|
| Argentina | 2150 | +0 | 2150 |
| France | 2100 | +15 | 2115 |
| Brazil | 2080 | +12 | 2092 |
| England | 2070 | +10 | 2080 |
| Spain | 2060 | +12 | 2072 |
| Germany | 2030 | +8 | 2038 |
| Netherlands | 2020 | +3 | 2023 |
| Portugal | 2010 | +5 | 2015 |
| Belgium | 1990 | −8 | 1982 |
| Uruguay | 1950 | +5 | 1955 |
Squad strength adjustments are set once before the tournament and do not change mid-competition. All other changes come solely from match results via the ELO update formula below.
How Ratings Update After Each Match
After every finished match, both teams' ratings are updated using this formula:
Where:
- K = 60 — the K-factor for World Cup matches (FIFA standard). Higher K means results change ratings faster. Club football uses K = 40.
- GD_mult — a goal-difference multiplier so a 4–0 thrashing counts more than a 1–0 squeaker:
- Win/loss by 1 goal: ×1.0
- Win/loss by 2 goals: ×1.5
- Win/loss by 3+ goals: ×(11 + goal diff) / 8
- actual_score — 1.0 for a win, 0.5 for a draw, 0.0 for a loss
- expected_score — the model's predicted win probability for that team before the match (see below)
The key property: if a team wins a match they were already expected to win, they gain only a small number of points. If they spring an upset, they gain a lot. This is how the model learns from the tournament in real time.
Win / Draw / Loss Probabilities
Given two teams' effective ELO ratings (RA and RB), the probability that team A wins is calculated via the standard ELO expected score:
A 400-point rating gap gives roughly a 10:1 win ratio — the better team wins about 91% of the time. A 200-point gap means about 76% odds for the stronger side. Two equally-rated teams each have 50% win probability before the draw probability is factored in.
Drawing probability
Football is not chess — draws happen in roughly 25–30% of matches. We model the draw probability as a function of how closely-matched the teams are:
Closely-matched teams draw more often (~30%). Heavily mismatched teams draw less (~18%). The remaining probability is split between win and loss in proportion to the raw ELO expectation, then all three probabilities are normalised to sum to exactly 100%.
Live Probability Adjustments
During a live match, the model adds a time-weighted adjustment based on the current scoreline. A team that is 1–0 up in the 85th minute has a very different probability of winning than a team that is 1–0 up in the 15th minute. These adjustments blend the ELO pre-match odds with the in-game scoreline and elapsed time to give more meaningful live probabilities.
Data Sources
- Live match data — football-data.org API (official match scores, status, schedule)
- Supplementary live data — ESPN API (used as a backup for live scoring)
- Pre-tournament ELO ratings — derived from FIFA world rankings and recent competitive results; squad strength adjustments set manually before kick-off
- News — Google News RSS, fetched and categorised every 30 minutes
All probabilities on this site are updated every 5 minutes during live matches and every 30 minutes at other times.
Model Accuracy — the Good and the Ugly
We publish our full accuracy record because an honest scorecard is more useful than cherry-picked successes. Here's how the model has performed across the 2026 World Cup so far:
Live accuracy updated at /api/accuracy as results come in.
Where we got it badly wrong
Model gave Ecuador a 6.8% chance of winning. One of the biggest upsets of the tournament. Germany eliminated by the tournament's lowest-rated qualifier.
Model gave Spain a 79.3% win probability. Cabo Verde held on for a draw — a result that nearly sent Spain out of their group.
These misses are recorded in full at /api/accuracy. We don't hide them.
What This Model Cannot Do
- It cannot know about injuries or suspensions until we manually update the squad strength adjustment. If a star player is ruled out the day before kick-off, the model does not automatically account for this.
- It does not factor in match location or referee decisions. Home advantage for the host nations (USA, Mexico, Canada) is not explicitly modelled — though the squad strength adjustment for those teams does implicitly reflect that they qualified comfortably.
- It treats all group stage games equally. In reality teams rotate squads in dead-rubber matches — something ELO cannot predict in advance.
- Penalty shootouts are unpredictable. When a knockout match finishes level after extra time, the ELO odds reflect 90-minute form, not penalty-taking ability.
Questions?
If you have questions about the model, want to point out a flaw, or just want to argue about ELO — we'd love to hear from you at contact@footups.com.