How our predictions work
Measured 11 August 2026 · spot-checked 16 October 2026
Every percentage on oBetile is an estimate of how likely an outcome is. This page explains where those numbers come from and how often they turn out to be right, so you can judge them rather than take them on trust.
Where a percentage comes from
If bookmakers price the match, we use their published prices. Those prices include a built-in margin, so the raw numbers add up to more than 100%; we remove that margin before showing anything, which is why our percentages total 100 and are slightly lower than the ones you would read straight off a betting site.
If nobody prices it — which is most matches outside the major leagues — we compute the estimate ourselves, using only data already on the site.
If we cannot do either, the match shows a dash. Cup ties, friendlies, youth and reserve fixtures usually have no league table behind them, and early in a season a table describes the fixture list more than the teams. We would rather show nothing than fill the space with a number we do not believe.
How the model works
It is a Poisson goals model, the standard approach for this problem. In outline:
- Each team's attacking and defensive strength is measured against its own league, using home and away records separately — so home advantage comes out of the real data rather than being a fixed number someone picked.
- Those strengths give an expected goals figure for each side in this particular fixture.
- Recent form adjusts it slightly, and head-to-head record adjusts it less. Both are small samples, so both are deliberately given little weight.
- Every plausible scoreline is then summed into the three outcomes: home win, draw, away win.
Two corrections matter enough to name. Short records are pulled toward the league average, because a team that has scored at twice the league rate over ten home games is usually good but rarely twice as good. And the final figures are deliberately flattened, because the model was measurably more confident than its record justified.
How accurate it is
We test by replaying completed seasons match by match. Each fixture is predicted using only what was known before it kicked off, then scored against the actual result — nothing that happened in or after a match is ever visible to its own prediction.
The benchmark is a forecast that simply predicts the season's eventual home/draw/away split for every match. That is a demanding bar, because it is allowed to know the answer in advance. The model beat it in all six seasons tested:
| Competition | Season | Better than benchmark by |
|---|---|---|
| Premier League | 2025 | 5.9% |
| La Liga | 2025 | 5.7% |
| Serie A | 2025 | 8.2% |
| Bundesliga | 2025 | 10.4% |
| Ligue 1 | 2025 | 4.9% |
| Brasileirão | 2025 | 3.4% |
The single outcome we rate highest happens about 48–52% of the time. That is better than the benchmark, and it is still wrong about half the time. Football is genuinely hard to predict, and any site claiming much better than this is not being straight with you.
Whether the percentages mean what they say
Being right more often is not the same as being honest about confidence. A model can rank matches well and still overstate how sure it is. So we also check that a stated percentage matches reality: of the matches we call at 60%, do roughly 60% happen?
These figures come from three seasons — the Bundesliga, Ligue 1 and the Brasileirão — that were never used to build or tune the model:
| When we said | Average claim | Actually happened |
|---|---|---|
| 20–30% | 25.7% | 26.3% |
| 30–40% | 34.0% | 32.8% |
| 40–50% | 44.8% | 45.5% |
| 50–60% | 54.6% | 55.4% |
| 60–70% | 64.4% | 62.0% |
Each band lands within roughly two points of its claim. Before we corrected for overconfidence the gaps ran to eleven points — matches called at 70–80% were coming in only 63% of the time.
That is the average across all six seasons together, and a single competition is less steady than the average of six. Replaying two of them on their own put the 60–70% band about four points high in each — so a match shown at 65% is the band we are least sure about, and the one most likely to be flattering itself.
What this does not cover
- Injuries, suspensions, transfers and team news are not used. A side missing its best striker looks the same to the model as a side at full strength.
- It does not know what is at stake. A dead rubber and a relegation decider are treated alike.
- Testing was done on established league competitions. Cups, youth and amateur fixtures where a table exists get a percentage, but the accuracy above was not measured on them and is likely worse.
- Early-season figures are the weakest, even where we show them at all.
In plain terms
These percentages are a reasonable, tested estimate — better than guessing, honest about how sure they are, and wrong often. They are not advice, not a tip, and not a reason to risk money. Please read them as the informed opinion they are.