Football Match Predictor

Select a league, pick two clubs from the map or the dropdowns, and get an instant ML-powered win probability prediction.

SP
Select a league above, then pick teams from the map or the dropdowns below

Under the hood

Five separate logistic regression models โ€” one per league โ€” each trained with strict temporal validation so every prediction uses only what was known before kickoff.

5
Leagues
142
Clubs tracked
12,458
Matches analysed
49%
Avg test accuracy
Per-league accuracy

Up to 52% accuracy. Across 12,458 real matches, temporally validated.

๐Ÿด๓ ง๓ ข๓ ฅ๓ ฎ๓ ง๓ ฟPremier League46%
๐Ÿ‡ช๐Ÿ‡ธLa Liga49%
๐Ÿ‡ฉ๐Ÿ‡ชBundesliga52%
๐Ÿ‡ฎ๐Ÿ‡นSerie A50%
๐Ÿ‡ซ๐Ÿ‡ทLigue 145%
23 features, 5 models

Pure form, nothing else. No injuries, no transfers, no weather โ€” just the numbers teams put on the pitch.

  • Points per game โ€” Last 5 and last 10 matches
  • Goals scored & conceded โ€” Both 5 and 10 game windows
  • Goal difference โ€” Per game, 5 and 10 game windows
  • Composite comparisons โ€” Head-to-head form gaps (5 features)
  • Rest / fatigue proxy โ€” Days since last match
Features are computed independently for home and away, then compared with difference features โ€” giving the model 23 inputs per fixture.
Bundesliga โ€” model performance

Accuracy through the 2025/26 season. Tested on matches the model had never seen before.

Beats the baseline

52% test accuracy. 3% lower log-loss than a majority-class baseline, across 2,142 Bundesliga matches.

52%
ML model
80%
Home-win baseline
Temporal validation

No data leakage. Each feature snapshot uses only matches played before the fixture date. The test season was never in the training set.

  • Train: all seasons before the test season
  • Test: the most recent completed full season
  • Snapshots computed match-by-match in chronological order