Vantage
A Premier League prediction engine that blends machine learning, ELO ratings, and market consensus to forecast match outcomes.
Predicting football outcomes is inherently difficult. Form fluctuates, context matters, and the gap between perception and reality in team performance is often wider than expected. Any single approach — whether purely statistical or entirely market-based — leaves blind spots.
Vantage approaches this as a multi-signal forecasting problem. It combines three distinct probability models, calibrates them into unified predictions, and records every forecast in a versioned ledger. Results are tracked over time so the model's calibration and accuracy can be evaluated transparently.
Performance
Performance Trend
Methodology
XGBoost
A gradient-boosted machine learning model trained on historical match data. It ingests signals like team form, head-to-head records, home and away performance splits, goals scored and conceded, and rest periods between fixtures, among other variables. The model learns non-linear patterns and interaction effects that simpler statistical methods miss.
ELO Ratings
A dynamic rating system where teams gain or lose points after each result based on opponent strength and venue advantage. The rating gap between two teams translates directly into a win probability, providing a clean, time-tested baseline independent of machine learning.
Market Consensus
The collective opinion implied by market prices, treated here purely as a forecasting signal. Markets incorporate dispersed information — injuries, tactical news, and public sentiment — that is hard to capture in structured datasets. It acts as a "wisdom of crowds" baseline to ground the engine's predictions.
Hybrid Calibration
The three probability sets are blended and passed through a calibration layer that corrects for overconfidence. The output is a calibrated set of probabilities for home win, draw, and away win — designed to mean what they say. An 80% prediction should correspond to roughly an 80% long-run hit rate.
Evolution
Vantage is designed to adapt. Over the course of a season, models are retrained as new data becomes available, blend weights are refined, and calibration is tuned. Each season's learnings feed into the next, making the engine a continuously improving system rather than a static model.
Ledger
| Kickoff Time | Fixture | Model Prediction | Actual Result | Brier Score |
|---|---|---|---|---|
| Brighton & Hove Albion vs Manchester United | Manchester United (53.2%) | Pending | - | |
| Burnley vs Wolverhampton Wanderers | Burnley (57.7%) | Pending | - | |
| Crystal Palace vs Arsenal | Arsenal (54.0%) | Pending | - | |
| Fulham vs Newcastle United | Fulham (37.4%) | Pending | - | |
| Liverpool vs Brentford | Brentford (38.9%) | Pending | - | |
| Manchester City vs Aston Villa | Manchester City (46.0%) | Pending | - | |
| Nottingham Forest vs Bournemouth | Draw (36.8%) | Pending | - | |
| Sunderland vs Chelsea | Draw (35.5%) | Pending | - | |
| Tottenham Hotspur vs Everton | Tottenham Hotspur (43.8%) | Pending | - | |
| West Ham United vs Leeds United | Leeds United (38.4%) | Pending | - | |
| Chelsea vs Tottenham Hotspur | Tottenham Hotspur (39.5%) | Pending | - | |
| Bournemouth vs Manchester City | Draw (40.8%) | Pending | - | |
| Arsenal vs Burnley | Arsenal (53.3%) | Arsenal 1-0 | 0.1092 | |
| Newcastle United vs West Ham United | Newcastle United (54.3%) | Newcastle United 3-1 | 0.1153 | |
| Brentford vs Crystal Palace | Brentford (47.8%) | Draw 2-2 | 0.2807 | |
| Everton vs Sunderland | Everton (43.7%) | Sunderland 1-3 | 0.2902 | |
| Leeds United vs Brighton & Hove Albion | Leeds United (39.0%) | Leeds United 1-0 | 0.1863 | |
| Wolverhampton Wanderers vs Fulham | Fulham (49.6%) | Draw 1-1 | 0.3050 | |
| Manchester United vs Nottingham Forest | Manchester United (42.9%) | Manchester United 3-2 | 0.1641 | |
| Aston Villa vs Liverpool | Aston Villa (45.1%) | Aston Villa 4-2 | 0.4553 | |
| Manchester City vs Crystal Palace | Manchester City (63.8%) | Manchester City 3-0 | 0.0688 | |
| Tottenham Hotspur vs Leeds United | Tottenham Hotspur (38.7%) | Draw 1-1 | 0.2425 | |
| West Ham United vs Arsenal | Arsenal (51.4%) | Arsenal 0-1 | 0.1184 | |
| Burnley vs Aston Villa | Aston Villa (47.7%) | Draw 2-2 | 0.4131 | |
| Crystal Palace vs Everton | Everton (48.3%) | Draw 2-2 | 0.2329 | |
| Nottingham Forest vs Newcastle United | Newcastle United (59.4%) | Draw 1-1 | 0.4231 | |
| Manchester City vs Brentford | Manchester City (58.3%) | Manchester City 2-0 | 0.0938 | |
| Brighton & Hove Albion vs Wolverhampton Wanderers | Brighton & Hove Albion (44.5%) | Brighton & Hove Albion 3-0 | 0.1548 | |
| Fulham vs Bournemouth | Fulham (36.3%) | Bournemouth 0-1 | 0.2110 | |
| Sunderland vs Manchester United | Manchester United (42.9%) | Draw 0-0 | 0.2759 | |
| Liverpool vs Chelsea | Liverpool (46.0%) | Draw 1-1 | 0.2386 | |
| Aston Villa vs Tottenham | Aston Villa (46.2%) | Tottenham 1-2 | 0.2475 | |
| Man United vs Liverpool | Man United (91.7%) | Man United 3-2 | 0.0037 | |
| Bournemouth vs Crystal Palace | Bournemouth (91.0%) | Bournemouth 3-0 | 0.0041 | |
| Arsenal vs Fulham | Arsenal (95.9%) | Arsenal 3-0 | 0.0009 | |
| Brentford vs West Ham | Brentford (72.4%) | Brentford 3-0 | 0.0466 | |
| Newcastle vs Brighton | Newcastle (84.6%) | Newcastle 3-1 | 0.0136 | |
| Wolves vs Sunderland | Sunderland (49.1%) | Draw 1-1 | 0.3255 | |
| Leeds vs Burnley | Leeds (73.7%) | Leeds 3-1 | 0.0345 |