Skip to main content
E90

How the probability model works

A short account of the current official models. Enough to interpret a match page, without pretending the maths is magic.

What is expected goals (xG)?

Expected goals here are the Poisson means for the fixture (λ home and λ away). They are not a shot map. Those two numbers become a full score grid; 1X2, Over 2.5 and BTTS are sums from that grid, not separate hunches.

Expected goals, then a score grid

The model estimates how many goals each side is expected to score in this fixture. A Dixon-Coles adjustment handles low-score dependence. Home win, draw, away win, Over 2.5 and BTTS are all taken from the same matrix.

Elo is team strength, not a headline

Each live league uses a frozen Elo model: Liga Portugal v1.4.0-elo-span16, La Liga la-v1.4.0-elo-span16, Premier League pl-v1.1.0-elo, Allsvenskan as-v1.1.0-elo, Ligue 1 l1-v1.1.0-elo, and Serie A sa-v1.1.0-elo. Ratings update only from matches already finished. A promoted side starts with a conservative prior rather than an invented history. Public tables: all live-league Elo: Liga Portugal, La Liga, Premier League, Allsvenskan, Ligue 1, Serie A. The same ratings already feed the match probabilities.

What is 1X2?

1X2 is the three-way result: home win, draw, away win. On Expected90 those three numbers always add to 100%. A 62% favourite is expected to win about 62 similar matches in 100. The other 38 are draws or upsets.

What is BTTS?

BTTS means both teams to score. It is the sum of every scoreline in the grid where both sides have at least one goal. Over 2.5 is the sum of scorelines with three or more goals.

What we measure

On 909 walk-forward Liga Portugal matches (2023/24–2025/26, pre-lineup), v1.4.0-elo-span16 recorded log loss 0.9320, RPS 0.1829, ECE 0.0309, favourite 1X2 accuracy 0.5611 and goal MAE 0.8765. On 1,140 walk-forward La Liga matches (2023/24–2025/26, pre-lineup), la-v1.4.0-elo-span16 recorded log loss 0.9703, RPS 0.1935, ECE 0.0180, favourite 1X2 accuracy 0.5316 and goal MAE 0.8482. On 1,140 walk-forward Premier League matches (2023/24–2025/26, pre-lineup), pl-v1.1.0-elo recorded log loss 0.9796, RPS 0.1997, ECE 0.0326, favourite 1X2 accuracy 0.5421 and goal MAE 0.9366. On 720 walk-forward Allsvenskan matches (2023/24–2025/26, pre-lineup), as-v1.1.0-elo recorded log loss 1.0142, RPS 0.2191, ECE 0.0572, favourite 1X2 accuracy 0.4972 and goal MAE 0.9549. On 917 walk-forward Ligue 1 matches (2023/24–2025/26, pre-lineup), l1-v1.1.0-elo recorded log loss 0.9982, RPS 0.2084, ECE 0.0246, favourite 1X2 accuracy 0.5071 and goal MAE 0.9623. On 1,140 walk-forward Serie A matches (2023/24–2025/26, pre-lineup), sa-v1.1.0-elo recorded log loss 0.9830, RPS 0.1938, ECE 0.0242, favourite 1X2 accuracy 0.5325 and goal MAE 0.8547. Accuracy is reported because people ask; it is not the objective. Log loss penalises confident misses. Lower is better. The dated quote of these figures is the scored ledger note.

What we do not do

  • Rewrite a forecast after the match.
  • Hide early-season results because they look noisy.
  • Promise that a 73% favourite will win this evening.

Sources

The score grid follows Dixon and Coles (1997), Modelling Association Football Scores and Inefficiencies in the Football Betting Market. Team strength is an Elo rating; the football forecasting literature includes Hvattum and Arntzen (2010), Using ELO ratings for match result prediction in association football. Official competition calendars: Liga Portugal, La Liga, Premier League, Allsvenskan, Ligue 1, Serie A. Those papers describe the methods we start from, not a claim that our live sample matches their published tables.

The official models are maintained by Pedro Aquino, founder and modeller. Model versions are printed on each match URL.

Expected90 publishes probabilistic football forecasts based on statistical models. Predictions are not certainties.

Methodology questions

Is this a betting model?
It is a statistical forecast of match outcomes. We do not publish tips, odds products, or guaranteed picks. Probabilities can be compared with a market, but that is the reader’s choice.
Why not quote a 70% win rate?
Favourite-win accuracy is a poor score for football. A 55% favourite should not win 70% of the time. We report log loss and ranked probability score on a frozen sample.
Can predictions change after kick-off?
No. Each published forecast has a timestamp and model version. Results are appended; the original probabilities stay put.
What is expected goals (xG) here?
On Expected90, expected goals are the Poisson means (λ home and λ away) for this fixture. They drive the whole score grid, not a separate headline.
What is log loss?
Log loss is a proper scoring rule for probability forecasts. It penalises confident misses more than timid ones. Lower is better. The Liga Portugal baseline (v1.4.0-elo-span16) is 0.9320 on 909 matches.