Methodology
How our football predictions work
Two engines write every forecast on Oddsivio. Sirius calls the match — home, draw or away. Janus calls what happens inside it — goals, cards and corners. This page explains what evidence they weigh, how a forecast becomes a number, and the rules that keep both honest.
It is not a formula reveal — the exact weightings stay ours. It is the part that matters more: what goes in, what we promise about every number that comes out, and where to check that we keep those promises.
Five rules every forecast follows
Built from evidence
Every forecast is computed from measured, pre-kickoff evidence — results, form, matchup patterns and league norms. No hunches, no gut calls, no hand edits.
Frozen at kickoff
Forecasts lock when the whistle blows. What you see during and after a match is exactly what we published before it — nothing is quietly rewritten, nothing is removed.
Scored in public
At full time every forecast is scored against what actually happened, and the result rolls into a public track record — the complete ledger, not a highlight reel.
Misses included
When we're wrong, the miss stays on the page next to the final score it was scored against. A record you can't lose isn't a record.
Sits out rather than guesses
When the evidence is too thin — a newly promoted side, a first meeting, a young season — the engines publish no forecast rather than dressing up a guess. Every sit-out is kept on the record too.
One more rule about the records themselves: headline numbers are held until a record clears three hundred scored claims, and slices still short of that say so instead of pretending. Young numbers prove nothing either way — we'd rather show you nothing than noise.
Where and when forecasts appear
Forecasts cover competitive matches across 20+ competitions — the Premier League, La Liga, Serie A, Bundesliga and Ligue 1, the UEFA club competitions, and more leagues and cups worldwide. Friendlies never get forecasts: experimental line-ups make the evidence unreliable, and we don't publish numbers we don't trust.
Each forecast is written from the final week of evidence and opens in the hours before kickoff, then freezes when the match starts. At full time it is scored, and the result rolls into the public record. The evidence itself comes from professional match-data feeds — results, line-ups, match events and team statistics — the same data that powers the rest of the site.
Sirius — match forecasts
Sirius forecasts the result. For every covered match it publishes three chances — home win, draw, away win — that always add up to 100%, frozen before kickoff and shown with the key evidence for and against each side.
It works from an evidence ledger: a running record of what each team has measurably done. Recent results and home-and-away form, scoring and defensive signals, head-to-head patterns, and how matches with similar evidence played out before. When a team's circumstances break with its record — promotion, a new manager, a reworked squad — the forecast flags it rather than pretending the past still applies.
A forecast only means something against a yardstick, so the record page scores Sirius against two. Football's long-run averages are the floor — the mark any forecaster must beat to claim skill. The market consensus, saved at least thirty minutes before kickoff with the margin removed, is the hardest benchmark there is. The market is never an input to Sirius; it is the examiner. Where we stand against both is computed from the data and published live — including whenever it says we're behind.
See every Sirius forecast, scoredarrow_forwardJanus — goals, cards & corners
Janus forecasts what happens inside the match. For every covered game it makes nine kinds of call: goals over or under at three lines — 1.5, 2.5 and 3.5 — both teams to score, each team to score, home and away, the first team to score, and the volume of cards and corners.
Every call starts from the league's own norm — how often matches in that competition actually go over 2.5 goals, see both teams score, and so on — and moves off it only when the match evidence says to. That starting point is also the yardstick: the frozen league norm is scored on exactly the same claims, so the record shows whether the moves the evidence makes actually help — and will say so if they ever stop helping.
Calls that sit near fifty-fifty are flagged as too close to call and kept in the record rather than quietly dropped, and a lane still short of three hundred claims reads “still accruing” instead of showing a headline.
See every Janus forecast, scoredarrow_forwardHow a forecast is scored
A forecast here is a claim about chance, so it can never simply be marked right or wrong. Instead, at full time we ask one question: how much chance did we give the result that actually happened? Give the eventual result a big chance and the forecast scores well; dismiss it and the score is poor. Every answer is kept, good and bad.
One match proves little either way — an underdog winning doesn't make a forecast wrong, and a favourite winning doesn't make it right. The real test is the long run: gather every claim made at a similar level of confidence and count how often those things actually happened. Claims made at around 60% should come true about 60% of the time. The record pages show that comparison band by band, so you can see where the forecasts earn trust and where they don't.
The distance, in probability points, between the chance we stated and the rate it actually happened — averaged over every claim we've published — is the average miss, the headline number on each record page. Lower is better, and because it is computed from every claim, a convenient miss can't be left out to flatter it.
A worked example
Say Sirius weighs the evidence for a Saturday fixture and publishes: home win 58%, draw 24%, away win 18% — three chances, frozen the moment the match kicks off.
The match finishes 1–1. The result we gave 24% is the one that happened, so this forecast scores poorly — and the miss stays on the record next to the final score. But one poor night proves little. The real question is whether the draws we call at around 24% happen about one time in four over the long run — and the record pages run that check in public, on every claim, this miss included.
The numbers here are invented; the process is exactly what happens to every real forecast on the site.
What we don't publish
No sure things, no picks, no promises of profit — and no advice about your money. A forecast here never tells you what will happen; it tells you how likely we think each outcome is, and the record shows how often we've been right at every level of confidence.
We also don't publish the recipe. The evidence that goes in is listed above; the exact weighting is the part we keep. What we refuse to keep private is the scoreboard — every claim, every miss, in public.
Model updates
Every forecast names the engine version that produced it — the small print at the foot of the card. When how forecasts are made changes — new evidence weighed, a rule tightened, a faulty claim removed — the version number changes and the update is listed here, newest first.
Day-to-day movement is not a model update: forecasts refresh as new results arrive, then freeze at kickoff. And a new version never rewrites the past — frozen forecasts stay exactly as published, so the record pages always show each claim scored by the version that made it.
Sirius v2.4.1 · 21 August 2026
No rest-day claims on partial calendars
Some teams play plenty of matches we track — European ties, cup runs — while their domestic league sits outside our week-to-week coverage. Our calendar for them is incomplete, so rest-day and fixture-congestion notes could state wrong facts. Those notes are no longer shown for such teams, and form notes now say when they cover only the games we track. Display only: no forecast numbers changed.
Sirius v2.4.0 · 30 July 2026
Neutral-ground competitions
Sirius now knows which competitions are played on neutral pitches — one-off super cups and final-four tournaments — and no longer credits the listed home side with home advantage there. A side genuinely playing at its own stadium keeps it.
Sirius v2.3.1 · 17 July 2026
Squad availability, shown in full
Every forecast now carries the complete list of absences the engine weighed — who is missing, how regularly they start, and what the forecast made of it. Display only: no forecast numbers changed.
Sirius v2.3.0 · 15 July 2026
A stricter sit-out rule
Sirius now sits out when either side's recent tracked history is too thin or too stale to trust — in practice mostly early qualifying rounds. Every sit-out stays on the record.
Sirius v2.2.0 · 12 July 2026
Early-season caution
When both sides are still inside the opening weeks of a new league season, home sides have historically fallen short of their rating, and forecasts now allow for it. Newly promoted sides and heavily rebuilt squads are flagged as context — measured, but not yet trusted to move a number.
Sirius v2.1.0 · 10 July 2026
Home unbeaten runs, weighted absences
A season-long unbeaten home record now moves the forecast — the one such pattern that survived testing across thousands of past matches. Absences weighted by how often each player actually starts are now tracked as a watch signal, and several popular head-to-head patterns that failed testing appear only as context, never in the numbers.
Sirius v2.0.2 · 7 July 2026
Removed a faulty venue note
A note flagging venue-name mismatches fired constantly on stadium renames and translations while predicting nothing, so it was removed. Forecast numbers untouched.
Sirius v2.0.1 · 7 July 2026
More context on the card
Forecasts now show the most recent meeting's score, name unbeaten runs that extend past the visible last five, and say when the market consensus has moved since it opened. Display only — the market is never an input.
Sirius v2.0.0 · 6 July 2026
First public version
The evidence-ledger scorer went live: team strength, venue, goals environment, possession control, finishing luck and end-of-season significance are scored, with form, history, rest and absences shown as context. Every forecast freezes at kickoff and is scored at full time.
This changelog was first published in August 2026; earlier entries are backfilled from the engine's internal version log and dated by when each version went live. Entries cover Sirius for now — Janus updates join from its next version.