
Football predictions, with the facts.
Clear picks. Match evidence. Every result on the record.
Top Predictions
Upcoming picks where our model gives the predicted home or away winner at least a 50% chance. Click a pick for stats.
Results summary
Probability scores & record details
1 Home win · X Draw · 2 Away win
1X Home or draw · X2 Draw or away · 12 Either team wins. Full-time including stoppage time; excludes extra time.
Football market sentiment
0 fixtures with fresh, comparable market prices. Our predictions remain separate.
A good prediction needs a visible record.
Every forecast is saved before kickoff. The misses stay beside the wins, with league and confidence breakdowns.
See the complete record →Football scores
Confirmed match status, updated automatically.
League tables
The complete record
All published 1X2 forecasts, including incorrect picks.
1X2 by league
1X2 by confidence tier
League × confidence
Do the probabilities hold up?
Probability against actual frequency. The diagonal is perfect calibration.
Double chance · a separate record
Every prediction, in order
Evidence before upgrades
Chronological tests. Failed experiments included.
Different models. The same test.
Goal distributions, learned Elo probabilities and gradient-boosted form models use earlier football results. Market prices are excluded.
Baseline retained; no automatic model replacement.
Training: 18580 matches before 2025-01-01. Validation: 8511 matches before 2026-09-15. Later test: 141 matches over 7 dates, from 2026-09-15 to 2026-09-22 (end excluded).
Candidate selected on validation: ensemble. Promotion requires at least 300 test matches, 14 dates and a statistically supported improvement in probability scores.
The finalist also failed the calibration rule: classwise error worsened beyond the allowed 0.01. Higher hit rate alone does not qualify a model for promotion.
Double-chance hit rate declined from 74.47% to 73.05%. This is evaluated separately from 1X2.
| Method | Validation log-loss ↓ | Test log-loss ↓ | Brier ↓ | Class ECE ↓ | 1X2 hit rate |
|---|---|---|---|---|---|
| baseline | 1.0248 | 1.0470 | 0.6300 | 0.0541 | 45.4% |
| decay 180 | 1.0191 | 1.0352 | 0.6192 | 0.0539 | 48.9% |
| decay 365 | 1.0184 | 1.0332 | 0.6191 | 0.0630 | 50.4% |
| elo fixed | 1.0461 | 1.0601 | 0.6383 | 0.0892 | 45.4% |
| elo logistic | 1.0189 | 1.0401 | 0.6252 | 0.0770 | 48.2% |
| ensemble | 1.0160 | 1.0339 | 0.6199 | 0.0661 | 49.6% |
| form boosting | 1.0209 | 1.0412 | 0.6233 | 0.0619 | 48.9% |
Hit rate uses the largest probability. The baseline's existing pick policy is scored separately in the full report. Backtests are separate from the live track record.
Hypotheses, calibration and limits
- decay 180
- Downweighting old scorelines with a 180-day half-life improves adaptation to changing team strength.
- decay 365
- A slower 365-day half-life balances stability and recency better than equal weighting.
- elo logistic
- Learning three-way probabilities from Elo differences and league context improves proper scores over the existing fixed Elo conversion and current independent source.
- ensemble
- A fixed 50% decay-365 / 25% Elo logistic / 25% form boosting blend reduces distinct model errors and improves proper scores. These methods still share football data and are not independent evidence sources.
- form boosting
- A regularized gradient-boosted classifier captures nonlinear relationships between prior form, rest, scoring and ratings and improves proper scores.
Class ECE averages calibration gaps across home, draw and away using ten fixed bins. Brier sums squared errors across the three outcomes (0–2). Both depend on the evaluated sample.
- New dates are later than the prior research holdout, but the live app may already have displayed their results. This is a retrospective temporal test, not a prospectively timestamped trial.
- Historical revisions and date-only feeds cannot prove the time each score first became available. Same-date exclusion is conservative but not an availability archive.
- Validation statistical refits are monthly, holdout refits daily. Report this approximation explicitly.
- No archived injuries, observed xG or lineups are used. Unsupported cup and international competitions remain outside the tested scope.
23 coverage exclusions or processing issues are recorded. 0 processing failures.
Earlier source-policy experiment
What the scores mean
- Log-loss
- Penalizes confident mistakes. Lower is better.
- Brier score
- Squared probability error summed over home/draw/away. Range 0–2; lower is better.
- Calibration
- A 60% outcome should occur about 60% of the time across enough forecasts. Bin counts matter.
- RPS
- Ordered probability error for home/draw/away, divided by two. Range 0–1.