2019-20 First Division B Season

112 games · 2 promotion-playoff teams

Final

Promoted

Oud-Heverlee Leuven

via playoff

Beerschot · via playoff

Relegated

Excelsior Virton

administratively relegated

Roeselare · administratively relegated

Sporting Lokeren · via dissolution

Biggest Overachiever

Westerlo

4.53 points above expected

49 points · 44.47 expected points

Biggest Disappointment

Sporting Lokeren

12.97 points below expected

20 points · 32.97 expected points

League Table

The final standings for the season. vsSim shows actual points minus the simulation's mean — positive means the team overachieved against the model, negative means they underperformed.

# Team GP W D L Pts GF GA GD SimPts vsSim
1 Westerlo 28 15 4 9 49 45 30 +15 44.47 +4.53
2 Excelsior Virton Demoted 28 14 5 9 47 39 21 +18 45.61 +1.39
3 Oud-Heverlee Leuven Promoted 28 14 4 10 46 45 40 +5 43.04 +2.96
4 Union SG 28 11 12 5 45 43 32 +11 47.89 -2.89
5 Beerschot Promoted 28 12 7 9 43 31 27 +4 39.59 +3.41
6 Lommel 28 6 9 13 27 21 37 -16 27.81 -0.81
7 Roeselare Demoted 28 5 11 12 26 37 49 -12 29.74 -3.74
8 Sporting Lokeren Dissolved 28 4 8 16 20 24 49 -25 32.97 -12.97

Notes

  • Excelsior Virton and Roeselare were denied a professional licence and forced to relegate

Form

Each team's 5-game rolling points-per-game across the season. Hot streaks push above the dashed 1.5 PPG reference line; cold spells drop below. Each team gets a distinct color; the legend below the plot lets you read off which line is which. (First 4 games of each team have no rolling window, so the lines start at game 5.)

League Race

Cumulative points across the season for each team. Highlighted teams are drawn in color (top finishers for the Title Race, bottom finishers for the Relegation Race); the rest of the league appears in light gray as context. Switch views with the buttons below.

Promotion Playoff

The path the promotion-playoff teams took to determine the final promotion spot. The full Promotion / Relegation tab has matchup heatmaps and round-by-round simulation outcomes.

Finals

Beerschot 5
Oud-Heverlee Leuven 1

Leg 1: Beerschot 1-0 Oud-Heverlee Leuven

Leg 2: Oud-Heverlee Leuven 1-4 Beerschot

Season Summary

Every team's regular-season finish compared against 100,000 simulations. Click any column header to sort. Luck is the team's actual points minus the sim's mean — positive means the team beat the model. Percentile is where the actual result fell in the team's sim distribution (e.g. 90% = the team did this well or better in only 10% of sims).

Team Elo Points Avg Luck Percentile Min 5th Q1 Median Q3 95th Max
Union SG 1619 45 47.89 -2.89 36.5% 18 37 43 48 52 59 74
Excelsior Virton 1614 47 45.61 +1.39 61.2% 21 34 41 46 50 57 69
Beerschot 1611 43 39.59 +3.41 71.8% 17 29 35 40 44 51 66
Westerlo 1592 49 44.47 +4.53 76.6% 16 33 40 44 49 56 73
Oud-Heverlee Leuven 1492 46 43.04 +2.96 69.4% 20 32 38 43 48 54 73
Roeselare 1464 26 29.74 -3.74 31.5% 9 19 25 30 34 41 57
Lommel 1413 27 27.81 -0.81 49.3% 7 18 23 28 32 39 53
Sporting Lokeren 1385 20 32.97 -12.97 2.5% 9 22 28 33 37 44 57

Head-to-Head

Each cell shows a team's record in that matchup (row vs column, formatted W-D-L) with the model's expected points on the line below. Navy-tinted cells mean the team beat the model's expectations by more than one point in that matchup; gold-tinted cells mean they fell short by the same margin.

Beat expectations Fell short Within expectations
Team BEE EV LOM OL ROE SL US WES
Beerschot
1-2-1
4.82
2-0-2
7.32
2-0-2
4.98
1-3-0
6.64
2-1-1
6.38
2-2-0
4.37
2-0-2
5.05
Excelsior Virton
1-2-1
6.26
3-1-0
7.31
2-0-2
5.83
3-1-0
7.24
3-0-1
7.19
0-1-3
4.99
2-1-1
5.36
Lommel
2-0-2
3.79
0-1-3
3.82
1-0-3
3.48
1-2-1
5.16
2-2-0
4.61
0-3-1
3.17
0-1-3
3.74
Oud-Heverlee Leuven
2-0-2
6.11
2-0-2
5.26
3-0-1
7.64
2-1-1
7.21
2-1-1
6.70
1-2-1
4.92
2-0-2
5.24
Roeselare
0-3-1
4.44
0-1-3
3.87
1-2-1
5.92
1-1-2
3.89
2-1-1
5.41
1-2-1
3.52
0-1-3
3.80
Sporting Lokeren
1-1-2
4.70
1-0-3
3.92
0-2-2
6.49
1-1-2
4.40
1-1-2
5.68
0-2-2
3.73
0-1-3
4.13
Union SG
0-2-2
6.74
3-1-0
6.09
1-3-0
7.98
1-2-1
6.16
1-2-1
7.60
2-2-0
7.38
3-0-1
5.75
Westerlo
2-0-2
6.02
1-1-2
5.71
3-1-0
7.39
2-0-2
5.84
3-1-0
7.30
3-1-0
6.98
1-0-3
5.33

Points vs. Goals Scored, Allowed, and Differential

Points plotted against goals scored, allowed, and differential. Use the buttons to switch views; hover a team for exact values. The table gives each fit's R² and slope (the change in points per 10 goals).

Fit Metrics

Slope
Scored 0.61 +9.6
Allowed 0.63 -9.0
Differential 0.94 +7.1

Scoreline Distribution

Percentage of games ending with each combination of team-goals (rows) and opponent-goals (columns). The diagonal shows draws; cells below the diagonal are wins from the row team's perspective, cells above are losses. Marginal totals on the right and bottom show how often each goal count occurred regardless of opponent. Use the picker to switch between the league-wide view and any individual team.

↓ Scored | Allowed →012345+Total
05.36%7.59%7.14%3.57%1.34%25.00%
17.59%16.96%8.48%3.57%0.89%37.50%
27.14%8.48%3.57%2.23%21.43%
33.57%3.57%2.23%0.89%0.89%11.16%
41.34%0.89%2.23%
5+0.89%1.79%2.68%
Total25.00%37.50%21.43%11.16%2.23%2.68%100%

Summary Statistics

Scored Allowed Difference
Mean 1.25 1.25 +0.00
SD 1.13 1.13 1.59
CV 0.90 0.90
Max 5 5 +4
Min -1 -1 -4

Games Played: 112

↓ Scored | Allowed →012345+Total
07.14%3.57%7.14%17.86%
114.29%25.00%10.71%50.00%
210.71%14.29%25.00%
33.57%3.57%
4
5+3.57%3.57%
Total28.57%46.43%14.29%7.14%3.57%100%

Summary Statistics

Scored Allowed Difference
Mean 1.07 0.93 +0.14
SD 0.86 0.94 1.43
CV 0.80 1.01
Max 3 3 +3
Min -1 -1 -3

Games Played: 28

↓ Scored | Allowed →012345+Total
07.14%10.71%3.57%21.43%
110.71%10.71%14.29%35.71%
210.71%10.71%
37.14%7.14%3.57%17.86%
43.57%3.57%7.14%
5+7.14%7.14%
Total39.29%32.14%21.43%7.14%100%

Summary Statistics

Scored Allowed Difference
Mean 1.32 0.68 +0.64
SD 1.39 0.90 1.57
CV 1.05 1.33
Max 4 2 +4
Min -1 -1 -2

Games Played: 28

↓ Scored | Allowed →012345+Total
014.29%10.71%10.71%7.14%42.86%
114.29%10.71%10.71%7.14%42.86%
23.57%7.14%10.71%
33.57%3.57%
4
5+
Total28.57%25.00%32.14%14.29%100%

Summary Statistics

Scored Allowed Difference
Mean 0.75 1.32 -0.57
SD 0.80 1.06 1.23
CV 1.07 0.80
Max 3 3 +1
Min 0 0 -3

Games Played: 28

↓ Scored | Allowed →012345+Total
03.57%3.57%3.57%3.57%14.29%
110.71%7.14%3.57%7.14%3.57%32.14%
27.14%17.86%3.57%7.14%35.71%
37.14%3.57%3.57%14.29%
43.57%3.57%
5+
Total32.14%28.57%14.29%17.86%3.57%3.57%100%

Summary Statistics

Scored Allowed Difference
Mean 1.61 1.43 +0.18
SD 1.03 1.40 1.81
CV 0.64 0.98
Max 4 5 +4
Min 0 0 -3

Games Played: 28

↓ Scored | Allowed →012345+Total
03.57%10.71%3.57%3.57%21.43%
125.00%10.71%3.57%39.29%
23.57%7.14%3.57%14.29%
33.57%10.71%3.57%3.57%21.43%
4
5+3.57%3.57%
Total7.14%39.29%28.57%10.71%7.14%7.14%100%

Summary Statistics

Scored Allowed Difference
Mean 1.29 1.71 -0.43
SD 1.15 1.30 1.62
CV 0.89 0.76
Max 3 5 +3
Min -1 -1 -4

Games Played: 28

↓ Scored | Allowed →012345+Total
03.57%10.71%17.86%7.14%39.29%
121.43%7.14%10.71%39.29%
23.57%7.14%3.57%3.57%17.86%
33.57%3.57%
4
5+
Total7.14%39.29%32.14%14.29%7.14%100%

Summary Statistics

Scored Allowed Difference
Mean 0.86 1.75 -0.89
SD 0.85 1.04 1.42
CV 0.99 0.59
Max 3 4 +2
Min 0 0 -4

Games Played: 28

↓ Scored | Allowed →012345+Total
010.71%3.57%7.14%3.57%25.00%
13.57%21.43%25.00%
27.14%10.71%7.14%3.57%28.57%
37.14%7.14%3.57%17.86%
4
5+3.57%3.57%
Total28.57%42.86%14.29%14.29%100%

Summary Statistics

Scored Allowed Difference
Mean 1.54 1.14 +0.39
SD 1.26 1.01 1.45
CV 0.82 0.88
Max 5 3 +3
Min 0 0 -3

Games Played: 28

↓ Scored | Allowed →012345+Total
014.29%3.57%17.86%
17.14%14.29%10.71%3.57%35.71%
217.86%10.71%28.57%
33.57%3.57%7.14%
43.57%3.57%7.14%
5+3.57%3.57%
Total28.57%46.43%14.29%10.71%100%

Summary Statistics

Scored Allowed Difference
Mean 1.61 1.07 +0.54
SD 1.29 0.94 1.62
CV 0.80 0.88
Max 5 3 +4
Min 0 0 -3

Games Played: 28

Home-Field Advantage Edge

The simulation applies the same home-field boost to every game across the league, so the per-game home win probabilities bake in the model's idea of HFA. For each team, we sum expected points at home and compare to actual home points, and the same on the road. The bar shows (home points above expected) minus (away points above expected). A tall positive bar means the team's home/road split exceeded what the model predicted — a real fortress effect. A tall negative bar means the reverse: they played worse at home or better on the road than expected.

Top Overachievers & Disappointments

Teams that most beat — or most fell short of — their simulated point projections. A positive vsSim means the team accumulated more points than the model expected on average; a negative one means fewer.

Biggest Overachievers

# Team Actual Sim vsSim
1 Westerlo 49 44.47 +4.53
2 Beerschot 43 39.59 +3.41
3 Oud-Heverlee Leuven 46 43.04 +2.96
4 Excelsior Virton 47 45.61 +1.39
5 Lommel 27 27.81 -0.81

Biggest Disappointments

# Team Actual Sim vsSim
1 Sporting Lokeren 20 32.97 -12.97
2 Roeselare 26 29.74 -3.74
3 Union SG 45 47.89 -2.89
4 Lommel 27 27.81 -0.81
5 Excelsior Virton 47 45.61 +1.39

Top Streaks

Ranked by model unlikelihood — the product of pregame W/D/L probabilities over the games in each team's streak. A short streak by a poor team can outrank a longer one by a strong team since the poor team's per-game probabilities were lower going in. Unbeaten counts W or D consecutively; Winless counts L or D consecutively.

Most Unlikely Winning Streaks

# Team Games Dates Probability
1 Excelsior Virton 5 Aug 17 – Sep 21 1 in 57
2 Roeselare 2 Oct 12 – Oct 19 1 in 20
3 Lommel 2 Nov 8 – Nov 16 1 in 14
4 Oud-Heverlee Leuven 3 Aug 16 – Sep 7 1 in 12
5 Westerlo 3 Aug 3 – Aug 17 1 in 10

Most Unlikely Losing Streaks

# Team Games Dates Probability
1 Roeselare 5 Sep 7 – Oct 4 1 in 30
2 Westerlo 2 Dec 8 – Dec 14 1 in 13
3 Sporting Lokeren 3 Aug 18 – Sep 8 1 in 12
4 Oud-Heverlee Leuven 3 Feb 14 – Feb 28 1 in 11
5 Beerschot 2 Sep 21 – Sep 28 1 in 5

Most Unlikely Unbeaten Streaks

# Team Games Dates Probability
1 Roeselare 6 Nov 24 – Jan 10 1 in 48
2 Union SG 8 Jan 18 – Feb 28 1 in 28
3 Lommel 4 Nov 2 – Nov 23 1 in 24
4 Beerschot 8 Jan 10 – Feb 28 1 in 22
5 Sporting Lokeren 5 Sep 13 – Oct 13 1 in 15

Most Unlikely Winless Streaks

# Team Games Dates Probability
1 Union SG 5 Dec 15 – Jan 26 1 in 45
2 Roeselare 10 Dec 13 – Feb 28 1 in 44
3 Sporting Lokeren 8 Nov 3 – Dec 22 1 in 31
4 Excelsior Virton 5 Nov 8 – Dec 7 1 in 19
5 Lommel 8 Aug 3 – Sep 29 1 in 14

Finish Position Heatmap

Each cell is the probability — across 100,000 simulations — that the team (row) finished at that position (column). Rows are sorted by actual finish (champion at top, bottom of the table at the bottom).

Team12345678
Westerlo19.55%20.73%20.42%17.79%12.34%6.15%2.35%0.67%
Excelsior Virton24.37%23.74%20.46%15.28%9.38%4.50%1.98%0.29%
Oud-Heverlee Leuven12.84%17.95%19.35%19.86%16.67%8.86%3.42%1.05%
Union SG36.22%23.82%17.54%11.97%6.59%2.64%0.97%0.25%
Beerschot6.06%10.43%14.80%19.51%23.25%14.74%8.09%3.12%
Lommel0.08%0.43%1.13%2.63%7.02%15.85%27.31%45.55%
Roeselare0.17%0.83%2.09%4.29%9.81%20.71%31.48%30.62%
Sporting Lokeren0.71%2.07%4.21%8.67%14.94%26.55%24.40%18.45%

Points Required Per Position

The empirical CDF of simulated point totals per finishing position. Each curve shows, for one position (1st, 2nd, ..., last), the spread of point totals teams accumulated across simulations. Reading the curve at the 50% mark gives the median points typically needed to finish at that position. Steep curves mean the position is tightly clustered around a particular point range; shallow curves mean the position came with a wide variety of point totals.

Points Totals in Context

How did each team's actual results compare to their simulated points, Elo rating, average opponent Elo, and percentile within simulated outcomes? Use the buttons to switch between views. In each chart, dashed crosshairs at the league means split the plot into four quadrants: pastel green (team did well, model agreed), pastel red (team did poorly, model agreed), and pastel yellow (model and reality disagreed).

Season Trends

How each metric evolved across the season - Elo rating, actual and projected points, title/promotion probability, and relegation probability - day by day.

Edges & Scoring

How these are measured

The navy dot is the actual value, the gold line and key are the model's reference where one applies, and the slate ticks are the cutoffs between read labels listed under each metric.

Home Edge
Share of matches won by the home team minus the share won by the away team.
No Edge: under 5% * Slight Edge: 5% to 15% * Clear Edge: 15% to 25% * Strong Edge: 25% and up.
Elo Value
Number of Elo rating points one goal is worth. A team this many Elo points better than another is expected to win by one goal on a neutral field.
Scoring Tilt
Average home goals minus average away goals per match. The gold line is the home goals edge implied by the scoring value of an Elo point and the home-field Elo bonus.
Road-Tilted: under -0.2 * Neutral: -0.2 to 0.5 * Home-Tilted: 0.5 to 1.2 * Strong Home: 1.2 and up.
Home Edge
HomeDrawAway
+11.61%
Slight Edge
41.96%27.68%30.36%
Elo Value
Home Edge: 43.66 Elo pts.
241 Elo
0.004 goals per Elo point
0800
Scoring Tilt
Expected
+0.17 goals
Neutral
-2+0.18+2

Title Race

How these are measured

The navy dot is the actual value, the gold line and key are the model's reference where one applies, and the slate ticks are the cutoffs between read labels listed under each metric.

Title-Race Openness
Effective number of teams with a live shot at finishing 1st, from the simulation. 1 means the favorite is a near-lock; larger means a wide-open race. Equal to 1 divided by the sum of squared title odds.
One-Team Race: under 2 * Top-Heavy: 2 to 4 * Open: 4 to 6 * Wide Open: 6 and up.
Champion Preseason Odds
Preseason probability that the eventual champion would finish 1st, from the simulation. The dot marks their rank across all teams, from longshot to favorite.
Preseason Favorite: 1st * Among the Favorites: 2nd * Middle of the Pack: 3rd to 4th * Longshot: 5th or lower.
Title Margin
Points-per-game gap between the champion and the runner-up. Shown per game so it reads the same across long and short seasons. The gold line is the winning margin the model expected, so a dot to the right means a more one-sided race than projected. A title won on goal difference shows 0.00.
Photo Finish: under 0.15 * Tight Race: 0.15 to 0.4 * Comfortable: 0.4 to 0.75 * Runaway: 0.75 and up.
Title-Race Openness
4.0
Open
12468
Champion Preseason Odds
20%
Westerlo, 3rd of 8
LongshotFavorite
Title Margin
Expected
0.07/gm
Photo Finish
00.170.5/gm

Simulation-Based Surprises

How these are measured

The navy dot is the actual value, the gold line and key are the model's reference where one applies, and the slate ticks are the cutoffs between read labels listed under each metric.

Luck Spread
Standard deviation of the gap between each team's actual points and their simulated average points. The gold line is the spread the model expected from chance alone.
As Expected: under 5.34 * Some Luck: 5.34 to 8.01 * Lucky: 8.01 to 10.68 * Wild Swing: 10.68 and up.
Average Finish Error
Average gap between where each team was projected to finish and where they actually finished in the table.
Pinpoint: under 0.99 * Close: 0.99 to 1.49 * Off: 1.49 to 1.99 * Way Off: 1.99 and up.
Biggest Overachiever
The team that finished highest inside its own range of simulated outcomes. The gold line is where the top team in a league of 8 typically lands.
Biggest Underachiever
The team that finished lowest inside its own range of simulated outcomes. The gold line is where the bottom team in a league of 8 typically lands.
Season Outliers
Number of teams that finished above the 95th or below the 5th percentile of their own simulated range. Even a well-calibrated model expects about 10% of teams in the extremes.
Minimal Outliers: under 8 * As Expected: 8 to 12.8 * Several Outliers: 12.8 to 17.6 * Many Outliers: 17.6 and up.
Unexpected Relegations
Number of teams that were actually relegated but were not in the model's projected bottom field of the same size. The gold line is how many the model expected to miss on average.
As Expected: under 3 * A Surprise: 3 to 4.8 * Several Surprises: 4.8 to 6.6 * Many Surprises: 6.6 and up.
Luck Spread
Expected
5.31 points
As Expected
06.6717
Average Finish Error
Expected
1.25
Close
01.242.5
Biggest Overachiever
Expected 93.75%
76.62%
Westerlo
50100
Biggest Underachiever
Expected
2.46%
Sporting Lokeren
06.25%50
Season Outliers
Expected
1 of 8
Minimal Outliers
00.88
Unexpected Relegations
Expected 3.0
2 of 3
As Expected
03

Parity

How these are measured

The navy dot is the actual value, the gold line and key are the model's reference where one applies, and the slate ticks are the cutoffs between read labels listed under each metric.

Gini Index
How evenly points were spread across the league. Lower means a tight, balanced table; higher means a few teams ran off with most of the points.
Balanced: under 0.12 * Even: 0.12 to 0.18 * Top-Heavy: 0.18 to 0.26 * Lopsided: 0.26 and up.
Noll-Scully
How much more spread out the table was than a league where every match is a coin flip. The gold line at 1 is that coin-flip baseline. Above it, real talent gaps stretched the table; below it, the league was tighter than luck alone would produce.
Coin-Flip Parity: under 1 * Moderate Separation: 1 to 1.6 * Strong Separation: 1.6 to 2.2 * Wide Separation: 2.2 and up.
Interquartile Edge
Chance the team at the 75th percentile of Elo would beat the team at the 25th percentile on a neutral field. Higher means a bigger gap between the upper and lower half of the table.
Even: under 60% * Slight Edge: 60% to 70% * Clear Edge: 70% to 80% * Wide Edge: 80% and up.
Best vs. Worst
Chance the top-rated team would beat the bottom-rated team on a neutral field. The gold line is how large that gap tends to be in a league of this size; a dot to the right flags an unusually dominant or unusually weak team.
Even: under 70% * Clear Edge: 70% to 82% * Strong Edge: 82% to 92% * Dominant: 92% and up.
Close Games
Share of matches decided by 1 goal or fewer, draws included. The gold line is how many close games the matchups and the scoring value of an Elo point predict.
Few: under 30% * Some Drama: 30% to 40% * Frequent: 40% to 50% * Very Frequent: 50% and up.
Blowouts
Share of matches decided by 3 goals or more. The gold line is how many routs the matchups and the scoring model predict.
Rare: under 8% * Occasional: 8% to 14% * Frequent: 14% to 22% * Very Frequent: 22% and up.
Gini Index
0.15
Even
00.120.180.260.5
Noll-Scully
Coin-flip
1.45
Moderate Separation
01.003
Interquartile Edge
70%
Slight Edge
50%60%70%80%100%
Best vs. Worst
Baseline
79%
Clear Edge
50%84%100%
Close Games
Expected
65%
Very Frequent
0%65%100%
Blowouts
Expected
12%
Occasional
0%12%100%

Predictability

How these are measured

The navy dot is the actual value, the gold line and key are the model's reference where one applies, and the slate ticks are the cutoffs between read labels listed under each metric.

Brier Score
How close the pregame probabilities landed to the actual result, averaged over the season. Confident, correct calls are rewarded most; confident misses are punished most. Lower is better; since draws are possible, a score under 0.66 beats guessing the base rate.
Highly Predictable: under 0.56 * Predictable: 0.56 to 0.62 * Hard to Predict: 0.62 to 0.66 * Coin-Flip: 0.66 and up.
Matchup Imbalance
How lopsided the matchups were on paper, averaging the gap between the two win probabilities over their sum. 0 means every match was a toss-up; 1 means every match was a heavy favorite against a big underdog.
Very Even: under 0.1 * Slight Separation: 0.1 to 0.18 * Notable Separation: 0.18 to 0.28 * Lopsided: 0.28 and up.
Strangeness
How wild the final table was versus what the model expected. A value of 1 means teams landed about one standard deviation from their projections on average. Above 1 is a stranger season; below 1 hugged the projections.
Very Predictable: under 0.8 * As Expected: 0.8 to 1.1 * Wilder Than Modeled: 1.1 to 1.4 * Chaotic: 1.4 and up.
Repeatability
How closely the final table order matched the preseason Elo order, by Spearman rank correlation. Higher means last season's ratings strongly predicted this season's finish. Shows N/A for an inaugural season.
Weak Carryover: under 0.3 * Some Carryover: 0.3 to 0.6 * Strong Carryover: 0.6 to 0.85 * Near-Lock: 0.85 and up.
Upset Rate
Share of matches the underdog won. The gold line is how often the model expected underdogs to win; a dot to the right means upsets ran hotter than expected.
Chalky: under 25% * As Expected: 25% to 33% * Upset-Prone: 33% to 42% * Very Upset-Prone: 42% and up.
Clear Favorite Upset Rate
Share of matches the underdog won, counting only games with a clear favorite (at least 60% likely to win once a draw is set aside). The gold line is how often the model expected these favorites to slip.
Solid Favorites: under 15% * As Expected: 15% to 25% * Shaky Favorites: 25% to 35% * Very Shaky: 35% and up.
Brier Score
Expected
0.64
Hard to Predict
00.612
Matchup Imbalance
0.31
Lopsided
00.10.180.280.5
Strangeness
Expected
0.67
Very Predictable
01.002
Repeatability
-0.02
Weak Carryover
00.30.60.851
Upset Rate
Expected
25%
As Expected
0%27%50%
Clear Favorite Upset Rate
Expected
22%
As Expected
0%23%50%

Calibration

How these are measured

The navy dot is the actual value, the gold line and key are the model's reference where one applies, and the slate ticks are the cutoffs between read labels listed under each metric.

Probability calibration
An all-in-one chi-square test of the model's probabilities. Matches are grouped by how confident the model was, and within each group the predicted and actual counts of home wins, draws, and away wins are compared. The p-value is plotted; above 0.05 means well-calibrated.
Miscalibrated: under 0.05 * Borderline: 0.05 to 0.1 * Well Calibrated: 0.1 to 0.5 * Excellent: 0.5 and up.
Calibration slope
Checks whether the spread of the probabilities is right. Each probability is turned into log-odds and a line is fit predicting the actual results. A slope of 1.00 is perfect; below 1 is overconfidence (favorites lost more than their odds implied); above 1 is under-confidence.
Overconfident: under 0.85 * Calibrated: 0.85 to 1.15 * Underconfident: 1.15 to 1.3 * Very Underconfident: 1.3 and up.
Calibration error (ECE)
The average gap between the model's stated chances and how often the predicted result actually happened. Smaller is better. The gold line is the noise ceiling, the error luck alone can produce even with perfect probabilities; below it, the model's error is no larger than chance.
Well Within Noise: under 0.16 * Near Noise Ceiling: 0.16 to 0.24 * Above Noise: 0.24 to 0.32 * Well Above Noise: 0.32 and up.
Probability calibration
0.75
Excellent
0.010.050.10.51
Calibration slope
Ideal
1.06
Calibrated
0.51.001.5
Calibration error (ECE)
Noise ceiling
0.055
Well Within Noise
00.1600.4

Stochastic Promotion/Relegation Outcomes

Across 100,000 regular-season simulations from preseason Elo, the probability of each team's next-season outcome — promotion-positive outcomes on the left, relegation-positive on the right. The round buttons switch to heatmaps of how often each pair of teams met in that round of the playoff across the simulations, since every iteration produces a different field.

Team Lost promotion playoff Same level
Beerschot 100%
Excelsior Virton 48.11% 51.89%
Lommel 0.51% 99.49%
Oud-Heverlee Leuven 100%
Roeselare 1.00% 99.00%
Sporting Lokeren 2.78% 97.22%
Union SG 60.04% 39.96%
Westerlo 40.28% 59.72%
Loser →
↓ Winner
BeerschotExcelsior VirtonLommelOud-Heverlee LeuvenRoeselareSporting LokerenUnion SGWesterlo
Beerschot50.0%4.00%0.0%2.00%100.0%1.00%40.0%5.00%100.0%1.00%
Excelsior Virton50.0%4.00%75.0%8.00%0.0%1.00%36.0%25.00%83.3%12.00%
Lommel100.0%1.00%
Oud-Heverlee Leuven100.0%2.00%25.0%8.00%38.9%18.00%37.5%8.00%
Roeselare0.0%1.00%100.0%1.00%0.0%1.00%
Sporting Lokeren0.0%1.00%
Union SG60.0%5.00%64.0%25.00%61.1%18.00%100.0%1.00%46.2%13.00%
Westerlo0.0%1.00%16.7%12.00%62.5%8.00%53.8%13.00%

Actual Promotion/Relegation Outcomes

Just the teams that actually reached the promotion playoff. With the field fixed in place, the playoff sim re-runs every tie and tallies how often each team won each round — the table gives those probabilities, and the final round's column is the chance of winning the playoff outright. The round buttons switch to heatmaps of how often each pairing met in that round.

Team Finals
Beerschot 59.89%
Oud-Heverlee Leuven 40.11%
Loser →
↓ Winner
BeerschotOud-Heverlee Leuven
Beerschot59.9%100.00%
Oud-Heverlee Leuven40.1%100.00%

Overall Game Log

Summary of every completed game this season. Sort any column by clicking its header.

Date Opponent Score Pre Elo Opp Elo Win % Tie % Loss % Elo Δ Points
2019-08-02 Sporting Lokeren W 1-0 1537 1554 44.99% 23.18% 31.84% +8.4 3
2019-08-02 @ Beerschot L 0-1 1554 1537 31.84% 23.18% 44.99% -8.3 0
2019-08-03 Excelsior Virton W 1-0 1520 1511 48.44% 22.98% 28.58% +7.7 3
2019-08-03 @ Oud-Heverlee Leuven L 0-1 1511 1520 28.58% 22.98% 48.44% -7.6 0
2019-08-03 Westerlo L 0-2 1470 1517 40.96% 23.30% 35.74% -19.2 0
2019-08-03 @ Lommel W 2-0 1517 1470 35.74% 23.30% 40.96% +19.2 3
2019-08-04 Roeselare W 3-0 1597 1484 60.48% 21.45% 18.08% +14.0 3
2019-08-04 @ Union SG L 0-3 1484 1597 18.08% 21.45% 60.48% -14.0 0
2019-08-09 Oud-Heverlee Leuven W 1-0 1536 1527 48.52% 22.98% 28.50% +7.6 6
2019-08-09 @ Westerlo L 0-1 1527 1536 28.50% 22.98% 48.52% -7.6 3
2019-08-10 Beerschot D 1-1 1470 1545 36.99% 23.31% 39.70% +0.1 1
2019-08-10 @ Roeselare D 1-1 1545 1470 39.70% 23.31% 36.99% -0.1 4
2019-08-10 Union SG L 0-1 1504 1611 32.51% 23.21% 44.28% -8.5 0
2019-08-10 @ Excelsior Virton W 1-0 1611 1504 44.28% 23.21% 32.51% +8.5 6
2019-08-11 Lommel D 0-0 1546 1451 58.60% 21.79% 19.61% -2.4 1
2019-08-11 @ Sporting Lokeren D 0-0 1451 1546 19.61% 21.79% 58.60% +2.4 1
2019-08-16 Beerschot W 3-0 1520 1545 43.97% 23.22% 32.81% +23.4 6
2019-08-16 @ Oud-Heverlee Leuven L 0-3 1545 1520 32.81% 23.22% 43.97% -23.4 4
2019-08-17 Excelsior Virton L 0-3 1454 1495 41.70% 23.28% 35.02% -28.2 1
2019-08-17 @ Lommel W 3-0 1495 1454 35.02% 23.28% 41.70% +28.2 3
2019-08-17 Roeselare W 4-1 1544 1470 56.29% 22.16% 21.55% +13.8 9
2019-08-17 @ Westerlo L 1-4 1470 1544 21.55% 22.16% 56.29% -13.9 1
2019-08-18 Sporting Lokeren W 3-1 1620 1544 56.57% 22.12% 21.32% +9.7 9
2019-08-18 @ Union SG L 1-3 1544 1620 21.32% 22.12% 56.57% -9.7 1
2019-08-30 Union SG W 1-0 1521 1629 32.46% 23.20% 44.34% +10.8 7
2019-08-30 @ Beerschot L 0-1 1629 1521 44.34% 23.20% 32.46% -10.8 9
2019-08-31 Lommel D 1-1 1457 1425 51.32% 22.75% 25.94% -1.3 2
2019-08-31 @ Roeselare D 1-1 1425 1457 25.94% 22.75% 51.32% +1.4 2
2019-08-31 Oud-Heverlee Leuven L 0-2 1534 1543 46.12% 23.12% 30.76% -21.1 1
2019-08-31 @ Sporting Lokeren W 2-0 1543 1534 30.76% 23.12% 46.12% +21.1 9
2019-09-01 Westerlo W 1-0 1523 1558 42.69% 23.26% 34.05% +8.8 6
2019-09-01 @ Excelsior Virton L 0-1 1558 1523 34.05% 23.26% 42.69% -8.8 9
2019-09-06 Union SG D 2-2 1427 1618 22.74% 22.35% 54.91% +1.3 3
2019-09-06 @ Lommel D 2-2 1618 1427 54.91% 22.35% 22.74% -1.3 10
2019-09-07 Beerschot W 2-0 1549 1532 49.51% 22.90% 27.59% +14.0 12
2019-09-07 @ Westerlo L 0-2 1532 1549 27.59% 22.90% 49.51% -14.0 7
2019-09-07 Roeselare W 4-0 1564 1455 60.08% 21.52% 18.39% +18.5 12
2019-09-07 @ Oud-Heverlee Leuven L 0-4 1455 1564 18.39% 21.52% 60.08% -18.5 2
2019-09-08 Sporting Lokeren W 4-0 1532 1513 49.85% 22.88% 27.27% +26.3 9
2019-09-08 @ Excelsior Virton L 0-4 1513 1532 27.27% 22.88% 49.85% -26.3 1
2019-09-13 Westerlo D 1-1 1486 1563 36.72% 23.31% 39.98% +0.2 2
2019-09-13 @ Sporting Lokeren D 1-1 1563 1486 39.98% 23.31% 36.72% -0.2 13
2019-09-14 Lommel W 2-0 1518 1428 58.12% 21.87% 20.01% +10.6 10
2019-09-14 @ Beerschot L 0-2 1428 1518 20.01% 21.87% 58.12% -10.6 3
2019-09-14 Oud-Heverlee Leuven D 1-1 1617 1583 51.70% 22.71% 25.59% -1.4 11
2019-09-14 @ Union SG D 1-1 1583 1617 25.59% 22.71% 51.70% +1.4 13
2019-09-15 Excelsior Virton FL 1437 1558 30.66% 23.12% 46.22% +0.0 2
2019-09-15 @ Roeselare FW 1558 1437 46.22% 23.12% 30.66% +0.0 12
2019-09-20 Roeselare W 2-0 1487 1437 53.57% 22.51% 23.92% +12.4 5
2019-09-20 @ Sporting Lokeren L 0-2 1437 1487 23.92% 22.51% 53.57% -12.4 2
2019-09-21 Beerschot W 3-0 1558 1529 51.13% 22.76% 26.11% +19.4 15
2019-09-21 @ Excelsior Virton L 0-3 1529 1558 26.11% 22.76% 51.13% -19.4 10
2019-09-21 Union SG L 1-2 1563 1616 40.10% 23.31% 36.60% -9.4 13
2019-09-21 @ Westerlo W 2-1 1616 1563 36.60% 23.31% 40.10% +9.4 14
2019-09-22 Lommel W 1-0 1584 1417 65.58% 20.26% 14.16% +4.0 16
2019-09-22 @ Oud-Heverlee Leuven L 0-1 1417 1584 14.16% 20.26% 65.58% -4.0 3
2019-09-27 Westerlo L 0-2 1424 1553 29.75% 23.06% 47.19% -14.9 2
2019-09-27 @ Roeselare W 2-0 1553 1424 47.19% 23.06% 29.75% +14.9 16
2019-09-28 Excelsior Virton W 2-1 1625 1578 53.26% 22.55% 24.19% +6.2 17
2019-09-28 @ Union SG L 1-2 1578 1625 24.19% 22.55% 53.26% -6.2 15
2019-09-28 Oud-Heverlee Leuven L 1-2 1509 1588 36.41% 23.30% 40.29% -8.8 10
2019-09-28 @ Beerschot W 2-1 1588 1509 40.29% 23.30% 36.41% +8.8 19
2019-09-29 Sporting Lokeren D 1-1 1413 1499 35.46% 23.29% 41.25% +0.3 4
2019-09-29 @ Lommel D 1-1 1499 1413 41.25% 23.29% 35.46% -0.3 6
2019-10-04 Roeselare W 2-1 1414 1409 47.91% 23.02% 29.07% +7.3 7
2019-10-04 @ Lommel L 1-2 1409 1414 29.07% 23.02% 47.91% -7.3 2
2019-10-05 Excelsior Virton L 0-1 1568 1572 46.91% 23.08% 30.01% -11.4 16
2019-10-05 @ Westerlo W 1-0 1572 1568 30.01% 23.08% 46.91% +11.4 18
2019-10-05 Sporting Lokeren L 2-3 1597 1499 58.97% 21.73% 19.30% -12.4 19
2019-10-05 @ Oud-Heverlee Leuven W 3-2 1499 1597 19.30% 21.73% 58.97% +12.4 9
2019-10-06 Beerschot D 1-1 1631 1501 62.25% 21.08% 16.67% -2.5 18
2019-10-06 @ Union SG D 1-1 1501 1631 16.67% 21.08% 62.25% +2.6 11
2019-10-11 Westerlo L 1-2 1503 1557 39.98% 23.31% 36.72% -9.4 11
2019-10-11 @ Beerschot W 2-1 1557 1503 36.72% 23.31% 39.98% +9.4 19
2019-10-12 Lommel W 1-0 1583 1421 65.16% 20.37% 14.46% +4.1 21
2019-10-12 @ Excelsior Virton L 0-1 1421 1583 14.46% 20.37% 65.16% -4.1 7
2019-10-12 Oud-Heverlee Leuven W 3-1 1402 1584 23.69% 22.48% 53.83% +20.9 5
2019-10-12 @ Roeselare L 1-3 1584 1402 53.83% 22.48% 23.69% -20.9 19
2019-10-13 Union SG D 1-1 1511 1629 31.18% 23.14% 45.68% +0.7 10
2019-10-13 @ Sporting Lokeren D 1-1 1629 1511 45.68% 23.14% 31.18% -0.8 19
2019-10-18 Sporting Lokeren W 2-0 1566 1512 54.11% 22.45% 23.44% +12.2 22
2019-10-18 @ Westerlo L 0-2 1512 1566 23.44% 22.45% 54.11% -12.2 10
2019-10-19 Excelsior Virton W 2-1 1494 1587 34.40% 23.27% 42.33% +9.8 14
2019-10-19 @ Beerschot L 1-2 1587 1494 42.33% 23.27% 34.40% -9.8 21
2019-10-19 Union SG W 3-0 1423 1628 21.43% 22.14% 56.43% +36.6 8
2019-10-19 @ Roeselare L 0-3 1628 1423 56.43% 22.14% 21.43% -36.6 19
2019-10-20 Oud-Heverlee Leuven L 0-2 1417 1564 27.63% 22.91% 49.46% -14.0 7
2019-10-20 @ Lommel W 2-0 1564 1417 49.46% 22.91% 27.63% +14.0 22
2019-10-25 Westerlo W 2-1 1578 1578 47.22% 23.06% 29.71% +7.4 25
2019-10-25 @ Oud-Heverlee Leuven L 1-2 1578 1578 29.71% 23.06% 47.22% -7.4 22
2019-10-26 Beerschot W 2-1 1500 1504 46.82% 23.08% 30.09% +7.5 13
2019-10-26 @ Sporting Lokeren L 1-2 1504 1500 30.09% 23.08% 46.82% -7.5 14
2019-10-26 Lommel W 2-1 1592 1403 67.48% 19.72% 12.80% +3.4 22
2019-10-26 @ Union SG L 1-2 1403 1592 12.80% 19.72% 67.48% -3.4 7
2019-10-27 Roeselare W 3-2 1577 1460 60.97% 21.35% 17.68% +4.5 24
2019-10-27 @ Excelsior Virton L 2-3 1460 1577 17.68% 21.35% 60.97% -4.5 8
2019-11-02 Lommel D 1-1 1571 1399 66.02% 20.14% 13.84% -3.0 23
2019-11-02 @ Westerlo D 1-1 1399 1571 13.84% 20.14% 66.02% +3.0 8
2019-11-02 Roeselare W 2-1 1496 1455 52.52% 22.63% 24.86% +6.4 17
2019-11-02 @ Beerschot L 1-2 1455 1496 24.86% 22.63% 52.52% -6.4 8
2019-11-03 Excelsior Virton L 1-3 1507 1582 37.01% 23.31% 39.68% -15.4 13
2019-11-03 @ Sporting Lokeren W 3-1 1582 1507 39.68% 23.31% 37.01% +15.3 27
2019-11-08 Beerschot W 1-0 1402 1502 33.48% 23.24% 43.28% +10.6 11
2019-11-08 @ Lommel L 0-1 1502 1402 43.28% 23.24% 33.48% -10.6 17
2019-11-08 Oud-Heverlee Leuven L 0-1 1597 1585 48.90% 22.95% 28.15% -11.8 27
2019-11-08 @ Excelsior Virton W 1-0 1585 1597 28.15% 22.95% 48.90% +11.8 28
2019-11-08 Sporting Lokeren W 2-1 1449 1492 41.47% 23.29% 35.25% +8.5 11
2019-11-08 @ Roeselare L 1-2 1492 1449 35.25% 23.29% 41.47% -8.5 13
2019-11-08 Westerlo L 0-2 1595 1568 50.78% 22.80% 26.43% -22.9 22
2019-11-08 @ Union SG W 2-0 1568 1595 26.43% 22.80% 50.78% +22.9 26
2019-11-15 Beerschot L 0-3 1597 1492 59.66% 21.60% 18.73% -38.5 28
2019-11-15 @ Oud-Heverlee Leuven W 3-0 1492 1597 18.73% 21.60% 59.66% +38.4 20
2019-11-16 Lommel L 0-1 1483 1413 55.92% 22.21% 21.87% -13.2 13
2019-11-16 @ Sporting Lokeren W 1-0 1413 1483 21.87% 22.21% 55.92% +13.2 14
2019-11-17 Excelsior Virton W 2-0 1572 1585 45.59% 23.15% 31.27% +15.5 25
2019-11-17 @ Union SG L 0-2 1585 1572 31.27% 23.15% 45.59% -15.5 27
2019-11-17 Westerlo L 3-5 1457 1591 29.17% 23.02% 47.81% -10.7 11
2019-11-17 @ Roeselare W 5-3 1591 1457 47.81% 23.02% 29.17% +10.7 29
2019-11-22 Oud-Heverlee Leuven L 1-2 1602 1558 52.80% 22.60% 24.60% -11.9 29
2019-11-22 @ Westerlo W 2-1 1558 1602 24.60% 22.60% 52.80% +11.9 31
2019-11-23 Sporting Lokeren D 1-1 1530 1470 54.78% 22.36% 22.85% -1.7 21
2019-11-23 @ Beerschot D 1-1 1470 1530 22.85% 22.36% 54.78% +1.7 14
2019-11-23 Union SG D 0-0 1426 1588 25.96% 22.75% 51.29% +1.5 15
2019-11-23 @ Lommel D 0-0 1588 1426 51.29% 22.75% 25.96% -1.5 26
2019-11-24 Roeselare D 1-1 1570 1446 61.52% 21.23% 17.24% -2.5 28
2019-11-24 @ Excelsior Virton D 1-1 1446 1570 17.24% 21.23% 61.52% +2.5 12
2019-11-29 Sporting Lokeren W 2-1 1570 1472 58.99% 21.72% 19.29% +5.1 34
2019-11-29 @ Oud-Heverlee Leuven L 1-2 1472 1570 19.29% 21.72% 58.99% -5.1 14
2019-11-30 Lommel W 3-1 1449 1428 50.06% 22.86% 27.08% +11.9 15
2019-11-30 @ Roeselare L 1-3 1428 1449 27.08% 22.86% 50.06% -11.9 15
2019-11-30 Westerlo D 1-1 1567 1590 44.32% 23.20% 32.48% -0.6 29
2019-11-30 @ Excelsior Virton D 1-1 1590 1567 32.48% 23.20% 44.32% +0.6 30
2019-12-01 Beerschot L 0-2 1586 1529 54.46% 22.40% 23.14% -24.4 26
2019-12-01 @ Union SG W 2-0 1529 1586 23.14% 22.40% 54.46% +24.4 24
2019-12-06 Oud-Heverlee Leuven W 3-2 1416 1575 26.17% 22.77% 51.06% +10.9 18
2019-12-06 @ Lommel L 2-3 1575 1416 51.06% 22.77% 26.17% -10.9 34
2019-12-07 Excelsior Virton D 1-1 1553 1567 45.52% 23.15% 31.32% -0.7 25
2019-12-07 @ Beerschot D 1-1 1567 1553 31.32% 23.15% 45.52% +0.7 30
2019-12-07 Roeselare L 1-3 1467 1461 48.11% 23.00% 28.89% -19.0 14
2019-12-07 @ Sporting Lokeren W 3-1 1461 1467 28.89% 23.00% 48.11% +18.9 18
2019-12-08 Union SG L 0-3 1590 1562 51.03% 22.77% 26.20% -33.4 30
2019-12-08 @ Westerlo W 3-0 1562 1590 26.20% 22.77% 51.03% +33.4 29
2019-12-13 Oud-Heverlee Leuven D 2-2 1480 1564 35.60% 23.29% 41.11% +0.2 19
2019-12-13 @ Roeselare D 2-2 1564 1480 41.11% 23.29% 35.60% -0.2 35
2019-12-14 Beerschot L 0-1 1557 1552 47.97% 23.01% 29.01% -11.6 30
2019-12-14 @ Westerlo W 1-0 1552 1557 29.01% 23.01% 47.97% +11.6 28
2019-12-14 Lommel W 3-1 1567 1427 63.20% 20.86% 15.94% +7.4 33
2019-12-14 @ Excelsior Virton L 1-3 1427 1567 15.94% 20.86% 63.20% -7.4 18
2019-12-15 Sporting Lokeren D 1-1 1595 1448 63.83% 20.71% 15.46% -2.7 30
2019-12-15 @ Union SG D 1-1 1448 1595 15.46% 20.71% 63.83% +2.7 15
2019-12-20 Beerschot W 1-0 1419 1564 27.90% 22.93% 49.18% +11.8 21
2019-12-20 @ Lommel L 0-1 1564 1419 49.18% 22.93% 27.90% -11.8 28
2019-12-21 Excelsior Virton L 0-2 1564 1575 45.94% 23.13% 30.93% -21.0 35
2019-12-21 @ Oud-Heverlee Leuven W 2-0 1575 1564 30.93% 23.13% 45.94% +21.0 36
2019-12-21 Union SG D 1-1 1480 1592 31.87% 23.18% 44.95% +0.7 20
2019-12-21 @ Roeselare D 1-1 1592 1480 44.95% 23.18% 31.87% -0.7 31
2019-12-22 Westerlo L 0-4 1450 1545 34.16% 23.26% 42.57% -31.6 15
2019-12-22 @ Sporting Lokeren W 4-0 1545 1450 42.57% 23.26% 34.16% +31.6 33
2020-01-10 Roeselare D 1-1 1552 1481 56.04% 22.19% 21.77% -1.9 29
2020-01-10 @ Beerschot D 1-1 1481 1552 21.77% 22.19% 56.04% +1.9 21
2020-01-11 Lommel W 2-1 1577 1431 63.69% 20.75% 15.56% +4.2 36
2020-01-11 @ Westerlo L 1-2 1431 1577 15.56% 20.75% 63.69% -4.2 21
2020-01-11 Oud-Heverlee Leuven L 2-3 1592 1543 53.41% 22.53% 24.06% -11.4 31
2020-01-11 @ Union SG W 3-2 1543 1592 24.06% 22.53% 53.41% +11.4 38
2020-01-12 Sporting Lokeren L 1-2 1596 1419 66.48% 20.01% 13.50% -14.6 36
2020-01-12 @ Excelsior Virton W 2-1 1419 1596 13.50% 20.01% 66.48% +14.6 18
2020-01-17 Sporting Lokeren W 1-0 1427 1433 46.50% 23.10% 30.40% +8.0 24
2020-01-17 @ Lommel L 0-1 1433 1427 30.40% 23.10% 46.50% -8.0 18
2020-01-18 Excelsior Virton L 0-2 1483 1581 33.67% 23.25% 43.09% -16.5 21
2020-01-18 @ Roeselare W 2-0 1581 1483 43.09% 23.25% 33.67% +16.5 39
2020-01-18 Union SG D 1-1 1550 1580 43.28% 23.24% 33.48% -0.5 30
2020-01-18 @ Beerschot D 1-1 1580 1550 33.48% 23.24% 43.28% +0.5 32
2020-01-19 Westerlo L 1-3 1554 1581 43.75% 23.22% 33.02% -17.5 38
2020-01-19 @ Oud-Heverlee Leuven W 3-1 1581 1554 33.02% 23.22% 43.75% +17.5 39
2020-01-24 Oud-Heverlee Leuven D 1-1 1425 1537 31.97% 23.18% 44.85% +0.7 19
2020-01-24 @ Sporting Lokeren D 1-1 1537 1425 44.85% 23.18% 31.97% -0.7 39
2020-01-25 Beerschot FL 1598 1550 53.36% 22.53% 24.11% +0.0 39
2020-01-25 @ Excelsior Virton FL 1550 1598 24.11% 22.53% 53.36% +0.0 30
2020-01-25 Roeselare D 1-1 1599 1466 62.44% 21.04% 16.53% -2.6 40
2020-01-25 @ Westerlo D 1-1 1466 1599 16.53% 21.04% 62.44% +2.6 22
2020-01-26 Lommel D 2-2 1581 1435 63.68% 20.75% 15.57% -2.0 33
2020-01-26 @ Union SG D 2-2 1435 1581 15.57% 20.75% 63.68% +2.0 25
2020-01-31 Westerlo W 1-0 1550 1596 40.99% 23.29% 35.71% +9.1 33
2020-01-31 @ Beerschot L 0-1 1596 1550 35.71% 23.29% 40.99% -9.1 40
2020-02-01 Roeselare W 2-1 1536 1469 55.63% 22.25% 22.12% +5.8 42
2020-02-01 @ Oud-Heverlee Leuven L 1-2 1469 1536 22.12% 22.25% 55.63% -5.8 22
2020-02-01 Union SG L 0-2 1426 1579 26.93% 22.84% 50.23% -13.7 19
2020-02-01 @ Sporting Lokeren W 2-0 1579 1426 50.23% 22.84% 26.93% +13.7 36
2020-02-02 Excelsior Virton D 0-0 1437 1598 26.03% 22.76% 51.21% +1.5 26
2020-02-02 @ Lommel D 0-0 1598 1437 51.21% 22.76% 26.03% -1.5 40
2020-02-07 Beerschot D 1-1 1463 1559 34.05% 23.26% 42.70% +0.4 23
2020-02-07 @ Roeselare D 1-1 1559 1463 42.70% 23.26% 34.05% -0.4 34
2020-02-08 Lommel W 3-0 1542 1439 59.52% 21.63% 18.85% +14.5 45
2020-02-08 @ Oud-Heverlee Leuven L 0-3 1439 1542 18.85% 21.63% 59.52% -14.5 26
2020-02-08 Union SG D 0-0 1596 1593 47.83% 23.02% 29.15% -1.1 41
2020-02-08 @ Excelsior Virton D 0-0 1593 1596 29.15% 23.02% 47.83% +1.1 37
2020-02-11 Union SG D 0-0 1557 1594 42.34% 23.27% 34.40% -0.5 46
2020-02-11 @ Oud-Heverlee Leuven D 0-0 1594 1557 34.40% 23.27% 42.34% +0.5 38
2020-02-12 Sporting Lokeren W 3-2 1587 1412 66.28% 20.07% 13.65% +3.5 43
2020-02-12 @ Westerlo L 2-3 1412 1587 13.65% 20.07% 66.28% -3.5 19
2020-02-14 Oud-Heverlee Leuven W 2-1 1558 1556 47.63% 23.04% 29.34% +7.4 37
2020-02-14 @ Beerschot L 1-2 1556 1558 29.34% 23.04% 47.63% -7.4 46
2020-02-15 Roeselare D 3-3 1594 1463 62.25% 21.08% 16.67% -1.6 39
2020-02-15 @ Union SG D 3-3 1463 1594 16.67% 21.08% 62.25% +1.6 24
2020-02-15 Westerlo L 0-1 1424 1590 25.39% 22.69% 51.92% -6.9 26
2020-02-15 @ Lommel W 1-0 1590 1424 51.92% 22.69% 25.39% +6.9 46
2020-02-16 Excelsior Virton L 0-2 1409 1595 23.29% 22.43% 54.28% -12.1 19
2020-02-16 @ Sporting Lokeren W 2-0 1595 1409 54.28% 22.43% 23.29% +12.1 44
2020-02-21 Union SG L 3-5 1549 1592 41.40% 23.29% 35.31% -14.1 46
2020-02-21 @ Oud-Heverlee Leuven W 5-3 1592 1549 35.31% 23.29% 41.40% +14.1 42
2020-02-22 Excelsior Virton W 2-1 1597 1607 46.05% 23.13% 30.83% +7.7 49
2020-02-22 @ Westerlo L 1-2 1607 1597 30.83% 23.13% 46.05% -7.7 44
2020-02-22 Sporting Lokeren D 2-2 1465 1397 55.68% 22.24% 22.08% -1.4 25
2020-02-22 @ Roeselare D 2-2 1397 1465 22.08% 22.24% 55.68% +1.4 20
2020-02-23 Lommel W 2-1 1566 1417 63.94% 20.69% 15.37% +4.1 40
2020-02-23 @ Beerschot L 1-2 1417 1566 15.37% 20.69% 63.94% -4.1 26
2020-02-28 Beerschot L 0-2 1398 1570 24.82% 22.62% 52.56% -12.8 20
2020-02-28 @ Sporting Lokeren W 2-0 1570 1398 52.56% 22.62% 24.82% +12.8 43
2020-02-28 Oud-Heverlee Leuven W 4-1 1600 1535 55.31% 22.29% 22.39% +14.3 47
2020-02-28 @ Excelsior Virton L 1-4 1535 1600 22.39% 22.29% 55.31% -14.3 46
2020-02-28 Roeselare D 0-0 1413 1464 40.43% 23.30% 36.26% -0.2 27
2020-02-28 @ Lommel D 0-0 1464 1413 36.26% 23.30% 40.43% +0.2 26
2020-02-28 Westerlo W 3-1 1607 1605 47.55% 23.04% 29.41% +12.8 45
2020-02-28 @ Union SG L 1-3 1605 1607 29.41% 23.04% 47.55% -12.8 49

Playoff Game Log

Every playoff game for the team selected at the top of the tab (empty if they didn't reach the postseason). Sort any column by clicking its header. @ before an opponent name indicates an away game; the record column shows the team's running playoff record.

Date Opponent Score Pre Elo Opp Elo Win % Tie % Loss % Elo Δ Record
2020-03-08 Oud-Heverlee Leuven W 1-0 1583 1520 55.01% 22.33% 22.65% +6.3 1-0
2020-03-08 @ Beerschot L 0-1 1520 1583 22.65% 22.33% 55.01% -6.3 0-1
2020-08-02 Beerschot L 1-4 1514 1589 36.97% 23.31% 39.72% -21.7 0-2
2020-08-02 @ Oud-Heverlee Leuven W 4-1 1589 1514 39.72% 23.31% 36.97% +21.7 2-0

Biggest Upsets

The 25 games where the underdog won despite the lowest pregame win probability. Underdog Win % is the winner's pregame chance of winning the game (lower = bigger upset). @ before a team name indicates the away side. An asterisk (*) after the date marks a playoff game.

# Date Underdog Win % Winning Team Losing Team
Team Elo Score Team Elo Score
1 2020-01-12 13.50% Sporting Lokeren 1419 2 @ Excelsior Virton 1596 1
2 2019-11-15 18.73% Beerschot 1492 3 @ Oud-Heverlee Leuven 1597 0
3 2019-10-05 19.30% Sporting Lokeren 1499 3 @ Oud-Heverlee Leuven 1597 2
4 2019-10-19 21.43% @ Roeselare 1423 3 Union SG 1628 0
5 2019-11-16 21.87% Lommel 1413 1 @ Sporting Lokeren 1483 0
6 2019-12-01 23.14% Beerschot 1529 2 @ Union SG 1586 0
7 2019-10-12 23.69% @ Roeselare 1402 3 Oud-Heverlee Leuven 1584 1
8 2020-01-11 24.06% Oud-Heverlee Leuven 1543 3 @ Union SG 1592 2
9 2019-11-22 24.60% Oud-Heverlee Leuven 1558 2 @ Westerlo 1602 1
10 2019-12-06 26.17% @ Lommel 1416 3 Oud-Heverlee Leuven 1575 2
11 2019-12-08 26.20% Union SG 1562 3 @ Westerlo 1590 0
12 2019-11-08 26.43% Westerlo 1568 2 @ Union SG 1595 0
13 2019-12-20 27.90% @ Lommel 1419 1 Beerschot 1564 0
14 2019-11-08 28.15% Oud-Heverlee Leuven 1585 1 @ Excelsior Virton 1597 0
15 2019-12-07 28.89% Roeselare 1461 3 @ Sporting Lokeren 1467 1
16 2019-12-14 29.01% Beerschot 1552 1 @ Westerlo 1557 0
17 2019-10-05 30.01% Excelsior Virton 1572 1 @ Westerlo 1568 0
18 2019-08-31 30.76% Oud-Heverlee Leuven 1543 2 @ Sporting Lokeren 1534 0
19 2019-12-21 30.93% Excelsior Virton 1575 2 @ Oud-Heverlee Leuven 1564 0
20 2019-08-30 32.46% @ Beerschot 1521 1 Union SG 1629 0
21 2020-01-19 33.02% Westerlo 1581 3 @ Oud-Heverlee Leuven 1554 1
22 2019-11-08 33.48% @ Lommel 1402 1 Beerschot 1502 0
23 2019-10-19 34.40% @ Beerschot 1494 2 Excelsior Virton 1587 1
24 2019-08-17 35.02% Excelsior Virton 1495 3 @ Lommel 1454 0
25 2020-02-21 35.31% Union SG 1592 5 @ Oud-Heverlee Leuven 1549 3

Biggest Elo Changes

The 25 games that resulted in the largest shift in Elo rating.

# Date Elo Δ Winning Team Losing Team Tie %
Team Score Elo Win % Team Score Elo Win %
1 2019-11-15 38.45 Beerschot 3 1492 18.73% @ Oud-Heverlee Leuven 0 1597 59.66% 21.60%
2 2019-10-19 36.56 @ Roeselare 3 1423 21.43% Union SG 0 1628 56.43% 22.14%
3 2019-12-08 33.43 Union SG 3 1562 26.20% @ Westerlo 0 1590 51.03% 22.77%
4 2019-12-22 31.59 Westerlo 4 1545 42.57% @ Sporting Lokeren 0 1450 34.16% 23.26%
5 2019-08-17 28.25 Excelsior Virton 3 1495 35.02% @ Lommel 0 1454 41.70% 23.28%
6 2019-09-08 26.30 @ Excelsior Virton 4 1532 49.85% Sporting Lokeren 0 1513 27.27% 22.88%
7 2019-12-01 24.38 Beerschot 2 1529 23.14% @ Union SG 0 1586 54.46% 22.40%
8 2019-08-16 23.42 @ Oud-Heverlee Leuven 3 1520 43.97% Beerschot 0 1545 32.81% 23.22%
9 2019-11-08 22.93 Westerlo 2 1568 26.43% @ Union SG 0 1595 50.78% 22.80%
10 2020-08-02 * 21.69 Beerschot 4 1589 39.72% @ Oud-Heverlee Leuven 1 1514 36.97% 23.31%
11 2019-08-31 21.11 Oud-Heverlee Leuven 2 1543 30.76% @ Sporting Lokeren 0 1534 46.12% 23.12%
12 2019-12-21 21.04 Excelsior Virton 2 1575 30.93% @ Oud-Heverlee Leuven 0 1564 45.94% 23.13%
13 2019-10-12 20.90 @ Roeselare 3 1402 23.69% Oud-Heverlee Leuven 1 1584 53.83% 22.48%
14 2019-09-21 19.40 @ Excelsior Virton 3 1558 51.13% Beerschot 0 1529 26.11% 22.76%
15 2019-08-03 19.17 Westerlo 2 1517 35.74% @ Lommel 0 1470 40.96% 23.30%
16 2019-12-07 18.95 Roeselare 3 1461 28.89% @ Sporting Lokeren 1 1467 48.11% 23.00%
17 2019-09-07 18.55 @ Oud-Heverlee Leuven 4 1564 60.08% Roeselare 0 1455 18.39% 21.52%
18 2020-01-19 17.51 Westerlo 3 1581 33.02% @ Oud-Heverlee Leuven 1 1554 43.75% 23.22%
19 2020-01-18 16.46 Excelsior Virton 2 1581 43.09% @ Roeselare 0 1483 33.67% 23.25%
20 2019-11-17 15.51 @ Union SG 2 1572 45.59% Excelsior Virton 0 1585 31.27% 23.15%
21 2019-11-03 15.35 Excelsior Virton 3 1582 39.68% @ Sporting Lokeren 1 1507 37.01% 23.31%
22 2019-09-27 14.89 Westerlo 2 1553 47.19% @ Roeselare 0 1424 29.75% 23.06%
23 2020-01-12 14.59 Sporting Lokeren 2 1419 13.50% @ Excelsior Virton 1 1596 66.48% 20.01%
24 2020-02-08 14.53 @ Oud-Heverlee Leuven 3 1542 59.52% Lommel 0 1439 18.85% 21.63%
25 2020-02-28 14.33 @ Excelsior Virton 4 1600 55.31% Oud-Heverlee Leuven 1 1535 22.39% 22.29%