Methodology

How the probabilities on this site are produced, settled and scored. Written so that every number can be checked.

Last updated: September 4, 2026

1. The model

Match probabilities come from a Dixon-Coles model. Each team gets an attack and a defence strength, and there is one home-advantage term per league. The expected goals of the two sides follow from those parameters; the score distribution is a pair of Poisson counts with the Dixon-Coles adjustment that corrects the probability of 0–0, 1–0, 0–1 and 1–1, which plain Poisson gets wrong.

Parameters are fitted per league by maximum likelihood on results from the last 540 days. Older matches count less: a result loses half its weight every 180 days, so the current form of a squad dominates the fit without last season disappearing entirely.

The score grid runs to 10 goals per side. From it we read 1X2, over/under lines, both-teams-to-score, the most likely scores and Asian handicap cover probabilities. The headline 1X2 figures use the Dixon-Coles adjustment; the goal grid shown on a match page is the raw Poisson grid, which is why its 1X2 split can differ by a point or two.

2. What is not in the model

  • Line-ups, injuries and suspensions
  • Expected goals (xG) or shot data
  • Weather, travel, fixture congestion, motivation
  • Betting-market prices (odds are captured for comparison, never fed into the probabilities)

This is deliberate. A results-only model is easy to audit and does not depend on paid data. It is also why the model is weakest at the start of a season and around cup ties on neutral ground.

3. Coverage

Predictions are published only for leagues the model has been fitted on. A league is added when it has enough results in the training window (at least 120 matches) and is left out otherwise. Fixtures outside covered leagues can appear in the schedule but carry no model rating and are never counted in the record.

Feed league identifiers change every season, so a league is matched by its name and country code, with a fixed list of canonical identifiers as a fallback.

4. Picks, confidence and calibration

The pick is the outcome with the highest model probability. The confidence shown next to it is that probability after calibration.

Calibration is an isotonic regression (pool-adjacent-violators) fitted on settled picks: it maps the raw model probability to the share of picks that actually landed at that level. The curve is monotone, uses at most 40 knots and is only applied once at least 30 settled picks exist. It is refitted as results come in, so the same raw probability can map to slightly different calibrated values over time. Match pages show both numbers.

Over/under 2.5 and both-teams-to-score picks are the side the model favours; their calibrated probabilities use separate curves fitted per market.

5. Settlement

An hourly job compares every published prediction with the final score once the feed reports the match finished. A 1X2 pick is won when the actual outcome matches; goal-market picks are settled from the final score. Predictions are never edited after kick-off and never removed after settlement.

Matches marked as finished without a usable score (postponed, abandoned or missing from the feed) are kept out of the record and listed separately on the results page with a count.

6. How the record is scored

  • Hit rate: share of settled 1X2 picks that won.
  • Brier score (1X2): mean over matches of the sum of squared errors across the three outcomes; 0 is perfect, 0.667 is a uniform guess, and the market's margin-free prices typically score about 0.60 in top leagues.
  • Brier score (goal markets): binary version, where 0.25 is a coin flip.
  • Calibration table: settled picks grouped by calibrated confidence, comparing the mean predicted probability with the observed hit rate.
  • Flat-stake ROI: one unit on the model pick at the last odds captured before kick-off (closing, otherwise opening), summed over matches that have an odds snapshot. Returns are shown before any bookmaker limits or account restrictions, which real bettors face.

All figures are computed from the same settled rows shown on the results page, recomputed hourly, and include losing months.

7. Data sources and timing

Fixtures, results and team data come from a third-party football data feed. Odds snapshots come from a bookmaker feed and are captured at opening and shortly before kick-off. The public site reads from our own database and refreshes predictions every 15 minutes, results every 5 minutes and aggregates every hour. Kick-off times are shown in your browser's time zone, with Europe/Zurich as the fallback.

8. Known limitations

  • The public record starts in late July 2026; the settled sample is still small and league-level figures swing.
  • Odds snapshots exist only from mid-August 2026 and not for every match, so the ROI window is shorter than the record.
  • The feed occasionally lags or omits a result; such matches stay unsettled until it arrives.
  • Probabilities are estimates. A 60% pick is expected to lose two times in five.