Lab

Where was Vesta right, and where wrong?

Over 68 league matches of Hannover 96 since 2017-18, each forecast by a model that had not seen that season, Vesta's likeliest result happened 60 times in 100; it said 53. Draws: said 24, happened 22 in 100.

Since its public record began on 30 Sep 2026: 51 league matches settled, the likeliest result happened 61 times in 100 (Vesta said 50). Every published forecast

League data to · Vesta · out of sample, 2017-18 on

Free
Matches68each forecast before its season
Likeliest result happened60 in 100Vesta said 53
Draws22 in 100Vesta said 24
Goals a match2.94Vesta expected 2.95
Likeliest score happened16 in 100Vesta said 12

When Vesta says N in 100, does it happen N times?Said v happened

every home win, draw and away win chance, grouped in bands of 10; on the line = exactly right
00252550507575100100 Vesta said (in 100)
Chance bandChancesSaidHappenedGap
10–20 in 1002716.03.7−12.3
20–30 in 1008525.424.7−0.7
30–40 in 1002634.734.6−0.1
40–50 in 1002844.646.4+1.8

The biggest surprises

results Vesta gave the least chance that happened
  1. Hannover 96 4-2 Borussia DortmundSat 28 Oct 2017 · Bundesliga20 in 100
  2. Hannover 96 0-1 WolfsburgSun 28 Jan 2018 · Bundesliga22 in 100
  3. Mainz 05 0-1 Hannover 96Sat 19 Aug 2017 · Bundesliga23 in 100
  4. Schalke 04 1-1 Hannover 96Sun 21 Jan 2018 · Bundesliga23 in 100
  5. Hertha Berlin 0-0 Hannover 96Sun 21 Apr 2019 · Bundesliga23 in 100
  6. Bayer Leverkusen 2-2 Hannover 96Sat 20 Oct 2018 · Bundesliga24 in 100
  7. Freiburg 1-1 Hannover 96Wed 19 Dec 2018 · Bundesliga24 in 100
  8. Hannover 96 1-3 AugsburgSat 10 Mar 2018 · Bundesliga25 in 100
  9. Hannover 96 0-0 Borussia DortmundFri 31 Aug 2018 · Bundesliga25 in 100
  10. FC Cologne 1-1 Hannover 96Sat 17 Feb 2018 · Bundesliga26 in 100
  11. Hannover 96 0-0 FC CologneSun 24 Sep 2017 · Bundesliga26 in 100
  12. Hannover 96 1-2 Eintracht FrankfurtSat 14 Oct 2017 · Bundesliga26 in 100

The surest calls that missed

the strongest favourites that did not win
  1. Hertha Berlin 0-0 Hannover 96Sun 21 Apr 2019 · home win said59 in 100
  2. Hannover 96 4-2 Borussia DortmundSat 28 Oct 2017 · away win said58 in 100
  3. Bayer Leverkusen 2-2 Hannover 96Sat 20 Oct 2018 · home win said56 in 100
  4. Schalke 04 1-1 Hannover 96Sun 21 Jan 2018 · home win said56 in 100
  5. Freiburg 1-1 Hannover 96Wed 19 Dec 2018 · home win said54 in 100
  6. Hannover 96 0-0 FC CologneSun 24 Sep 2017 · home win said54 in 100
  7. Hannover 96 0-1 WolfsburgSun 28 Jan 2018 · home win said53 in 100
  8. Mainz 05 0-1 Hannover 96Sat 19 Aug 2017 · home win said51 in 100
  9. Werder Bremen 1-1 Hannover 96Sat 25 Aug 2018 · home win said49 in 100
  10. Hannover 96 1-3 AugsburgSat 10 Mar 2018 · home win said49 in 100
  11. VfB Stuttgart 1-1 Hannover 96Sat 14 Apr 2018 · home win said49 in 100
  12. Mainz 05 1-1 Hannover 96Sun 9 Dec 2018 · home win said48 in 100

Which clubs beat Vesta's expectationsClubs v Vesta

points won against the points Vesta's forecasts gave (3 × win + draw), these matches
Underrated: more points than expected
ClubMatchesPointsExpectedGap
Eintracht Frankfurt4126.2+5.8
Borussia M.Gladbach4126.9+5.1
RasenBallsport Leipzig4127.6+4.4
Augsburg496.0+3.0
Fortuna Duesseldorf263.2+2.8
Bayern Munich41210.3+1.7
Hoffenheim497.7+1.3
Werder Bremen475.8+1.2
Hertha Berlin475.9+1.1
Wolfsburg476.1+0.9
Bayer Leverkusen487.6+0.4
Schalke 04476.8+0.2
Overrated: fewer points than expected
ClubMatchesPointsExpectedGap
Hannover 96686074.8−14.8
Mainz 05415.9−4.9
Freiburg425.3−3.3
Borussia Dortmund478.4−1.4
Hamburger SV212.0−1.0
VfB Stuttgart455.9−0.9
FC Cologne222.3−0.3
Nuernberg232.8+0.2
Schalke 04476.8+0.2
Bayer Leverkusen487.6+0.4
Wolfsburg476.1+0.9
Hertha Berlin475.9+1.1

League by league, season by seasonLeague by league

Hannover 96's matches; the current season so far
CSV
SeasonLeagueMatchesLikeliest saidHappenedDraws saidDrawsGoals expectedGoalsRPS
2018-19Bundesliga34556823183.063.000.152
2017-18Bundesliga34505325262.842.880.203

Each season from 2017-18 was hidden from Vesta and forecast with a model fitted only on the seasons before it, the same model that publishes today's forecasts (checked Tue 13 Oct 2026). These are the forecasts of past seasons, not the published ones: the public record of forecasts made before kick-off starts on 30 Sep 2026 and lives in Vesta's track record.

Related questions