Define “accuracy” before quoting a number
A three-way result classifier, an over-2.5 probability and an exact-score model solve different tasks. Even within match-result forecasts, accuracy depends on how a probability vector becomes one selected class. A service that publishes only high-confidence fixtures has a different denominator from one covering the full schedule. scikit-learn's model-evaluation guide distinguishes classification and probabilistic metrics and their inputs.
Minimum report
| Item | Required detail |
|---|---|
| Target | Outcome and match period |
| Period | Seasons and exact date range |
| Cutoff | When forecasts were locked |
| Eligibility | Which fixtures should have a forecast |
| Coverage | Published divided by eligible fixtures |
| Probabilities | Full pre-match vector |
| Metrics | Proper score plus declared accuracy rule |
| Calibration | Results by probability band |
| Baselines | League frequency, rating or timestamped market |
| Uncertainty | Sampling variation and relevant slices |
scikit-learn's model-evaluation documentation describes classification and probabilistic metrics. Log loss rewards probability assigned to the observed outcome and heavily penalizes confident errors; accuracy uses only the selected class.
Worked denominator example
Suppose 380 league fixtures are eligible, the service publishes 342 forecasts and 171 selected outcomes are correct. Coverage is 342 / 380 = 90%. Accuracy on published selections is 171 / 342 = 50%. Reporting only “50% accurate” hides the 38 missing forecasts, target definition, class balance and probability quality. The example is illustrative.
Add calibration
Group forecasts into predeclared probability bands and compare mean forecast with observed frequency. Calibration guidance explains this reliability relationship. Report the number of forecasts in every band; a small high-confidence group should not carry the same certainty as a large central band.
Keep the final period untouched
Features, thresholds and parameters selected after viewing a season cannot be evaluated honestly on that same season. Use earlier data for development and a later untouched period for final evaluation. TimeSeriesSplit documents one ordered approach.
League context can change
Team composition, promoted clubs, schedules and playing conditions vary between seasons. A causal Premier League home-advantage study examines one particular period and explicitly cannot supply a permanent league-wide adjustment. Report results by period and avoid carrying a single effect into every season without revalidation.
Provider and product attribution
If a service uses an external prediction feed, say so. Sportmonks documents its probability outputs and predictability metadata. A current provider figure, if published, should be dated and attributed rather than converted into an undated claim about every product using the feed.
Publish a season accuracy card
Use a compact, reproducible card for each model version:
| Field | Example format |
|---|---|
| Target | Regulation-time home, draw, away |
| Forecast cutoff | 24 hours before kickoff |
| Eligible fixtures | Count and exclusion rule |
| Coverage | Published / eligible |
| Test period | Exact first and last kickoff |
| Metrics | Log loss, Brier score, accuracy rule |
| Baselines | League frequency and timestamped market |
| Calibration | Bands with counts and observed rates |
| Version | Data, feature and model identifiers |
scikit-learn's model-evaluation documentation supports task-appropriate scoring. The card should link to fixture-level probabilities so another analyst can recalculate it.
Keep seasons and version changes visible
Do not pool seasons only to enlarge the sample. Show season rows, promoted-team coverage and early-season performance. If the provider, model or target changes, start a new version row and avoid presenting the combined figure as one stable method.
Accuracy may be useful for a fixed class decision, but probability scoring and calibration retain more information. A model that selects the same winner can still improve or deteriorate materially in confidence quality. scikit-learn's model-evaluation guide distinguishes class metrics from probability scores.
Continue the workflow
Apply the limitations of football statistics checklist before generalising a season result or subgroup difference; scikit-learn's model-evaluation guide supports keeping conclusions tied to the declared task and sample.
Continue learning
- Next guide: AI Tactical Analysis in Football
- Related guide: Betting Market Data in Football Models
Assumptions and limitations
This page does not publish a current SportSignals or industry accuracy percentage. Current performance belongs in a maintained results record with sample sizes. Accuracy alone does not establish calibration, betting value or future performance.

