Methodology
How a KickoffHour prediction is made, step by step. Last updated 16 October 2026.
Where the data comes from
- Fixtures, results, official lineups, tables and recent form: ESPN public match data.
- Market prices: 1X2 and over/under prices from a major bookmaker feed (DraftKings via ESPN). We store every price change, so we know the price at the moment we publish and the closing price at kick-off.
- Weather: Open-Meteo forecast for the stadium city (CC BY 4.0).
- News: publicly available articles: previews, team news, predicted lineups and club news. We search in the local language of each club (for example German for Bundesliga clubs, Spanish for LaLiga) as well as in English, then read the pages and extract facts.
How we read the news
For each match we run several searches, read up to six pages about the match and a couple of recent club-news pages per team. An AI model turns them into a fact sheet: who is out, who is doubtful, expected lineups, form, motivation, pressure on the manager and other off-pitch events. Every fact keeps a reference to the page it came from. Pages in other languages are summarised in English; we never republish their text.
The goals model
A Poisson model estimates how many goals each team should score from the season's goals scored and conceded, adjusted for opponent strength and home advantage. Early in the season each team's numbers are pulled towards the league average until there are enough games. A small correction (Dixon–Coles) fixes the known under-count of 0–0 and 1–1 draws. The model never sees the market.
Three AI experts and the final number
- Squad & availability judges the match through who plays: absences, replacements, returning players.
- Form, tactics & morale looks at form, styles, schedule, motivation and the state of the club.
- Market sceptic starts from the market price and moves only for a concrete fact the market may have missed.
The first two experts don't see the market: they start from the goals model, so the difference between their view and the model isolates the effect of the news. The sceptic's difference from the market does the same. AI models tend to squeeze probabilities towards 33/33/33, so we never use their absolute numbers, only the news effect.
Final = market probability + news adjustment. The adjustment is the experts' confidence-weighted news effect, scaled by how good the data was (thin or conflicting sources move the number less), and capped at ±8 percentage points per outcome. The market is hard to beat; the cap stops us from fooling ourselves.
Both teams to score is derived from the goals model's expected goals, rescaled to agree with our final over/under number.
How we read the market
Bookmaker prices include a margin. We convert prices to probabilities (1 ÷ price) and divide each by their sum, so they add up to 100%. That is the "market" number next to ours on every page.
When we publish and update
- Preview: the first analysis, published hours before kick-off.
- Lineups: when official team sheets appear (usually about an hour before kick-off), the squad expert re-runs and we publish a new version.
- Final: at kick-off the prediction is frozen. The database rejects any new version after kick-off and any edit to a published one.
How we measure ourselves
- Only the last version before kick-off counts. Results are settled on 90 minutes; postponed and abandoned matches are excluded.
- Accuracy: how often our most likely outcome happened.
- Brier score: the squared distance between our probabilities and what happened. Lower is better, and it rewards honest probabilities rather than bold ones.
- Calibration: whether things we call 30% happen about 30% of the time.
- CLV (closing line value): for the outcome we rate most above the market, did the price move towards us by kick-off? Consistently positive CLV is the strongest sign of real insight.
- Every number is shown next to the market's own, so you can see whether we add anything.
Limitations
- The AI can misread a source or miss news that broke late. We link every fact so you can check it.
- News sources vary in quality by league; lower divisions get thinner coverage.
- The sample is still small; see the track record for the honest picture.
Changelog
- 16 Oct 2026: public site launched. Club news in local languages and off-pitch facts added to the research; match conditions (rest, travel, weather) in the analysis since 15 Oct.