xgprophet
  • World Cup 2026
  • Premier League
  • Accuracy
Home/Methodology

How we make our predictions

Last updated: June 2026

This page explains, in plain terms, how xgprophet arrives at the numbers you see on each match. There is no secret formula and no insider knowledge. The site is run by one independent person, and the only things meant to earn your trust are openness about the method and a public accuracy record that is never edited or deleted. So here is exactly how it works, what each figure means, and — just as importantly — what the model does not know. Everything below is for information only. It is not betting advice, and nothing here is a tip or a recommendation to place a wager.

Where the data comes from

The model works only from football fixtures and results — who played whom, and how the matches finished. On a regular schedule, a background job pulls this fixture and results data from a sports-data provider into a database, and the pages you read are built from that stored data.

Two points matter here. First, pages never call out to live data when you load them; they read from the cached database, so what you see is a settled snapshot, not a live feed. Second, the model uses no betting odds or market signals at any stage — not to form the prediction and not to check it afterwards.

Every prediction is pre-match only. It is a forecast made before kick-off and frozen at that point. It does not update while the game is being played, and there is no in-play or live element to it.

The statistical core: a Poisson model

At the heart of the site is a Poisson model — a standard way of describing how many goals a team is likely to score in a match. The idea is simple: estimate how many goals each side tends to score and concede, then work out the range of likely scorelines from there.

For each team, the model looks at recent form — the last several matches — and estimates two rates: an attack rate (goals scored) and a defence rate (goals conceded). Recent matches on their own can be misleading, though. A handful of games can flatter a weaker side that had a good week, or fail to capture a stronger side that has only just started a tournament.

To handle this, the model shrinks each team's recent rates towards a team-strength prior — a baseline for how strong that side generally is. The effect is that a strong team still reads as strong even on thin early-tournament data, and a weaker team is not over-rated by one good result.

The home side is then given a modest adjustment: its expected goals are nudged upward by a small home-advantage factor. There is one deliberate exception — at neutral-venue competitions such as the World Cup, no home edge is applied, because neither side is truly at home.

From goal rates to win, draw and loss

Once the model has an expected-goals figure for each team, it considers the spread of possible scorelines — 0-0, 1-0, 2-1, and so on — and how likely each one is. Adding up all the scorelines where the home side wins gives the home-win probability; adding up the level scores gives the draw probability; and the rest gives the away-win probability. Those three figures describe the same match from every angle, so together they cover every way it could finish.

The single most likely individual scoreline from that same calculation is shown as the predicted score. It is the model's most probable one-line outcome, not a claim that the match will end that way — in practice most matches do not land on their single most likely score.

What the extra figures mean

Alongside the win, draw and loss probabilities, each match carries a few additional numbers, all drawn from the same calculation.

Expected goals is the average number of goals the model estimates each side will score in the match — a measure of attacking weight, not a prediction of an exact total. Over 2.5 goals is the probability that the two teams combined score three or more. Both teams to score is the probability that each side scores at least once.

There is also a confidence figure. It simply reflects how clear-cut the model finds the match: a one-sided fixture tends to produce a higher figure, and a tight, evenly matched one a lower figure. It describes how decisive the maths is, not how the match will actually turn out, and it is not a measure of how likely you are to win anything.

The plain-English summary

Some matches also carry a short written summary that explains the prediction in readable language. This is produced by a large language model, but it is kept on a very tight leash.

The summary is allowed to describe only the numbers the statistical model has already produced — the probabilities, the expected goals, the most likely score and the recent form. It does not invent statistics, and it has no access to injuries, line-ups, suspensions, transfers, news or quotes, so it cannot report any of those. If you ever see a claim in a summary that is not one of the model's own figures, that is an error, and I would be glad to hear about it at hello@xgprophet.com.

The summary is there to make the numbers easier to read. It is description, not advice, and it never suggests placing a bet.

How accuracy is measured and published

This is the part meant to earn or lose your trust. When a match finishes, its prediction is automatically settled against the real result and logged. Nothing is hand-picked, and nothing is removed when it turns out to be wrong — misses stay on the record permanently.

Two figures are published for each competition. Outcome accuracy asks whether the model called the result correctly — home win, draw or away win. Exact-score accuracy asks the harder question of whether it named the precise scoreline. Both update on their own as matches finish, so the record is a rolling, honest measure rather than a polished highlight reel.

Because no prediction is ever deleted, the accuracy pages show the whole picture — the calls that landed and the ones that did not. That completeness is the point. You can see the full record on the accuracy page.

Honest limitations

This is a deliberately simple, transparent first-version model. It is not a profit system, and it does not try to be one.

There is a lot it does not know. It does not use injuries, line-ups, suspensions, transfers, weather or any market and odds signals. It cannot see that a key player is rested, that a side is rotating before a cup tie, or that conditions are unusual. It works purely from recent results and a broad sense of team strength.

It is also a single pre-match snapshot. It does not react to anything that happens during a game — a red card, an early goal, a change of approach — because it has already made its call before kick-off.

And one point cannot be stressed enough: past accuracy does not predict future results. A good run on the record is not a forecast of the next match. The figures describe how the method has performed so far, nothing more.

A note before you read on

xgprophet is an independent, affiliate-funded site. Some links to licensed operators may earn a commission, which is how the site is paid for. That funding does not change the predictions or the accuracy record, both of which are produced by the model and published in full regardless.

Everything here is for information only. It is not betting advice, there is no tip or recommendation to place a wager, and no outcome is ever guaranteed. This content is intended only for adults aged 18 and over.

If gambling is affecting you or someone you know, free and confidential help is available from GamCare on 0808 8020 133 and through GAMSTOP. If you choose to gamble, please do so responsibly. Questions about the method are welcome at hello@xgprophet.com.

xgprophet

AI football predictions grounded in data — publicly tracked accuracy, Poisson model, British English, 18+ only.

18+ · Information only@xgprophet on X →

Predictions

  • Home
  • World Cup 2026
  • Premier League
  • Accuracy record
  • How it works
  • About

Legal

  • Responsible Gambling
  • Privacy Policy
  • Terms of Use
  • Affiliate Disclosure
Gambling support
GamCare0808 8020 133 (free, 24/7)GAMSTOPfree self-exclusion

xgprophet is not a licensed bookmaker or gambling operator. All content is for information and entertainment purposes only and does not constitute betting advice. No guarantee of prediction accuracy. Must be 18 or over and located in a jurisdiction where online gambling is legal.

© 2026 xgprophet