Begin with the event contract
Opta's football-statistics definitions demonstrate why a metric needs a named provider and definition. Write the target outcome before opening a dashboard: event, market, line, period, participation rule and settlement provider. A statistic is relevant only if its definition and time window map to that contract.
Opta's football-statistics definitions show that possession, sequences, pressing and defensive events have provider-specific meanings. Do not merge similarly named fields from different providers without a tested mapping.
Reproducible sequence
- Define the exact market event and decision timestamp.
- Select provider fields whose definitions and coverage match that event.
- Freeze every input at the information cutoff and record missing-value treatment.
- Transform the inputs into a probability with a versioned method.
- Validate the forecast chronologically and inspect calibration and uncertainty.
- Estimate the joint event with an explicit dependence assumption or model.
- Compare that estimate with the accepted price, then retain the final settlement and cash result.
Evidence pipeline
| Stage | Required record |
|---|---|
| Question | Exact market event and decision time |
| Data | Provider, field definition, coverage and last available event |
| Features | Transformation, missing-value rule and version |
| Model | Training window, parameters and probability output |
| Validation | Chronological test set, calibration and uncertainty |
| Product | Accepted price, timestamp, stake and settlement rule |
| Outcome | Official result, corrections and final cash return |
scikit-learn's TimeSeriesSplit documentation explains why future observations must not be used to evaluate earlier forecasts. Rolling averages and league tables must be frozen at the decision timestamp.
Convert evidence into probabilities
Form, shot counts, xG, rest, lineups and prices are model inputs, not probabilities by themselves. Define the target label, train a documented model, and test its probability calibration. scikit-learn's calibration guide explains reliability curves, while the Brier paper supplies a proper probability score.
Do not set a universal sample threshold. Report event count, coverage period, class balance and uncertainty. A large biased sample does not repair a changed definition or data leak.
Worked joint-probability check
Suppose a frozen model gives three illustrative cross-match probabilities of 0.55, 0.60 and 0.50. If and only if the events are treated as independent:
Joint probability = 0.55 * 0.60 * 0.50 = 0.165, or 16.50%
At an accepted combined price of 7.00:
Raw break-even probability = 1 / 7.00 = 0.1429, or 14.29%
Illustrative expected return per unit = 0.165 * 7.00 = 1.155 units
The apparent difference is not a conclusion. OpenStax's independence condition must be justified, and probability uncertainty, limits, settlement states and model selection can reverse it.
Dependence audit
Map shared teams, managers, competition incentives, weather, lineups, schedule congestion, data sources and model components. Use direct joint modelling or conditional probabilities when one leg changes another's chance. Different fixtures can still share causes or model error.
Next step
Use Football Statistics Betting for the next part of this topic.
Test against simple baselines
scikit-learn's common-pitfalls guidance warns about leakage and inappropriate model evaluation. Compare a complex feature set with an appropriate chronological baseline on probability quality, including a constant base rate, a market-implied benchmark under a stated margin-removal method, and a smaller stable-input model.
| Test | Question |
|---|---|
| Ablation | Does removing one feature materially change held-out calibration? |
| Missingness | Is absence itself carrying later or provider-specific information? |
| Definition drift | Did the provider change an event field during the sample? |
| Stability | Does performance persist across seasons and competitions? |
| Joint test | Are combined forecasts calibrated, not only individual legs? |
Following scikit-learn's separation of training and test information, freeze feature selection before the final test period. Repeated choices based on the same held-out matches leak test information into development even when no model fitting command is run.
Under that same out-of-sample evaluation principle, report failed and inconclusive comparisons. Remove a statistic that adds no stable held-out information rather than retaining it only because its football story sounds plausible.
Continue learning
- Next guide: Weekend Acca Research
- Related guide: Weekly Acca Spreadsheet
Assumptions and limitations
The worked values are hypothetical. Historical relationships can change, data providers can revise events, and calibrated marginal forecasts do not guarantee a calibrated accumulator joint probability.

