About Oddsplainer

How our model works

We explain what the odds are really saying. Every probability on this site comes from the same model, applied to every match in the same way.

What we are

Oddsplainer is an independent football predictions site. We are not a bookmaker and we don't take bets. We publish probabilities, not certainties: a 60% favourite still fails to win four times in ten.

The prediction model

For each match we estimate how many goals each side is likely to score, then work out every possible scoreline.

  • Attack and defence strengths. From the current league table we measure how many goals each team scores and concedes, split into home and away games, relative to the league average.
  • Early-season caution. Each team's figures are blended with the league average (as if every side had already played four average games), so a hot start doesn't produce extreme numbers.
  • Expected goals for the match. The home side's home attack is combined with the away side's away defence, and vice versa.
  • Every scoreline. Goals are modelled with a Poisson distribution, the standard statistical model for counting rare events. That gives a probability for every score from 0–0 to 10–10, and from those the chances of a home win, a draw, an away win, over/under 2.5 goals and both teams scoring.

Fair odds and value

Fair odds are simply one divided by our probability: if we give a result a 50% chance, its fair decimal odds are 2.00. When a bookmaker offers a higher price than our fair odds, we call that value by our model. It means the price looks generous if our estimate is right. It does not mean the bet will win, and our estimate can be wrong.

Match stories

“How could this game go?” shows how our probabilities change if the match starts a certain way, for example if the favourite scores early. Those figures are conditional: they only apply if that story happens, and each story shows how likely it is to happen at all.

Corner figures come from both teams' corner records this season, adjusted by how corners shift with the half-time score across 10,706 matches in Europe's top five leagues (19/20–24/25 seasons).

Where our data comes from

  • Fixtures, tables, line-ups, injuries, head-to-head records and bookmaker prices: API-Football.
  • Corners and half-time scores: football-data.co.uk.
  • Team news headlines: BBC Sport (we link to the original articles).

Bookmaker prices change constantly. Always check the price on the bookmaker's site before you bet.

What the model can't do

  • It doesn't know about tactics, motivation, weather or late team news unless it shows up in the data.
  • Player absences are not modelled player by player.
  • Football is low-scoring and noisy. Even a good model is wrong often. That's the nature of probabilities.

We plan to publish a full record of our past predictions, wins and losses, so you can judge the model yourself.

How we make money

Some links on this site go to bookmakers who pay us when new customers sign up and, under some deals, a share of the revenue they make from those customers. That never changes our numbers: every match is run through the same model, whichever bookmaker we link to. Read about gambling responsibly.