Skip to content
PitchMaths

How our football predictions are made

PitchMaths editorial team · Updated

Every number on PitchMaths comes from one statistical model, run by a computer on football results. Nobody chooses a tip by hand, nudges a percentage or removes a loser from the record. This page explains how it works, how a probability becomes a tip, and what it cannot see.

The core idea: goals are countable

Goals are rare and arrive fairly randomly, which suits a Poisson distribution, the standard tool for counting rare events. Know how many goals a team is expected to score, and Poisson gives the chance of it scoring 0, 1, 2 or more. Do that for both teams and you have the probability of every final score.

Plain Poisson has a known weakness: it treats the two teams' goals as independent and gets the low scores slightly wrong, especially 0-0, 1-0, 0-1 and 1-1. In 1997 the statisticians Mark Dixon and Stuart Coles published a correction for exactly that. Our model is a Dixon–Coles model: Poisson with that adjustment for the low scores.

Ratings for every team and every competition

Each team has two numbers:

  • an attack rating, how many goals it tends to score compared with an average side;
  • a defence rating, how many it tends to concede.

Each domestic league also has its own scoring level and home advantage. The continental cups share one pair per confederation: one scoring level and home advantage for the UEFA club competitions, another for the CAF ones. The cups also link the leagues, because they are where clubs from different countries meet.

For a given match, the home side's expected goals come from its attack rating, the visitors' defence rating, the league's scoring level and the home advantage. The away side's come from the mirror image, without the home edge.

What the ratings are fitted on

The ratings are fitted on finished matches from roughly the last three seasons. Recent games count more: a result loses half its weight after about eight months. That lets a team's ratings follow a change of coach or squad without forgetting everything that came before.

The model uses final scores and nothing else. It does not use expected goals (xG), Elo ratings, shots, possession, injuries, line-ups, transfers or news. Scores exist for every competition we cover, including African leagues where detailed match statistics are scarce, and a simple model is easier to check.

From scorelines to markets

Once the model has the chance of every scoreline, each market is a sum:

  • 1X2: all scores with more home goals (home win), all level scores (draw), all with more away goals (away win).
  • Double chance: two of those three added together.
  • Over/under 1.5, 2.5 and 3.5: all scores above or below the line.
  • Both teams to score: all scores where each side has at least one goal.
  • Correct score: the scorelines themselves, ranked from most to least likely.

Calibration of the goals markets

Raw Poisson models are over-confident about goals, pushing those probabilities too far from the middle. For over/under 1.5, 2.5 and 3.5 and for both teams to score, we correct this with a two-parameter adjustment fitted on one past season and checked on the following season, which the adjustment had never seen. A published 65% should come true about 65 times in 100 over many matches.

The blend with bookmaker odds

Where the bookmaker's odds for a market are in our data, the model's probability is blended with the probability implied by the odds, after removing the bookmaker's margin: 50% model, 50% odds. This applies only to the match result (and through it double chance), over/under 2.5 and both teams to score. Over/under 1.5, over/under 3.5 and correct score are always the model's own numbers.

The odds come from the feed of Megapari, the bookmaker we recommend, and appear in the tables with a time stamp. Not every match has odds: smaller leagues often open their markets only a day or two ahead. Why blend at all? The market reacts to team news and line-ups that the model cannot see, while the model is not moved by a club's popularity. Each covers part of the other's blind spot.

Fair odds and thresholds

Fair odds are 1 ÷ probability: 50% is 2.00, 60% is 1.67, 80% is 1.25. Compare them with the bookmaker's price; if the price is lower than fair, the bet pays less than the risk the model sees.

A probability becomes a tip only when it clears a fixed bar:

Market Tip when the model's chance is at least
Home or away win 55%
Draw 31%, and only when home and away are within 12 points
Over 2.5 goals 60%
Under 2.5 goals 62%
Both teams to score: yes 58%
Both teams to score: no 62%
Over 1.5 goals 78%
Under 3.5 goals 76% (there is no over 3.5 tip)
Double chance (1X or X2, never 12) 80%

Correct score has no threshold: the single most likely score is listed for every rated match, as a reference. Teams with fewer than eight matches in our data get no tips. The "strongest tips" and banker blocks choose only from the match result, over/under 2.5 and both teams to score, because double chance and over 1.5 would fill them with very short prices.

Half time / full time

Each team's expected goals are split between the two halves, 42% in the first, with a small correction for level scores at the break. The nine HT/FT outcomes (1/1, X/1, 2/2 and so on) follow from that, and the full-time part is scaled to agree with the site's match result numbers, so the odds blend reaches HT/FT only through the result. On 7,782 past matches, when the likeliest outcome was rated 40% or more, it landed 47% of the time against 48% predicted.

An HT/FT tip is the likeliest of the nine outcomes when it reaches 40%: in practice almost always 1/1 or 2/2 for a clear favourite, and most matches get none. A league gets the numbers but no tip when fewer than 80% of its results in the last 120 days carry a half-time score, or it played too few matches then, because the tip could not be settled. That currently means the Uganda Premier League, the Tanzanian Premier League, the Kenyan Premier League, the CAF Champions League and the CAF Confederation Cup. HT/FT tips settle on the half-time and 90-minute scores (void if no half-time score arrives within three days) and are counted on their own.

Corners

Corners have a separate model built the same way: each team has a corners-won and a corners-conceded rating, each competition its own level and home edge. It is fitted on corner counts from the last 400 days, a match losing half its weight every 240 days. Total corners vary more than a simple count model allows, so the chances use a wider spread (variance about 1.2 times the expected total), as measured on past matches.

Where the bookmaker prices corners, mostly in the bigger European competitions, our chance of the over on its main line is blended half and half with its price, and a tip needs 60%. Elsewhere the tip is the over or under on 8.5, 9.5 or 10.5 corners whose chance is closest above 68%, from the model alone; most matches get none. Corner counts are noisy and the model's edge over a league's usual count is modest. On 9,493 past matches, each predicted only from earlier ones, 4,366 got such a tip, and it landed 70% of the time against 72% predicted, a touch below.

A team needs eight matches with a corner count before it gets corner numbers, and a competition needs corner counts in its last 120 days of results, which leaves out the Ghana Premier League, the Uganda Premier League, the Kenyan Premier League and the CAF Confederation Cup for now. Corner tips settle on the 90 minutes (void if no count arrives within three days, or after extra time) and are counted on their own.

Accumulators

Each day the model builds the most probable combination of high-confidence legs, each at least 70%, one per match, never correct score, HT/FT or corners, that reaches total odds of 2, 3 or 5 with the fewest legs. There is one slip per target and day, never across days. At near-fair prices a 5-odds slip lands about one time in five; every extra leg is another way to lose.

Track record and settlement

Every tip is logged before kick-off, frozen at kick-off and settled automatically from the final score after 90 minutes. Postponed or abandoned matches and matches decided in extra time are void. Nothing is edited afterwards, and withdrawn tips stay in the log but are never counted. The headline record counts single tips by market, leaving out correct score, HT/FT and corners (each counted on its own) and accumulators. Data is refreshed four times a day, at about 02:00, 09:00, 14:00 and 20:40 UTC, and the track record page shows the settled numbers.

What the model cannot do

  • No team news. Injuries, suspensions and rotation are invisible until they show up in results.
  • No motivation. A dead rubber at the end of a season, a derby or a side resting players for a cup final all look like ordinary matches to the model.
  • Small samples early in a season. After a summer of transfers, the first few weeks lean on last season's results, which may no longer describe the team.
  • Promoted teams. A club coming up from a division we do not follow has little or no data. Below eight matches it gets no tips, and for a while after that its ratings are rough.
  • Weather and pitch. Heavy rain, heat and poor surfaces are not in the data.
  • Randomness. A 60% tip loses four times in ten by design, and losing runs happen.

Use the numbers as a starting point, add what you know, and bet only what you can afford to lose. Betting is for adults aged 18+; the responsible gambling page has practical advice.

Data sources

The fixtures and results behind the model come from the sources below, credited as their licences require. Bookmaker odds come from Megapari's own feed.

  • openfootball: fixtures and results, public domain.
  • OpenLigaDB: Bundesliga data; contains information from OpenLigaDB, ODbL.
  • Wikipedia contributors: UEFA and CAF competitions and some league tables, CC BY-SA 4.0.
  • Uganda Premier League: fixtures and results, facts only.
  • Tanzania Premier League Board: fixtures and results, facts only.
  • Premier Soccer League (South Africa): fixtures and results, facts only.

Who runs the site is on about us. To see the numbers in use, start with today's predictions, the correct score page or the over 2.5 goals predictions.

Where to place this bet

Our recommended bookmaker for these markets is Megapari.

+100% bonus on your first deposit with promo code MEGAE4ZTR

Get the 100% bonus

18+. New customers only. Terms apply. Odds may differ from those shown.

Frequently asked questions

Is the model a computer program or a tipster?

A computer program. The editorial team writes the explanations, but no person picks or edits individual tips. The same data always produces the same numbers.

Does the model use injuries or line-ups?

No. It uses final scores only: no expected goals, Elo ratings, injuries, line-ups or news. Where bookmaker odds are available, the blend with the price brings in some of that information indirectly, because the market reacts to team news.

How often are the predictions updated?

Four times a day, at about 02:00, 09:00, 14:00 and 20:40 UTC, which is 05:00, 12:00, 17:00 and 23:40 in East Africa Time. Each refresh loads new results, refits the ratings and recalculates every upcoming match.

Why does a team have no tip at all?

Either no outcome passed its threshold, or the team has fewer than eight matches in our data. The second case is common for clubs that have just been promoted from a division we do not follow.

What does calibrated mean?

That the published percentages are adjusted so they come true about as often as they say. If the site prints 65% on a hundred different over 2.5 tips, roughly 65 of them should land. It is a long-run property, not a promise about any one match.

18++100% at Megapari with code Get bonus