Skip to content
18+ only

How Our Football Prediction Model Works

Inside the bet2odds model: Elo ratings, a Dixon-Coles goal model and de-margined market prices, combined into probabilities, fair odds and confidence.

By bet2odds Data Team · Last reviewed

An overview of the model

Every prediction on bet2odds comes from our own prediction engine. For each fixture in the leagues we cover, it estimates the probability of every outcome in the main markets: match result, double chance, over/under 1.5, 2.5 and 3.5 goals, both teams to score and correct score. Our own model computes every probability; we do not copy tips or prices from anywhere else.

The engine is an ensemble. It combines three different views of a match into one estimate:

  1. Elo ratings, which track each team's overall strength over time.
  2. A Poisson goal model with a Dixon-Coles adjustment, which estimates how many goals each side is likely to score.
  3. De-margined market prices, which capture information such as team news that the other models may miss.

Each method has strengths and blind spots. Combining them tends to give steadier, better calibrated probabilities than any one of them alone. This guide explains each part in plain English; the how we predict page is the formal summary of our methodology.

Where the data comes from

Fixtures, results and other match data come from licensed data providers, including football-data.org, alongside historical results for building ratings. The data is checked and normalised before it reaches the model, and each team keeps one stable identity even when providers spell its name differently.

The website shows a local copy of the engine's output that refreshes every few minutes, so pages stay fast and keep working even if a data source is briefly unavailable. All kick-off times are shown in West Africa Time (WAT).

Elo ratings: team strength over time

Elo is a rating system first used in chess. Every team has a number that rises when it does better than expected and falls when it does worse. Beating a strong opponent away from home earns more points than beating a weak one at home.

Each finished match updates the ratings exactly once, so the system reflects a team's form over many games rather than one headline result. The gap between two teams' ratings, adjusted for home advantage, gives a first estimate of who is more likely to win.

Cup and continental competitions bring together teams that rarely meet. Their own fixtures are too sparse to rate teams reliably, so for those matches the model leans on each team's domestic-league strength, adjusted by how strong that league is. Cup results only refine the picture.

The Poisson and Dixon-Coles goal model

The goal model estimates each team's attacking and defensive strength from past results, then calculates how many goals each side is expected to score in this particular match. A Poisson distribution turns those expected goals into the chance of every possible scoreline: 0-0, 1-0, 1-1, 2-1 and so on.

From that grid of scorelines the model can answer almost any goals question. Add up all scores with three or more goals and you have the over 2.5 probability; add up all scores where both sides score and you have BTTS Yes. Our guides on BTTS and over/under goals show worked examples.

A plain Poisson model assumes the two teams' goals are independent, which slightly misjudges low scores such as 0-0 and 1-1. The Dixon-Coles adjustment corrects those few scorelines and gives more weight to recent matches than older ones.

Learning from de-margined market prices

Betting markets react quickly to injuries, suspensions and other news. That makes them a useful input, but raw prices include the bookmaker margin, so the implied probabilities add up to more than 1.0. Before using them, the engine removes the margin so the probabilities add up to exactly 1.0.

Market prices are one input among three, not the answer. The final probability is always produced by our own model, and on match pages we show our fair odds rather than any bookmaker's price.

Combining the models

The ensemble blends the three estimates for each market into one probability. When the methods agree, the combined estimate is close to all of them. When they disagree, the blend sits between them, which avoids the extreme calls a single model can make.

Each match also gets a headline market: the market where our estimate stands out most compared with that league's usual rates. That headline pick is what you see in fixture lists, so the site always shows the engine's own selection rather than a re-ranked one.

Some teams have too little data behind them, for example newly promoted sides or teams from leagues we do not otherwise cover. Their predictions are labelled "Limited data", carry a low confidence rating and never appear as tips, in top picks or in accumulators.

Confidence ratings and fair odds

Every prediction shows a confidence rating from 1 to 5. A higher rating means the model's view is clearer and better supported by data; it does not mean the outcome is certain. A 5-rated pick can lose, and often will over a long run.

Fair odds are calculated as 1 ÷ probability. A 40% chance gives fair odds of 2.50. They contain no margin, so they are a useful benchmark when comparing with bookmaker prices. Our guide on how to read football odds explains how to make that comparison.

Locking, settlement and void matches

  • Refresh until kick-off. Predictions update as new data arrives, right up to the start of the match.
  • Locked at kick-off. Once a match starts, its prediction is locked and never changed, so the track record reflects exactly what was published beforehand.
  • 90-minute settlement. Every market is settled on the score after 90 minutes plus stoppage time. Extra time and penalty shoot-outs do not count.
  • Void matches. Matches that are cancelled, abandoned or postponed by more than three days are void and do not affect the record.

Measuring performance in public

Our track record is public and includes losing days as well as winning ones. It reports four measures:

  • Hit rate: the share of tips that won.
  • ROI: the return on a level stake at our fair odds, showing whether wins were enough to cover losses.
  • Brier score: the average squared gap between our probabilities and what happened. Lower is better.
  • Log loss: a stricter calibration score that heavily penalises confident predictions that turn out wrong. Lower is better.

Brier score and log loss matter because a good model is not one that wins every time; it is one whose 60% calls happen about 60% of the time. You can browse today's output on the predictions for today page or by market on the tips page.

Predictions are estimates, not guarantees. Football is unpredictable, bookmakers build a margin into every price and most bettors lose over time. If you choose to bet, you must be 18+, and you should use a stake you set in advance and can afford to lose.

Frequently asked questions

Does bet2odds copy bookmaker odds?
No. Our own model computes every probability. De-margined market prices are one input to the ensemble, alongside Elo ratings and a goal model.
Can a prediction change after kick-off?
No. Predictions refresh as new data arrives until kick-off, then they are locked and never changed, so the public track record reflects what was shown before the match.
What does Limited data mean?
It means the model has too little information about at least one team to be confident. These predictions are labelled and never used as tips.
How do you measure accuracy?
Our public track record reports hit rate and return on investment alongside Brier score and log loss, which measure how well the probabilities themselves were calibrated.