Crystal Palace vs Ipswich Town
- Pick
- Crystal Palace
- Confidence
- 69.4%
A football prediction engine that blends machine learning, ELO ratings, and market consensus to forecast match outcomes across club and international competitions.
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. 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.
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.
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.
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.
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.
Across 172 settled forecasts, the calibrated blend leads the strongest component by 0.003 Brier; lower is better. Candidate versions are backtested, recalibrated, and versioned before the next forecast run.
Upcoming fixtures, nearest first.
| Kickoff Time | Fixture | Model Prediction | Actual Result | Brier Score |
|---|---|---|---|---|
| Aston Villa vs Nottingham Forest | Aston Villa (41.1%) | Pending | - | |
| Bournemouth vs Brentford | Bournemouth (46.7%) | Pending | - | |
| Chelsea vs Hull City | Chelsea (63.4%) | Pending | - | |
| Crystal Palace vs Ipswich Town | Crystal Palace (69.4%) | Pending | - | |
| Liverpool vs Fulham | Liverpool (55.7%) | Pending | - | |
| Tottenham Hotspur vs Everton | Everton (47.5%) | Pending | - | |
| Sunderland vs Arsenal | Arsenal (51.7%) | Pending | - | |
| Coventry City vs Brighton | Brighton (57.2%) | Pending | - | |
| Manchester United vs Manchester City | Manchester United (37.7%) | Pending | - | |
| Leeds United vs Newcastle United | Leeds United (39.4%) | Pending | - |
Completed fixtures, newest first.
| Kickoff Time | Fixture | Model Prediction | Actual Result | Brier Score |
|---|---|---|---|---|
| Arsenal vs Chelsea | Arsenal (71.8%) | Arsenal2-1 | 0.0399 | |
| Everton vs Manchester United | Manchester United (43.6%) | Draw2-2 | 0.2989 | |
| Hull City vs Aston Villa | Hull City (40.5%) | Draw0-0 | 0.2845 | |
| Brentford vs Sunderland | Brentford (51.3%) | Draw1-1 | 0.3303 | |
| Brighton vs Leeds United | Brighton (49.5%) | Draw1-1 | 0.3220 | |
| Fulham vs Crystal Palace | Fulham (50.3%) | Crystal Palace2-3 | 0.2637 | |
| Manchester City vs Coventry City | Manchester City (77.0%) | Manchester City1-0 | 0.0266 | |
| Nottingham Forest vs Tottenham Hotspur | Nottingham Forest (58.5%) | Draw0-0 | 0.3639 | |
| Newcastle United vs Bournemouth | Newcastle United (37.9%) | Draw2-2 | 0.2743 | |
| Ipswich Town vs Liverpool | Liverpool (57.8%) | Liverpool0-2 | 0.0895 | |
| Aston Villa vs Arsenal | Arsenal (61.9%) | Arsenal0-1 | 0.0736 | |
| Manchester United vs Ipswich Town | Manchester United (66.3%) | Manchester United5-2 | 0.0573 | |
| Chelsea vs Brighton | Chelsea (48.7%) | Chelsea4-3 | 0.1315 | |
| Leeds United vs Brentford | Leeds United (37.7%) | Draw1-1 | 0.2614 | |
| Sunderland vs Fulham | Sunderland (38.5%) | Sunderland1-0 | 0.1892 | |
| Tottenham Hotspur vs Newcastle United | Tottenham Hotspur (43.0%) | Newcastle United0-2 | 0.2437 | |
| Bournemouth vs Everton | Bournemouth (45.9%) | Draw1-1 | 0.2722 | |
| Coventry City vs Hull City | Coventry City (50.6%) | Hull City0-1 | 0.3115 | |
| Liverpool vs Nottingham Forest | Liverpool (63.6%) | Draw2-2 | 0.3533 | |
| Crystal Palace vs Manchester City | Manchester City (58.4%) | Manchester City1-4 | 0.0868 | |
| Fulham vs Chelsea | Chelsea (46.6%) | Chelsea2-3 | 0.1427 | |
| Newcastle United vs Liverpool | Liverpool (49.4%) | Draw2-2 | 0.2958 | |
| Brighton vs Aston Villa | Brighton (42.0%) | Brighton4-0 | 0.1684 | |
| Manchester City vs Bournemouth | Manchester City (64.6%) | Manchester City2-1 | 0.0628 | |
| Brentford vs Tottenham Hotspur | Brentford (38.9%) | Brentford3-0 | 0.1881 | |
| Everton vs Crystal Palace | Everton (43.9%) | Everton2-0 | 0.1574 | |
| Ipswich Town vs Sunderland | Sunderland (36.4%) | Ipswich Town2-1 | 0.2135 | |
| Nottingham Forest vs Leeds United | Nottingham Forest (41.3%) | Leeds United0-1 | 0.2450 | |
| Hull City vs Manchester United | Manchester United (66.9%) | Hull City2-0 | 0.4182 | |
| Arsenal vs Coventry City | Arsenal (81.0%) | Arsenal3-0 | 0.0188 |
*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.
Upcoming fixtures, nearest first.
No upcoming predictions are currently available.
Completed fixtures, newest first.
| Kickoff Time | Fixture | Model Prediction | Actual Result | Brier Score |
|---|---|---|---|---|
| Spain vs Argentina* | Argentina (52.0%) | Spain1-0 | 0.1805 | |
| France vs England* | France (77.0%) | England4-6 | 0.3950 | |
| England vs Argentina* | Argentina (56.8%) | Argentina1-2 | 0.1244 | |
| France vs Spain* | France (72.9%) | Spain0-2 | 0.3544 | |
| Argentina vs Switzerland* | Argentina (79.2%) | Argentina3-1 | 0.0289 | |
| Norway vs England* | England (67.0%) | England1-2 | 0.0726 | |
| Spain vs Belgium* | Spain (61.2%) | Spain2-1 | 0.1004 | |
| France vs Morocco* | France (71.9%) | France2-0 | 0.0528 | |
| Switzerland vs Colombia* | Colombia (56.4%) | Switzerland0-0(4-3 pens) | 0.2119 | |
| Argentina vs Egypt* | Argentina (80.3%) | Argentina3-2 | 0.0257 | |
| United States vs Belgium* | Belgium (57.8%) | Belgium1-4 | 0.1190 | |
| Portugal vs Spain* | Portugal (58.2%) | Spain0-1 | 0.2259 | |
| Mexico vs England* | England (60.6%) | England2-3 | 0.1038 | |
| Brazil vs Norway* | Brazil (80.6%) | Norway1-2 | 0.4331 | |
| Paraguay vs France* | France (69.2%) | France0-1 | 0.0631 | |
| Canada vs Morocco* | Morocco (61.1%) | Morocco0-3 | 0.1008 | |
| Colombia vs Ghana* | Colombia (78.8%) | Colombia1-0 | 0.0300 | |
| Argentina vs Cape Verde* | Argentina (80.1%) | Argentina3-2 | 0.0265 | |
| Australia vs Egypt* | Egypt (53.5%) | Egypt1-1(2-4 pens) | 0.1440 | |
| Switzerland vs Algeria* | Switzerland (62.2%) | Switzerland2-0 | 0.0954 | |
| Portugal vs Croatia* | Portugal (57.7%) | Portugal2-1 | 0.1191 | |
| Spain vs Austria* | Spain (80.0%) | Spain3-0 | 0.0266 | |
| United States vs Bosnia and Herzegovina* | United States (66.4%) | United States2-0 | 0.0754 | |
| Belgium vs Senegal* | Belgium (75.7%) | Belgium3-2 | 0.0393 | |
| England vs Congo DR* | England (79.2%) | England2-1 | 0.0289 | |
| Mexico vs Ecuador* | Mexico (71.8%) | Mexico2-0 | 0.0529 | |
| France vs Sweden* | France (76.7%) | France3-0 | 0.0361 | |
| Ivory Coast vs Norway* | Ivory Coast (79.7%) | Norway1-2 | 0.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-1 | 0.0585 | |
| Algeria vs Austria | Algeria (62.6%) | Draw3-3 | 0.3704 | |
| Jordan vs Argentina | Argentina (55.6%) | Argentina1-3 | 0.1002 | |
| Colombia vs Portugal | Colombia (49.4%) | Draw0-0 | 0.3463 | |
| Congo DR vs Uzbekistan | Congo DR (41.8%) | Congo DR3-1 | 0.1788 | |
| Panama vs England | England (56.1%) | England0-2 | 0.0977 | |
| Croatia vs Ghana | Croatia (59.8%) | Croatia2-1 | 0.0815 | |
| Egypt vs Iran | Iran (45.5%) | Draw1-1 | 0.3554 | |
| New Zealand vs Belgium | Belgium (43.6%) | Belgium1-5 | 0.1659 | |
| Cape Verde vs Saudi Arabia | Cape Verde (44.7%) | Draw0-0 | 0.3400 | |
| Uruguay vs Spain | Spain (53.3%) | Spain0-1 | 0.1109 | |
| Norway vs France | France (56.6%) | France1-4 | 0.0959 | |
| Senegal vs Iraq | Senegal (61.1%) | Senegal5-0 | 0.0760 | |
| Turkiye vs United States | United States (52.8%) | Turkiye3-2 | 0.2716 | |
| Paraguay vs Australia | Paraguay (64.4%) | Draw0-0 | 0.3879 | |
| Japan vs Sweden | Sweden (44.0%) | Draw1-1 | 0.3387 | |
| Tunisia vs Netherlands | Netherlands (56.2%) | Netherlands1-3 | 0.0974 | |
| Ecuador vs Germany | Germany (51.4%) | Ecuador2-1 | 0.2480 | |
| Curacao vs Ivory Coast | Ivory Coast (50.1%) | Ivory Coast0-2 | 0.1313 | |
| Czechia vs Mexico | Mexico (45.2%) | Mexico0-3 | 0.1568 | |
| South Africa vs South Korea | South Africa (59.1%) | South Africa1-0 | 0.0843 | |
| Scotland vs Brazil | Brazil (53.9%) | Brazil0-3 | 0.1080 | |
| Morocco vs Haiti | Morocco (62.4%) | Morocco4-2 | 0.0707 | |
| Switzerland vs Canada | Switzerland (56.1%) | Switzerland2-1 | 0.0979 | |
| Bosnia and Herzegovina vs Qatar | Bosnia and Herzegovina (59.4%) | Bosnia and Herzegovina3-1 | 0.0836 | |
| Colombia vs Congo DR | Colombia (49.0%) | Colombia1-0 | 0.1298 | |
| Panama vs Croatia | Croatia (42.5%) | Croatia0-1 | 0.1660 | |
| England vs Ghana | England (42.7%) | Draw0-0 | 0.2784 | |
| Portugal vs Uzbekistan | Portugal (48.9%) | Portugal5-0 | 0.1303 | |
| Jordan vs Algeria | Algeria (37.8%) | Algeria1-2 | 0.1953 | |
| Norway vs Senegal | Senegal (44.1%) | Norway3-2 | 0.2495 | |
| France vs Iraq | France (48.4%) | France3-0 | 0.1331 | |
| Argentina vs Austria | Argentina (48.9%) | Argentina2-0 | 0.1303 | |
| New Zealand vs Egypt | New Zealand (43.7%) | Egypt1-3 | 0.2292 | |
| Uruguay vs Cape Verde | Uruguay (48.7%) | Draw2-2 | 0.2863 | |
| Belgium vs Iran | Belgium (41.9%) | Draw0-0 | 0.2774 | |
| Spain vs Saudi Arabia | Spain (48.4%) | Spain4-0 | 0.1332 | |
| Tunisia vs Japan | Japan (37.6%) | Japan0-4 | 0.1964 | |
| Ecuador vs Curacao | Ecuador (44.8%) | Draw0-0 | 0.2920 | |
| Germany vs Ivory Coast | Germany (43.7%) | Germany2-1 | 0.1590 | |
| Netherlands vs Sweden | Netherlands (47.7%) | Netherlands5-1 | 0.1368 | |
| Turkiye vs Paraguay | Paraguay (42.3%) | Paraguay0-1 | 0.1672 | |
| Brazil vs Haiti | Brazil (48.4%) | Brazil3-0 | 0.1329 | |
| Scotland vs Morocco | Morocco (42.6%) | Morocco0-1 | 0.1656 | |
| United States vs Australia | United States (48.0%) | United States2-0 | 0.1353 | |
| Mexico vs South Korea | Mexico (45.5%) | Mexico1-0 | 0.1488 | |
| Canada vs Qatar | Qatar (41.6%) | Canada6-0 | 0.2294 | |
| Switzerland vs Bosnia and Herzegovina | Switzerland (43.1%) | Switzerland4-1 | 0.1630 | |
| Czechia vs South Africa | South Africa (38.6%) | Draw1-1 | 0.2713 | |
| Uzbekistan vs Colombia | Colombia (45.3%) | Colombia1-3 | 0.1573 | |
| Ghana vs Panama | Ghana (41.7%) | Ghana1-0 | 0.1718 | |
| England vs Croatia | England (43.3%) | England4-2 | 0.1628 | |
| Portugal vs Congo DR | Portugal (42.5%) | Draw1-1 | 0.2935 | |
| Austria vs Jordan | Austria (42.2%) | Austria3-1 | 0.1703 | |
| Argentina vs Algeria | Argentina (48.3%) | Argentina3-0 | 0.1358 | |
| Iraq vs Norway | Iraq (42.2%) | Norway1-4 | 0.2123 | |
| France vs Senegal | France (49.1%) | France3-1 | 0.1311 | |
| Iran vs New Zealand | Iran (43.2%) | Draw2-2 | 0.3171 | |
| Saudi Arabia vs Uruguay | Saudi Arabia (39.5%) | Draw1-1 | 0.3034 | |
| Belgium vs Egypt | Belgium (49.2%) | Draw1-1 | 0.3351 | |
| Spain vs Cape Verde | Spain (44.7%) | Draw0-0 | 0.3006 | |
| Sweden vs Tunisia | Sweden (44.4%) | Sweden5-1 | 0.1576 | |
| Ivory Coast vs Ecuador | Ivory Coast (42.5%) | Ivory Coast1-0 | 0.1701 | |
| Netherlands vs Japan | Netherlands (50.2%) | Draw2-2 | 0.3281 | |
| Germany vs Curacao | Germany (46.6%) | Germany7-1 | 0.1465 | |
| Australia vs Turkiye | Australia (42.1%) | Australia2-0 | 0.1735 | |
| Haiti vs Scotland | Haiti (42.2%) | Scotland0-1 | 0.2123 | |
| Brazil vs Morocco | Brazil (46.2%) | Draw1-1 | 0.3122 | |
| Qatar vs Switzerland | Qatar (41.5%) | Draw1-1 | 0.3149 | |
| United States vs Paraguay | United States (40.0%) | United States4-1 | 0.1823 | |
| Canada vs Bosnia and Herzegovina | Bosnia and Herzegovina (40.4%) | Draw1-1 | 0.2910 | |
| South Korea vs Czechia | South Korea (42.5%) | South Korea2-1 | 0.1718 | |
| Mexico vs South Africa | Mexico (44.0%) | Mexico2-0 | 0.1590 |
Upcoming fixtures, nearest first.
No upcoming predictions are currently available.
Completed fixtures, newest first.
| Kickoff Time | Fixture | Model Prediction | Actual Result | Brier Score |
|---|---|---|---|---|
| Brighton & Hove Albion vs Manchester United | Manchester United (53.2%) | Manchester United0-3 | 0.1109 | |
| Burnley vs Wolverhampton Wanderers | Burnley (57.7%) | Draw1-1 | 0.4090 | |
| Crystal Palace vs Arsenal | Arsenal (54.0%) | Arsenal1-2 | 0.1069 | |
| Fulham vs Newcastle United | Fulham (37.4%) | Fulham2-0 | 0.1977 | |
| Liverpool vs Brentford | Brentford (38.9%) | Draw1-1 | 0.2355 | |
| Manchester City vs Aston Villa | Manchester City (46.0%) | Aston Villa1-2 | 0.2524 | |
| Nottingham Forest vs Bournemouth | Draw (36.8%) | Draw1-1 | 0.1999 | |
| Sunderland vs Chelsea | Draw (35.5%) | Sunderland2-1 | 0.2416 | |
| Tottenham Hotspur vs Everton | Tottenham Hotspur (43.8%) | Tottenham Hotspur1-0 | 0.1581 | |
| West Ham United vs Leeds United | Leeds United (38.4%) | West Ham United3-0 | 0.2519 | |
| Chelsea vs Tottenham Hotspur | Tottenham Hotspur (39.5%) | Chelsea2-1 | 0.1962 | |
| Bournemouth vs Manchester City | Draw (40.8%) | Draw1-1 | 0.1754 | |
| Arsenal vs Burnley | Arsenal (53.3%) | Arsenal1-0 | 0.1092 | |
| Newcastle United vs West Ham United | Newcastle United (54.3%) | Newcastle United3-1 | 0.1153 | |
| Brentford vs Crystal Palace | Brentford (47.8%) | Draw2-2 | 0.2807 | |
| Everton vs Sunderland | Everton (43.7%) | Sunderland1-3 | 0.2902 | |
| Leeds United vs Brighton & Hove Albion | Leeds United (39.0%) | Leeds United1-0 | 0.1863 | |
| Wolverhampton Wanderers vs Fulham | Fulham (49.6%) | Draw1-1 | 0.3050 | |
| Manchester United vs Nottingham Forest | Manchester United (42.9%) | Manchester United3-2 | 0.1641 | |
| Aston Villa vs Liverpool | Aston Villa (45.1%) | Aston Villa4-2 | 0.4553 | |
| Manchester City vs Crystal Palace | Manchester City (63.8%) | Manchester City3-0 | 0.0688 | |
| Tottenham Hotspur vs Leeds United | Tottenham Hotspur (38.7%) | Draw1-1 | 0.2425 | |
| West Ham United vs Arsenal | Arsenal (51.4%) | Arsenal0-1 | 0.1184 | |
| Burnley vs Aston Villa | Aston Villa (47.7%) | Draw2-2 | 0.4131 | |
| Crystal Palace vs Everton | Everton (48.3%) | Draw2-2 | 0.2329 | |
| Nottingham Forest vs Newcastle United | Newcastle United (59.4%) | Draw1-1 | 0.4231 | |
| Manchester City vs Brentford | Manchester City (58.3%) | Manchester City2-0 | 0.0938 | |
| Brighton & Hove Albion vs Wolverhampton Wanderers | Brighton & Hove Albion (44.5%) | Brighton & Hove Albion3-0 | 0.1548 | |
| Fulham vs Bournemouth | Fulham (36.3%) | Bournemouth0-1 | 0.2110 | |
| Sunderland vs Manchester United | Manchester United (42.9%) | Draw0-0 | 0.2759 | |
| Liverpool vs Chelsea | Liverpool (46.0%) | Draw1-1 | 0.2386 | |
| Aston Villa vs Tottenham | Aston Villa (46.2%) | Tottenham1-2 | 0.2475 | |
| Man United vs Liverpool | Man United (91.7%) | Man United3-2 | 0.0037 | |
| Bournemouth vs Crystal Palace | Bournemouth (91.0%) | Bournemouth3-0 | 0.0041 | |
| Arsenal vs Fulham | Arsenal (95.9%) | Arsenal3-0 | 0.0009 | |
| Brentford vs West Ham | Brentford (72.4%) | Brentford3-0 | 0.0466 | |
| Newcastle vs Brighton | Newcastle (84.6%) | Newcastle3-1 | 0.0136 | |
| Wolves vs Sunderland | Sunderland (49.1%) | Draw1-1 | 0.3255 | |
| Leeds vs Burnley | Leeds (73.7%) | Leeds3-1 | 0.0345 |