Methodology 7 min read

Elo Rating System for Football Match Prediction

How the Elo system, originally designed for chess, can rank football teams and predict match results with surprising accuracy.

The Elo rating system was invented by physicist Arpad Elo for chess — but it turns out to be remarkably effective at ranking football teams and predicting match outcomes. Here's how it works and why we use it as a cross-validation layer in our model.

How Elo Works

Every team starts with a base rating (typically 1500). After each match, points are transferred from loser to winner — but the amount transferred depends on how expected the result was.

EA = 1 ÷ (1 + 10(RB − RA) / 400)

EA = expected score for team A (their win probability). RA and RB are their current Elo ratings.

Updating Ratings After a Match

R'A = RA + K × (SA − EA)

SA = actual result (1 = win, 0.5 = draw, 0 = loss). K = sensitivity factor (typically 20–40 for football).

Example: Man City (Elo: 1820) beat Wolves (Elo: 1510). Expected result for City: 95%. Actual result: 1.0 (win). K = 30.

City Elo change = 30 × (1.0 − 0.95) = +1.5 points

Beating a much weaker team barely moves your Elo. Losing to them tanks it — reflecting the upset's significance.

Elo vs Attack/Defence Ratings

FeatureEloAttack/Defence
Updates after every match✓✓
Accounts for opponent strength✓✗ (indirect)
Generates scoreline probabilities✗✓ (via Poisson)
Reacts to margin of victoryPartiallyYes

We use both: Elo as a sanity check and for long-run team quality ranking; attack/defence ratings to feed the Poisson model for market probabilities.

See how team strength affects today's match probabilities →

Today's Predictions
HubTodayLiveCorrect ScoreAI SignalsPlayer props