Give each price one role
| Role | Question | Required timestamp |
|---|---|---|
| Feature | Does the market add information to the model? | Same cutoff as the forecast |
| Baseline | Does the model improve probability scoring? | Comparable price captured at cutoff |
| Decision price | Was the forecast-price difference actionable? | Price and terms available at decision time |
| Closing reference | How did the market later move? | Explicitly labelled later observation |
Mixing these roles creates misleading evaluation. A closing price can be an informative later benchmark while still being unavailable to a morning forecast.
Minimum market row
Store fixture ID, bookmaker or exchange, market, selection, settlement period, decimal price, retrieval time, source update time, availability status and operator rules version. Betfair's sportsbook rules illustrate why market definitions and settlement must be checked rather than inferred from a short label.
Convert and normalise transparently
Raw implied probability for decimal odds d is 1 / d. If a home price is 2.50, the raw implied probability is 1 / 2.50 = 0.40, or 40%. Across all outcomes, raw probabilities usually include market margin, so a model comparison must state whether and how they were normalised. OpenStax probability definitions provide the probability basis; they do not prescribe a bookmaker-margin method.
Evaluation protocol
- Freeze a forecast cutoff.
- Select prices available by that cutoff.
- Map model and market outcomes exactly.
- Preserve missing and rejected prices.
- Compare proper probability scores and calibration.
- Report later movement separately from forecast accuracy.
- Reproduce settlement using the relevant rules.
TimeSeriesSplit supports chronological evaluation. Calibration guidance supports reliability checks for both model and normalised market probabilities.
Evidence boundary
Peer-reviewed football forecasting and market research provides a sample-specific study of forecasts and fixed-odds efficiency. It does not establish that every market is perfectly efficient or that every model-market disagreement is profitable.
Operational controls
Monitor stale prices, duplicate bookmakers, suspended markets, changed settlement periods, source latency and unavailable stakes. A displayed difference can vanish before acceptance. Store the actual comparison record rather than reconstructing it from a later feed.
Align two clocks before comparing probabilities
Suppose a model forecast was stored at 09:00, a bookmaker quote was retrieved at 09:02, the source marked it updated at 08:58, and the match began at 15:00. Those four times describe one potentially valid comparison. Replacing the 09:02 quote with a closing price changes the question to later market movement. Peer-reviewed football forecasting and fixed-odds research supports treating forecast and market evidence within a declared sample and design.
| Field | Illustrative value | Audit question |
|---|---|---|
| forecast_at | 09:00 | Was the model locked? |
| odds_source_at | 08:58 | How stale was the provider record? |
| odds_received_at | 09:02 | When could the product use it? |
| market_status | open | Was the selection available? |
| decimal_price | 2.50 | Which operator and terms applied? |
Betfair's sportsbook rules demonstrate why product and settlement terms belong to the record. They do not govern every operator.
Test the market feature without circularity
If market probability is an input, compare a model with and without it on the same chronological fixtures. Also compare directly with the market-only baseline. A combined model that merely reproduces the price has not shown independent information gain.
Report results by forecast horizon because an opening quote and a near-kickoff quote contain different information sets. Keep rejected, missing and suspended prices in coverage reporting. Operational availability is part of the experiment, not an inconvenience to remove after outcomes are known.
Continue the workflow
Use true odds versus bookmaker odds to compare raw, normalized and independently modelled probabilities before assigning a market price a role.
Continue learning
- Next guide: Bias in Football Prediction Models
- Related guide: Ensemble Football Prediction Models
Assumptions and limitations
The 2.50 example is illustrative. Market products, margins, liquidity and settlement vary. This page explains research and data controls; it does not identify a bet or guarantee value.

