Vantage

A football prediction engine that blends machine learning, ELO ratings, and market consensus to forecast match outcomes across club and international competitions.

Challenge

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.

Solution

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. The engine is used for making predictions for the Premier League season and the World Cup, with every forecast recorded in a versioned ledger and settled once results are available.

Performance

Premier League and World Cup ledger results, with 140 settled of 142 tracked predictions.

62.9%
Model Accuracy
0.183
Avg Brier Score
142Predictions Tracked

Performance Trend

AccuracyBrier Score

After 140 settled predictions, cumulative accuracy is 62.9% and the average Brier score is 0.183. Across the recorded period, cumulative accuracy ranged from 50.0% to 100.0%.

Vantage performance over timeCumulative model accuracy and average Brier score as completed predictions accumulate. Accuracy is better higher; Brier score is better higher on the chart because zero is plotted at the top. Background bands identify each competition or season.Premier League 2025-26World Cup 20261102030405060708090100110120130140Prediction countAccuracyBrier100%0%0.001.00
Premier League 2025-26Predictions 1-39World Cup 2026Predictions 40-140

Methodology

01

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.

02

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.

03

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.

04

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. The World Cup run is the next live test: a different match environment, shorter competition window, and a fresh ledger to evaluate how the engine transfers beyond the Premier League.

Ledger

*Eventual winner forecasts predict who advances from knockout matches after regulation, extra time, and penalties; draws are not forecast outcomes. Begins with Brazil vs Japan on June 29, 2026.

Predictions

Upcoming fixtures, nearest first.

World Cup Predictions
Kickoff TimeFixtureModel PredictionActual ResultBrier Score
France vs England*France (77.0%)Pending-
Spain vs Argentina*Argentina (52.0%)Pending-

Settled

Completed fixtures, newest first.

World Cup Settled
Kickoff TimeFixtureModel PredictionActual ResultBrier Score
England vs Argentina*Argentina (56.8%)Argentina1-20.1244
France vs Spain*France (72.9%)Spain0-20.3544
Argentina vs Switzerland*Argentina (79.2%)Argentina3-10.0289
Norway vs England*England (67.0%)England1-20.0726
Spain vs Belgium*Spain (61.2%)Spain2-10.1004
France vs Morocco*France (71.9%)France2-00.0528
Switzerland vs Colombia*Colombia (56.4%)Switzerland0-0(4-3 pens)0.2119
Argentina vs Egypt*Argentina (80.3%)Argentina3-20.0257
United States vs Belgium*Belgium (57.8%)Belgium1-40.1190
Portugal vs Spain*Portugal (58.2%)Spain0-10.2259
Mexico vs England*England (60.6%)England2-30.1038
Brazil vs Norway*Brazil (80.6%)Norway1-20.4331
Paraguay vs France*France (69.2%)France0-10.0631
Canada vs Morocco*Morocco (61.1%)Morocco0-30.1008
Colombia vs Ghana*Colombia (78.8%)Colombia1-00.0300
Argentina vs Cape Verde*Argentina (80.1%)Argentina3-20.0265
Australia vs Egypt*Egypt (53.5%)Egypt1-1(2-4 pens)0.1440
Switzerland vs Algeria*Switzerland (62.2%)Switzerland2-00.0954
Portugal vs Croatia*Portugal (57.7%)Portugal2-10.1191
Spain vs Austria*Spain (80.0%)Spain3-00.0266
United States vs Bosnia and Herzegovina*United States (66.4%)United States2-00.0754
Belgium vs Senegal*Belgium (75.7%)Belgium3-20.0393
England vs Congo DR*England (79.2%)England2-10.0289
Mexico vs Ecuador*Mexico (71.8%)Mexico2-00.0529
France vs Sweden*France (76.7%)France3-00.0361
Ivory Coast vs Norway*Ivory Coast (79.7%)Norway1-20.4235
Netherlands vs Morocco*Netherlands (65.6%)Morocco1-1(2-3 pens)0.2870
Germany vs Paraguay*Germany (76.2%)Paraguay1-1(3-4 pens)0.3870
Brazil vs Japan*Brazil (70.4%)Brazil2-10.0585
Algeria vs AustriaAlgeria (62.6%)Draw3-30.3704
Jordan vs ArgentinaArgentina (55.6%)Argentina1-30.1002
Colombia vs PortugalColombia (49.4%)Draw0-00.3463
Congo DR vs UzbekistanCongo DR (41.8%)Congo DR3-10.1788
Panama vs EnglandEngland (56.1%)England0-20.0977
Croatia vs GhanaCroatia (59.8%)Croatia2-10.0815
Egypt vs IranIran (45.5%)Draw1-10.3554
New Zealand vs BelgiumBelgium (43.6%)Belgium1-50.1659
Cape Verde vs Saudi ArabiaCape Verde (44.7%)Draw0-00.3400
Uruguay vs SpainSpain (53.3%)Spain0-10.1109
Norway vs FranceFrance (56.6%)France1-40.0959
Senegal vs IraqSenegal (61.1%)Senegal5-00.0760
Turkiye vs United StatesUnited States (52.8%)Turkiye3-20.2716
Paraguay vs AustraliaParaguay (64.4%)Draw0-00.3879
Japan vs SwedenSweden (44.0%)Draw1-10.3387
Tunisia vs NetherlandsNetherlands (56.2%)Netherlands1-30.0974
Ecuador vs GermanyGermany (51.4%)Ecuador2-10.2480
Curacao vs Ivory CoastIvory Coast (50.1%)Ivory Coast0-20.1313
Czechia vs MexicoMexico (45.2%)Mexico0-30.1568
South Africa vs South KoreaSouth Africa (59.1%)South Africa1-00.0843
Scotland vs BrazilBrazil (53.9%)Brazil0-30.1080
Morocco vs HaitiMorocco (62.4%)Morocco4-20.0707
Switzerland vs CanadaSwitzerland (56.1%)Switzerland2-10.0979
Bosnia and Herzegovina vs QatarBosnia and Herzegovina (59.4%)Bosnia and Herzegovina3-10.0836
Colombia vs Congo DRColombia (49.0%)Colombia1-00.1298
Panama vs CroatiaCroatia (42.5%)Croatia0-10.1660
England vs GhanaEngland (42.7%)Draw0-00.2784
Portugal vs UzbekistanPortugal (48.9%)Portugal5-00.1303
Jordan vs AlgeriaAlgeria (37.8%)Algeria1-20.1953
Norway vs SenegalSenegal (44.1%)Norway3-20.2495
France vs IraqFrance (48.4%)France3-00.1331
Argentina vs AustriaArgentina (48.9%)Argentina2-00.1303
New Zealand vs EgyptNew Zealand (43.7%)Egypt1-30.2292
Uruguay vs Cape VerdeUruguay (48.7%)Draw2-20.2863
Belgium vs IranBelgium (41.9%)Draw0-00.2774
Spain vs Saudi ArabiaSpain (48.4%)Spain4-00.1332
Tunisia vs JapanJapan (37.6%)Japan0-40.1964
Ecuador vs CuracaoEcuador (44.8%)Draw0-00.2920
Germany vs Ivory CoastGermany (43.7%)Germany2-10.1590
Netherlands vs SwedenNetherlands (47.7%)Netherlands5-10.1368
Turkiye vs ParaguayParaguay (42.3%)Paraguay0-10.1672
Brazil vs HaitiBrazil (48.4%)Brazil3-00.1329
Scotland vs MoroccoMorocco (42.6%)Morocco0-10.1656
United States vs AustraliaUnited States (48.0%)United States2-00.1353
Mexico vs South KoreaMexico (45.5%)Mexico1-00.1488
Canada vs QatarQatar (41.6%)Canada6-00.2294
Switzerland vs Bosnia and HerzegovinaSwitzerland (43.1%)Switzerland4-10.1630
Czechia vs South AfricaSouth Africa (38.6%)Draw1-10.2713
Uzbekistan vs ColombiaColombia (45.3%)Colombia1-30.1573
Ghana vs PanamaGhana (41.7%)Ghana1-00.1718
England vs CroatiaEngland (43.3%)England4-20.1628
Portugal vs Congo DRPortugal (42.5%)Draw1-10.2935
Austria vs JordanAustria (42.2%)Austria3-10.1703
Argentina vs AlgeriaArgentina (48.3%)Argentina3-00.1358
Iraq vs NorwayIraq (42.2%)Norway1-40.2123
France vs SenegalFrance (49.1%)France3-10.1311
Iran vs New ZealandIran (43.2%)Draw2-20.3171
Saudi Arabia vs UruguaySaudi Arabia (39.5%)Draw1-10.3034
Belgium vs EgyptBelgium (49.2%)Draw1-10.3351
Spain vs Cape VerdeSpain (44.7%)Draw0-00.3006
Sweden vs TunisiaSweden (44.4%)Sweden5-10.1576
Ivory Coast vs EcuadorIvory Coast (42.5%)Ivory Coast1-00.1701
Netherlands vs JapanNetherlands (50.2%)Draw2-20.3281
Germany vs CuracaoGermany (46.6%)Germany7-10.1465
Australia vs TurkiyeAustralia (42.1%)Australia2-00.1735
Haiti vs ScotlandHaiti (42.2%)Scotland0-10.2123
Brazil vs MoroccoBrazil (46.2%)Draw1-10.3122
Qatar vs SwitzerlandQatar (41.5%)Draw1-10.3149
United States vs ParaguayUnited States (40.0%)United States4-10.1823
Canada vs Bosnia and HerzegovinaBosnia and Herzegovina (40.4%)Draw1-10.2910
South Korea vs CzechiaSouth Korea (42.5%)South Korea2-10.1718
Mexico vs South AfricaMexico (44.0%)Mexico2-00.1590

Predictions

Upcoming fixtures, nearest first.

No upcoming predictions are currently available.

Settled

Completed fixtures, newest first.

Premier League Settled
Kickoff TimeFixtureModel PredictionActual ResultBrier Score
Brighton & Hove Albion vs Manchester UnitedManchester United (53.2%)Manchester United0-30.1109
Burnley vs Wolverhampton WanderersBurnley (57.7%)Draw1-10.4090
Crystal Palace vs ArsenalArsenal (54.0%)Arsenal1-20.1069
Fulham vs Newcastle UnitedFulham (37.4%)Fulham2-00.1977
Liverpool vs BrentfordBrentford (38.9%)Draw1-10.2355
Manchester City vs Aston VillaManchester City (46.0%)Aston Villa1-20.2524
Nottingham Forest vs BournemouthDraw (36.8%)Draw1-10.1999
Sunderland vs ChelseaDraw (35.5%)Sunderland2-10.2416
Tottenham Hotspur vs EvertonTottenham Hotspur (43.8%)Tottenham Hotspur1-00.1581
West Ham United vs Leeds UnitedLeeds United (38.4%)West Ham United3-00.2519
Chelsea vs Tottenham HotspurTottenham Hotspur (39.5%)Chelsea2-10.1962
Bournemouth vs Manchester CityDraw (40.8%)Draw1-10.1754
Arsenal vs BurnleyArsenal (53.3%)Arsenal1-00.1092
Newcastle United vs West Ham UnitedNewcastle United (54.3%)Newcastle United3-10.1153
Brentford vs Crystal PalaceBrentford (47.8%)Draw2-20.2807
Everton vs SunderlandEverton (43.7%)Sunderland1-30.2902
Leeds United vs Brighton & Hove AlbionLeeds United (39.0%)Leeds United1-00.1863
Wolverhampton Wanderers vs FulhamFulham (49.6%)Draw1-10.3050
Manchester United vs Nottingham ForestManchester United (42.9%)Manchester United3-20.1641
Aston Villa vs LiverpoolAston Villa (45.1%)Aston Villa4-20.4553
Manchester City vs Crystal PalaceManchester City (63.8%)Manchester City3-00.0688
Tottenham Hotspur vs Leeds UnitedTottenham Hotspur (38.7%)Draw1-10.2425
West Ham United vs ArsenalArsenal (51.4%)Arsenal0-10.1184
Burnley vs Aston VillaAston Villa (47.7%)Draw2-20.4131
Crystal Palace vs EvertonEverton (48.3%)Draw2-20.2329
Nottingham Forest vs Newcastle UnitedNewcastle United (59.4%)Draw1-10.4231
Manchester City vs BrentfordManchester City (58.3%)Manchester City2-00.0938
Brighton & Hove Albion vs Wolverhampton WanderersBrighton & Hove Albion (44.5%)Brighton & Hove Albion3-00.1548
Fulham vs BournemouthFulham (36.3%)Bournemouth0-10.2110
Sunderland vs Manchester UnitedManchester United (42.9%)Draw0-00.2759
Liverpool vs ChelseaLiverpool (46.0%)Draw1-10.2386
Aston Villa vs TottenhamAston Villa (46.2%)Tottenham1-20.2475
Man United vs LiverpoolMan United (91.7%)Man United3-20.0037
Bournemouth vs Crystal PalaceBournemouth (91.0%)Bournemouth3-00.0041
Arsenal vs FulhamArsenal (95.9%)Arsenal3-00.0009
Brentford vs West HamBrentford (72.4%)Brentford3-00.0466
Newcastle vs BrightonNewcastle (84.6%)Newcastle3-10.0136
Wolves vs SunderlandSunderland (49.1%)Draw1-10.3255
Leeds vs BurnleyLeeds (73.7%)Leeds3-10.0345