How the Model Works
I built the model behind this site, and this page explains how it works in plain English. Not the code, and not the exact weightings, but enough that a numerate reader can judge whether the approach is sound. If you only take one thing away, make it this: the model estimates probabilities. It does not know results in advance, and neither does anyone else.
What goes in
The model runs on the Betminer engine, which I have been building and refining for years. For every fixture it prices, the inputs fall into four groups.
Results and scoring rates. Every competitive match in the leagues we cover, weighted so that recent form counts for more than results from months ago. Goals scored and conceded matter more than win-loss records, because goals are the raw material of almost every betting market.
Opposition quality. A 2-0 win over the league leaders tells you more than a 2-0 win over a side that has lost eight in a row. Each result is adjusted for the strength of the opponent, which is itself estimated from their results. The ratings settle into place over repeated passes rather than being assigned once.
Home advantage. Home teams score more and concede fewer, but the size of the effect varies by league and has drifted over time. The model measures it per league rather than assuming a universal constant.
Market prices. Bookmaker odds carry information, because they are shaped by money from people who may know things a ratings model cannot see. The model uses the market as a reference point for finding value, not as an input that drives its own probabilities. The two estimates stay independent, which is what makes comparing them meaningful.
From ratings to probabilities
Team ratings become an expected number of goals for each side of a fixture: attack strength against defence strength, adjusted for venue. Those goal expectancies then feed a scoreline distribution, a grid of probabilities for every plausible final score from 0-0 upwards.
Every market we publish is read off that grid. The chance of over 2.5 goals is the sum of all scorelines with three or more goals. Both teams to score is the sum of all scorelines where neither side is nil. The match result probabilities are the sums of the home-win, draw and away-win regions. The most likely single scoreline becomes the correct score pick, which is worth a moment's reflection: even the most likely scoreline in a football match rarely carries more than a 12 to 14 percent chance. Correct score betting is long odds because football is genuinely hard to pin down at that resolution.
The scoreline grid comes from goal-count distributions of the Poisson family, with an adjustment for the well documented tendency of raw Poisson to misprice low-scoring draws. Anyone who has read the Dixon and Coles paper will recognise the shape of the approach.
What we publish and why
A probability alone is not a reason to bet. The model compares its own number with the probability implied by the available odds, and the gap between them is the edge. A selection is published when the model's probability is meaningfully higher than the market's, not merely when an outcome is likely. A 90 percent chance priced as a 95 percent chance is a losing bet in the long run. A 45 percent chance priced as a 35 percent chance is a good one.
Every published selection is frozen at kickoff with the odds available at the time, written to an archive that cannot be edited afterwards, and settled against those archived odds. The full record, including every losing run, lives on the results page and can be downloaded as a CSV.
Where the model is weakest
Publishing this section is the point of the page. A model that only talks about its strengths is marketing.
Squad news arrives late. Ratings move on results, so a star striker's injury or an international call-up reaches the model only after it shows up in performances. In the hours before kickoff, the market absorbs team news faster than we do.
Small samples mislead. Early season, after promotion, after a takeover or a managerial change, the recent-form signal is thin and the model leans on older data that may no longer describe the team. Cup competitions mixing divisions are similar: ratings built in different leagues are harder to compare than ratings built in one.
Motivation is invisible. A mid-table side with nothing to play for, a team resting players before a European tie, a derby where form counts for little. Humans price these situations reasonably well. Goal-rate models do not.
Extreme probabilities are less reliable than middling ones. When the model says 85 percent, the true figure is more often a little lower than a little higher. We track this calibration in the results archive, and it is one of the reasons the edge threshold exists at all.
None of these weaknesses is unusual. Every statistical football model shares them, whether it says so or not. The difference here is that you can check what they cost, because the losses are published alongside the wins.
What this means for you
Treat every number on this site as an estimate built from public information by a process that is consistent, unemotional and wrong a known percentage of the time. Never stake more than you can afford to lose on any selection, however strong the number looks. A 70 percent probability fails three times in ten, and those three arrive in clumps more often than intuition expects.
If you want to dig further, the results archive is the audit trail. Check the strike rates against the published probabilities and draw your own conclusions. That is what it is there for.