Freeze the official matchday
The Premier League's official 2026/27 fixture list states that fixtures are subject to change. Save the event ID, teams, venue, scheduled kickoff and source timestamp, then recheck before the decision. A model run against an old kickoff can use stale rest, travel and lineup information.
| Matchday field | Evidence |
|---|---|
| Fixture | Official league source and retrieval time |
| Team news | Named source and publication time |
| Market | Event, line, period and settlement provider |
| Forecast | Model version, data cutoff and probability |
| Price | Operator, accepted timestamp and precision |
| Outcome | Official score plus operator settlement |
Separate current evidence from reputation
Do not add a well-known club as a banker without a current probability and price. Retain the complete home-draw-away vector or score distribution, including uncertainty, for every candidate. Club name, broadcast prominence and table position are context, not a probability model.
Provider definitions also matter. Opta's football-statistics definitions show why events such as possession sequences and defensive actions need a named data source. Keep one mapping across training, prediction and evaluation.
Chronological match model
scikit-learn's TimeSeriesSplit documentation explains why time-ordered evaluation must not train on future observations. Use that chronological separation throughout the workflow:
- Train only on observations available before the forecast.
- Preserve promoted-club and competition-change handling explicitly.
- Add lineup information only after its timestamp.
- Validate on later matches using a fixed inclusion rule.
- Review probability calibration, not only selected-leg win rate.
- Archive the version used for the published probability.
Matchday dependence audit
Premier League legs can share teams across linked markets, weather, schedule congestion, competition incentives, lineup news and model components. OpenStax's independence rule must be justified before multiplying probabilities.
Use one row per dependence edge. If two legs use the same match, model the joint event directly. If separate fixtures share a team-state or common cause, run a conditional or scenario calculation rather than assuming independence.
Settlement QA
Confirm the market's regulation-time and data-source rules. IFAB's current Laws define the sport, while Betfair's football rules provide one current operator settlement example. Preserve both the official outcome and final product result.
Next step
Use Weekend Acca Research for the next part of this topic.
Fixture-revision stress test
Create two model snapshots when a kickoff changes: the original schedule view and the final decision-time view. Recalculate rest, travel, lineup availability and market timestamp; do not edit the original row.
| Revision check | Required result |
|---|---|
| Kickoff moved | New rest hours and information cutoff |
| Venue changed | Home-away and travel features reviewed |
| Broadcast selection | No automatic probability effect without evidence |
| Cup tie inserted | Player minutes and rotation evidence updated |
| Match postponed | Original forecast retired or explicitly rerun |
The official fixture source states that dates can change. A forecast made for the old event should not remain silently attached to the revised fixture, even when the teams are unchanged.
Continue learning
- Next guide: Serie A Accumulators
- Related guide: Using xG for Accumulators
Assumptions and limitations
This page publishes no current selections, rankings or performance promise. Fixtures, squads, prices and model behaviour change, so the workflow must be refreshed after the stated expiry date.

