Data families
| Family | Examples | Main control |
|---|---|---|
| Fixture context | Date, venue, competition, rest | Stable IDs and rescheduling history |
| Results and ratings | Goals, points, rolling strength | Only earlier completed matches |
| Event data | Shots, passes, cards, xG | Provider definitions and corrections |
| Lineups and availability | Starters, bench, sidelined players | Confirmation state and retrieval time |
| Tracking or context | Player locations, pressure, spacing | Coverage, coordinate system and licence |
| Text | Team news, reports, commentary | Publication time, source and extraction version |
| Market | Prices, movement, liquidity | Bookmaker, market, timestamp and margin method |
| Live | Score, clock, cards, substitutions, statistics | Latency, event order and replay behaviour |
StatsBomb open data and Metrica sample data expose inspectable event or tracking structures. Their selected coverage should not be mistaken for universal production availability.
Availability is part of the feature
For every value, store event time, provider update time and model retrieval time where possible. A final corrected lineup is not valid input to a prediction made before confirmation. Sportmonks lineup documentation distinguishes predicted and confirmed lineups and documents sidelined-player data.
Build the feature register
- Name the source and stable field identifier.
- Record the provider definition and unit.
- Set the earliest permitted historical timestamp.
- Define inclusion, correction and missing rules.
- Record transformations and rolling windows.
- Document licence and retention constraints.
- Test a missing or delayed fallback.
Opta's football definitions illustrate why familiar metric names still require provider-specific definitions.
Live data needs a replay test
The Sportmonks livescores documentation lists in-play fixtures and includes such as events, statistics, lineups, odds and predictions. To validate a live model, archive the sequence actually received and replay it in order. A final fixture record cannot reconstruct latency or earlier missing events by itself.
Information-gain test
Add one data family at a time to a stable baseline. Evaluate on later fixtures and report score change, calibration, coverage, latency and maintenance cost. If a data family improves only the training sample or creates frequent missing cases, it has not earned production use. Common-pitfalls guidance supports keeping transformations and selection inside the permitted training process.
Build an availability join before a feature join
For each source record, store when the football event happened, when the provider first exposed it, when the system received it and whether it was later corrected. The usable pre-match record is the latest version received before the forecast cutoff, not the final version in today's database.
| Source | Event time | Availability risk | Required test |
|---|---|---|---|
| Match result | Full time | Later corrections | Exclude current fixture from rolling features |
| Lineup | Publication time | Predicted versus confirmed state | Reconstruct cutoff snapshot |
| Event data | During match | Post-match edits | Version and completion flag |
| News text | Article publication | Edits and syndication | Hash and timestamp copies |
| Odds | Retrieval time | Suspension and stale quotes | Source-time and receipt-time checks |
Sportmonks' lineup documentation illustrates predicted and confirmed states. scikit-learn's common-pitfalls guidance supports keeping all transformations inside the permitted information boundary.
Add provenance to every model input
A model feature record should point back to provider, field definition, raw row IDs, transformation version and missing-data rule. That chain lets an analyst explain why a prediction changed and identify whether drift came from football, collection or code.
When a data family is removed, retain the ablation result. A smaller feature set with broader, more reliable coverage may create more useful production forecasts than a richer model that fails silently on many fixtures. Football benchmark research supports controlled feature comparisons under one evaluation protocol.
Continue the workflow
Use the football data provider comparison to assess current coverage, definitions, rights and delivery before selecting a feed.
Continue learning
- Next guide: How to Build a Football Prediction Model
- Related guide: How to Evaluate an AI Football Prediction Service
Assumptions and limitations
Availability, fields and licences can change. This map does not claim SportSignals uses every listed data family. A provider capability is not evidence that a specific model includes the field or uses it correctly.

