How Guaranteed Correct Generates Predictions
Every probability on this site is produced by our own engine, running on our own servers, from football that has already been played. No chatbot is asked who will win. The maths is described below, and the page ends with how it performed when we tested it against 16,541 finished matches.
Every club gets a rating
The engine walks through 16,541 finished matches in date order and updates two numbers for every club after every result: how well it scores, and how well it stops others scoring. It keeps a separate Elo rating alongside them, because Elo only cares who won and is unmoved by a freak 6–0.
A newly promoted side with four wins is not modelled as the best team in the league. Ratings are pulled toward the league average in proportion to how little history stands behind them, and pulled back again at every season change, because that is when squads actually turn over.
Expected goals, then the human side
Those ratings produce expected goals for each side, run through a Poisson score matrix with the Dixon-Coles correction on the low-scoring results. That gives a probability for every scoreline, and every market is read off the same grid — which is why our Over 2.5 number and our correct-score numbers can never contradict each other.
Then the part a goal model cannot see: who is missing, how many days the side has had off, how many matches it has played in a fortnight, and whether it has flown abroad. These move the numbers by a few percent and are capped there. A paragraph of dramatic team news is not allowed to outweigh ten seasons of evidence.
Five opinions, not one
The goal model, the Elo rating, a recent-form model and the bookmakers' own prices each price the fixture separately, and the engine combines them. When they agree the pick is sharpened; when they argue it is flattened, and how much they argued is recorded on the pick itself.
Bookmakers' prices are used the way a second opinion should be used: as a check on us. A price carries the bookmaker's margin, so it is stripped out before comparison — otherwise every fixture would look like value.
The percentage is checked against reality
A model that says 78% and is right 71% of the time is not lying, it is miscalibrated — and every decision made from that 78% inherits the error. So the engine looks up how often picks at each confidence level have historically landed, and corrects the number before publishing it.
When we print 65%, we mean the thing that happens about 65 times in 100 — not a number chosen because it looks persuasive.
The engine is allowed to say no
Every pick is graded A, B, C or no strong pick. A fixture is downgraded when the models disagree with each other, when we hold too little history on the clubs, or when we are far from the market price with nothing in the team news to explain why — because a large unexplained disagreement with the betting market is usually the market knowing something we do not.
Picks graded “no strong pick” are not ranked and never reach the Top 10 lists. Most tipping sites have an opinion on every fixture. That is a choice about filling a page, not about the football.
You can see the working
Open any fixture and expand How the model got here. You will find the expected goals, the rating gap between the clubs, every team-news adjustment with the percentage it moved, how closely the models agreed, and how far the pick sits from the market price.
Including the factors that argued against the pick. A model that shows you only its supporting evidence is an advert.
How it performed when we tested it
We replayed the engine over 16,541 finished matches from 2020–2026, covering 223 clubs. Each match was predicted using only what was known the day before kickoff. The engine never saw a result before it had to predict it — which is the only way a backtest means anything.
| Market | Picks tested | Landed | Tipping blind | Difference |
|---|---|---|---|---|
| Match Winner | 5,719 | 63.8% | 43.3% | +20.5 pts |
| Over 2.5 Goals | 11,231 | 57.3% | 52.0% | +5.3 pts |
| Both Teams To Score (GG) | 9,401 | 55.7% | 53.3% | +2.4 pts |
| Over 8.5 Match Corners | 10,534 | 65.3% | 63.1% | +2.2 pts |
| Over 2.5 Match Yellow Cards | 7,850 | 81.2% | 73.8% | +7.4 pts |
The last column is the only one that matters. A hit rate on its own is close to meaningless. Roughly three matches in four produce three bookings, so a cards tip landing 80% of the time has beaten nothing at all. “Tipping blind” is what you would have scored backing the commoner side of that market every week without thinking. The difference is the only part the engine is responsible for.
These cover the picks that clear each market's publication threshold — the ones that actually reach this site. Below that line the engine keeps its opinion to itself, and we do not count those as wins or losses because you never saw them.
Across the whole test the engine projected 2.75 goals a match against 2.75 actually scored — so it is not quietly biased toward overs or unders.
What we will not do
- ✓ No chatbot picks the winner. Probabilities come from the engine described above. A language model writes the readable match preview around numbers it is handed; it cannot produce or adjust one.
- ✓ Published means locked. A pick is fixed before kickoff and is never rewritten once the result is known. The settlement record counts what we actually said, including the losers.
- ✓ Sources stay labelled. Engine output and named analyst opinion carry different badges throughout the site and are never merged into one unattributed list.
- ✓ Gaps are stated, not filled. Where we hold no team news, no head-to-head record or too little history on a club, the pick says so and its confidence is cut for it.
- ✓ No guarantees. Football is decided by deflections, red cards and refereeing calls that no model anticipates. Everything here is a probability, tested honestly and published as what it is. Bet only what you can afford to lose.