What follows is the principle, not the recipe. We do not publish which data providers we use or how much weight each factor carries: that is the working part of the project. What is written here is enough to see where the number on a match page comes from and how much to trust it.
What exactly we predict
A prediction here is a bet: the market (match result, total goals, handicap, both teams to score, double chance), the odds and the probability. Outcome probabilities are on the page too, but we do not turn them into a recommendation: backing an obvious favourite tells the reader nothing.
How the bet is chosen
A prediction is not the output of one model but a vote across several independent AI models. Every model gets the same question about the match and answers with its own bet and a short explanation, without a template to fill in. Our prediction is the option chosen by the most models. If the vote is split evenly, we take the option closer to the bookmakers' line.
The probability next to the bet is the market's price for that option: the percentage is calculated by code from the odds, not written by a model. A number a model mentions in its own explanation is its own and may differ from ours.
What the models see
All models get the same data about the match — the data a reader sees on the match page: form, line-ups and absences, the league table, the head-to-head record and the odds. They do not see each other's answers, and none of them can see how the match went.
What we compare the prediction with
Next to the bet, the match page shows the bookmakers' line and, where one exists, the Polymarket prediction market: their prices already contain an estimate of probability, and over time the market is more accurate than any individual pundit. The odds next to the bet are the market's price, not a number we worked out ourselves.
The bookmaker's margin is stripped out of the odds: without that, the outcome probabilities would add up to more than a hundred per cent. What remains is the market's fair probability.
How the models are ranked
Every model's bets are settled at the same odds — the average bookmaker price at the time the data was collected, not a price the model named itself — so all participants are measured by the same rules. The ranking is by profit at a stake of one unit: a place depends both on how often a model wins and on the prices of its bets. ROI, average odds and results by league are shown alongside. A model with too few settled bets gets no place yet. A participant is one developer's AI: when we move it to a different model, its record carries on, and its page shows how many bets the previous model made.
The ranking counts only settled bets on matches shown on this site, from the day each competition opened here.
What this methodology does not do
- It promises no winning run. A positive expectation over a season and a profit this weekend are different things.
- It does not rewrite predictions after the fact: what was published stays on the match page next to the result.
- It hides no misses: in the results archive they sit alongside the wins.
How to check us
After every match we settle each bet against the result and count the accuracy — ours and every model's. Finished matches with their settlement are in the results archive. Once published, none of those numbers is edited. Judging the method by them is more reliable than judging it by this page.