Lab

Where was Vesta right, and where wrong?

Over 243 league matches of FC Cologne since 2017-18, each forecast by a model that had not seen that season, Vesta's likeliest result happened 49 times in 100; it said 50. Draws: said 25, happened 28 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
Matches243each forecast before its season
Likeliest result happened49 in 100Vesta said 50
Draws28 in 100Vesta said 25
Goals a match3.05Vesta expected 2.94
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 1007016.018.6+2.6
20–30 in 10031025.725.5−0.2
30–40 in 10013534.734.8+0.1
40–50 in 10010044.545.0+0.5
50–60 in 1005255.053.8−1.2
60–70 in 1002363.456.5−6.9

The biggest surprises

results Vesta gave the least chance that happened
  1. Borussia Dortmund 1-2 FC CologneSat 28 Nov 2020 · Bundesliga10 in 100
  2. FC Cologne 2-1 RasenBallsport LeipzigTue 20 Apr 2021 · Bundesliga11 in 100
  3. RasenBallsport Leipzig 1-2 FC CologneSun 25 Feb 2018 · Bundesliga12 in 100
  4. Bayern Munich 1-1 FC CologneTue 24 Jan 2023 · Bundesliga14 in 100
  5. FC Cologne 0-2 BochumFri 10 Mar 2023 · Bundesliga15 in 100
  6. VfB Stuttgart 1-1 FC CologneSat 24 Feb 2024 · Bundesliga16 in 100
  7. FC Cologne 1-3 Hamburger SVFri 25 Aug 2017 · Bundesliga17 in 100
  8. Bayer Leverkusen 0-1 FC CologneSun 13 Mar 2022 · Bundesliga17 in 100
  9. Eintracht Frankfurt 2-4 FC CologneWed 18 Dec 2019 · Bundesliga17 in 100
  10. Bayer Leverkusen 1-2 FC CologneFri 5 May 2023 · Bundesliga18 in 100
  11. Borussia M.Gladbach 1-2 FC CologneSat 6 Feb 2021 · Bundesliga18 in 100
  12. FC Cologne 2-0 Bayer LeverkusenSat 14 Dec 2019 · Bundesliga18 in 100

The surest calls that missed

the strongest favourites that did not win
  1. Bayern Munich 1-1 FC CologneTue 24 Jan 2023 · home win said77 in 100
  2. VfB Stuttgart 1-1 FC CologneSat 24 Feb 2024 · home win said76 in 100
  3. Borussia Dortmund 1-2 FC CologneSat 28 Nov 2020 · home win said73 in 100
  4. FC Cologne 2-1 RasenBallsport LeipzigTue 20 Apr 2021 · away win said70 in 100
  5. RasenBallsport Leipzig 0-0 FC CologneSat 19 Dec 2020 · home win said69 in 100
  6. RasenBallsport Leipzig 1-2 FC CologneSun 25 Feb 2018 · home win said68 in 100
  7. Schalke 04 2-2 FC CologneSat 2 Dec 2017 · home win said66 in 100
  8. FC Cologne 2-2 Borussia DortmundSat 20 Mar 2021 · away win said65 in 100
  9. Augsburg 1-1 FC CologneSun 31 Mar 2024 · home win said63 in 100
  10. Mainz 05 1-1 FC CologneSun 28 Apr 2024 · home win said62 in 100
  11. FC Cologne 0-2 BochumFri 10 Mar 2023 · home win said62 in 100
  12. Schalke 04 1-1 FC CologneSat 5 Oct 2019 · home win said62 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
VfB Stuttgart133020.5+9.5
Union Berlin122717.9+9.1
Hoffenheim153023.5+6.5
Bayern Munich144034.8+5.2
Freiburg142620.9+5.1
FC Heidenheim484.8+3.2
Borussia Dortmund143228.8+3.2
Fortuna Duesseldorf242.3+1.7
Werder Bremen131816.6+1.4
Bayer Leverkusen142827.0+1.0
Darmstadt232.3+0.7
Hamburger SV576.5+0.5
Overrated: fewer points than expected
ClubMatchesPointsExpectedGap
FC Cologne243251285.2−34.2
Schalke 048410.8−6.8
Eintracht Frankfurt141822.5−4.5
Mainz 05141820.7−2.7
Paderborn202.4−2.4
Borussia M.Gladbach152122.8−1.8
Hannover 96223.2−1.2
Greuther Fuerth212.0−1.0
Bochum666.8−0.8
Arminia Bielefeld444.5−0.5
St. Pauli222.2−0.2
RasenBallsport Leipzig142827.9+0.1

League by league, season by seasonLeague by league

FC Cologne's matches; the current season so far
CSV
SeasonLeagueMatchesLikeliest saidHappenedDraws saidDrawsGoals expectedGoalsRPS
2026-27Bundesliga5484025203.243.600.205
2025-26Bundesliga34485325323.013.290.180
2023-24Bundesliga34534724352.922.590.188
2022-23Bundesliga34473826352.893.030.216
2021-22Bundesliga34493825292.982.970.216
2020-21Bundesliga34515925262.862.760.206
2019-20Bundesliga34525624183.053.530.204
2017-18Bundesliga34515025212.863.090.215

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