‹ ›

1951-52 Luxembourg National Division Season

90 games

Final

Champion

FC Schifflange 95

24 points

Relegated

No relegation

Biggest Overachiever

Fola Esch

4.35 points above expected

18 points · 13.65 expected points

Biggest Disappointment

Racing Rodange

6.19 points below expected

8 points · 14.19 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 FC Schifflange 95 18 10 4 4 24 39 26 +13 22.98 +1.02
2 Spora Luxembourg 18 10 3 5 23 35 28 +7 19.53 +3.47
3 Stade Dudelange 18 9 3 6 21 24 22 +2 19.13 +1.87
4 Progres Niedercorn 18 6 6 6 18 37 34 +3 17.70 +0.30
5 Fola Esch 18 8 2 8 18 39 40 -1 13.65 +4.35
6 Differdange 03 18 6 6 6 18 26 27 -1 18.40 -0.40
7 Jeunesse Esch 18 6 5 7 17 35 28 +7 21.38 -4.38
8 Racing FC Union Luxembourg 18 8 1 9 17 40 45 -5 17.15 -0.15
9 SC Tetange 18 5 6 7 16 29 31 -2 15.89 +0.11
10 Racing Rodange 18 1 6 11 8 23 46 -23 14.19 -6.19

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 Fola Esch 18 13.65 +4.35
2 Spora Luxembourg 23 19.53 +3.47
3 Stade Dudelange 21 19.13 +1.87
4 FC Schifflange 95 24 22.98 +1.02
5 Progres Niedercorn 18 17.70 +0.30

Biggest Disappointments

# Team Actual Sim vsSim
1 Racing Rodange 8 14.19 -6.19
2 Jeunesse Esch 17 21.38 -4.38
3 Differdange 03 18 18.40 -0.40
4 Racing FC Union Luxembourg 17 17.15 -0.15
5 SC Tetange 16 15.89 +0.11

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 consecutive wins or ties; Winless counts consecutive losses or ties.

Most Unlikely Winning Streaks

# Team Games Dates Probability
1 Spora Luxembourg 4 Sep 16 – Oct 7 1 in 70
2 Fola Esch 3 Oct 14 – Oct 28 1 in 67
3 Differdange 03 3 Dec 16 – Feb 17 1 in 39
4 Racing FC Union Luxembourg 3 Oct 7 – Oct 21 1 in 33
5 FC Schifflange 95 4 Oct 28 – Dec 16 1 in 19

Most Unlikely Losing Streaks

# Team Games Dates Probability
1 Racing FC Union Luxembourg 5 Dec 9 – Feb 24 1 in 114
2 Progres Niedercorn 4 Oct 21 – Dec 9 1 in 79
3 Racing Rodange 6 Sep 23 – Oct 28 1 in 44
4 Spora Luxembourg 2 Dec 16 – Jan 13 1 in 17
5 Jeunesse Esch 2 Sep 2 – Sep 9 1 in 11

Most Unlikely Unbeaten Streaks

# Team Games Dates Probability
1 Spora Luxembourg 8 Sep 9 – Oct 28 1 in 40
2 Progres Niedercorn 5 Sep 2 – Sep 30 1 in 15
3 Jeunesse Esch 6 Sep 16 – Oct 21 1 in 9
4 Stade Dudelange 5 Nov 18 – Feb 3 1 in 9
5 Fola Esch 3 Oct 14 – Oct 28 1 in 8

Most Unlikely Winless Streaks

# Team Games Dates Probability
1 Racing Rodange 14 Sep 2 – Jan 27 1 in 127
2 Progres Niedercorn 7 Sep 30 – Dec 9 1 in 28
3 SC Tetange 6 Sep 16 – Oct 21 1 in 14
4 Jeunesse Esch 4 Sep 2 – Sep 23 1 in 11
5 Racing FC Union Luxembourg 5 Dec 9 – Feb 24 1 in 9

Position Race

Each team’s league position across the whole season. Colored teams are the season’s headline finishers — champion, promoted, and relegated; everyone else is gray as context.

Recent Form

Each team’s last 5 games, hottest first. Form shows the results (navy win, gray draw, red loss, newest on the right); the bars show Elo change over the window, points taken, points expected from the odds, and actual minus expected. Beside each team: current Elo and season points.

Team Elo Season Pts Form Elo Δ (5) Points (5) Expected (5) Actual − Exp
FC Schifflange 95 1307 24 -6 5 6.3 -1.3
Spora Luxembourg 1233 23 +9 7 5.6 +1.4
Stade Dudelange 1223 21 -5 6 6.1 -0.1
Differdange 03 1205 18 +3 6 5.3 +0.7
Progres Niedercorn 1192 18 +6 5 5.1 -0.1
Fola Esch 1105 18 +6 5 3.6 +1.4
Jeunesse Esch 1258 17 -9 4 6.1 -2.1
Racing FC Union Luxembourg 1156 17 -4 4 4.3 -0.3
SC Tetange 1152 16 +10 6 4.0 +2.0
Racing Rodange 1056 8 -3 3 3.7 -0.7

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 D0 FS9 FE JE PN RFUL RR ST SL SD
Differdange 03 —
0-0-2
2.12
2-0-0
3.59
0-1-1
2.33
0-2-0
2.74
1-0-1
2.92
1-1-0
3.33
1-1-0
3.02
1-1-0
2.53
0-0-2
2.56
FC Schifflange 95
2-0-0
3.40
—
1-0-1
4.12
2-0-0
2.84
2-0-0
3.30
1-0-1
3.75
1-1-0
3.97
0-2-0
3.70
0-0-2
3.34
1-1-0
3.21
Fola Esch
0-0-2
1.94
1-0-1
1.44
—
1-0-1
1.61
1-1-0
2.11
2-0-0
2.13
1-1-0
2.67
1-0-1
2.29
1-0-1
1.84
0-0-2
1.77
Jeunesse Esch
1-1-0
3.19
0-0-2
2.67
1-0-1
3.93
—
0-1-1
3.24
1-1-0
3.38
1-0-1
3.80
1-0-1
3.52
0-2-0
2.94
1-0-1
2.99
Progres Niedercorn
0-2-0
2.77
0-0-2
2.22
0-1-1
3.42
1-1-0
2.27
—
2-0-0
2.89
1-1-0
3.51
1-0-1
2.99
0-0-2
2.67
1-1-0
2.53
Racing FC Union Luxembourg
1-0-1
2.60
1-0-1
1.79
0-0-2
3.39
0-1-1
2.14
0-0-2
2.62
—
2-0-0
3.18
1-0-1
3.03
1-0-1
2.41
2-0-0
2.33
Racing Rodange
0-1-1
2.19
0-1-1
1.58
0-1-1
2.85
1-0-1
1.74
0-1-1
2.01
0-0-2
2.33
—
0-2-0
2.38
0-0-2
1.80
0-0-2
1.78
SC Tetange
0-1-1
2.50
0-2-0
1.83
1-0-1
3.22
1-0-1
2.00
1-0-1
2.52
1-0-1
2.48
0-2-0
3.14
—
1-0-1
2.26
0-1-1
2.29
Spora Luxembourg
0-1-1
2.99
2-0-0
2.18
1-0-1
3.70
0-2-0
2.57
2-0-0
2.84
1-0-1
3.11
2-0-0
3.74
1-0-1
3.25
—
1-0-1
2.95
Stade Dudelange
2-0-0
2.95
0-1-1
2.31
2-0-0
3.76
1-0-1
2.52
0-1-1
2.98
0-0-2
3.18
2-0-0
3.75
1-1-0
3.23
1-0-1
2.56
—

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

R² Slope
Scored 0.20 +3.0
Allowed 0.50 -3.7
Differential 0.83 +4.2

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
04.44%8.89%2.22%1.11%0.56%0.56%17.78%
18.89%6.67%6.67%4.44%4.44%1.11%32.22%
22.22%6.67%7.78%4.44%—1.11%22.22%
31.11%4.44%4.44%4.44%0.56%1.11%16.11%
40.56%4.44%—0.56%—1.11%6.67%
5+0.56%1.11%1.11%1.11%1.11%—5.00%
Total17.78%32.22%22.22%16.11%6.67%5.00%100%

Summary Statistics

Scored Allowed Difference
Mean 1.82 1.82 +0.00
SD 1.51 1.51 1.93
CV 0.83 0.83 —
Max 7 7 +7
Min 0 0 -7

Games Played: 90

↓ Scored | Allowed →012345+Total
011.11%5.56%5.56%———22.22%
111.11%5.56%11.11%5.56%5.56%—38.89%
2—11.11%16.67%———27.78%
3—5.56%————5.56%
4———————
5+———5.56%——5.56%
Total22.22%27.78%33.33%11.11%5.56%—100%

Summary Statistics

Scored Allowed Difference
Mean 1.44 1.50 -0.06
SD 1.42 1.15 1.47
CV 0.99 0.77 —
Max 6 4 +3
Min 0 0 -3

Games Played: 18

↓ Scored | Allowed →012345+Total
0—11.11%————11.11%
111.11%11.11%———5.56%27.78%
2—16.67%—5.56%——22.22%
3—11.11%5.56%11.11%——27.78%
4—5.56%————5.56%
5+5.56%—————5.56%
Total16.67%55.56%5.56%16.67%—5.56%100%

Summary Statistics

Scored Allowed Difference
Mean 2.17 1.44 +0.72
SD 1.65 1.29 2.19
CV 0.76 0.90 —
Max 7 5 +7
Min 0 0 -4

Games Played: 18

↓ Scored | Allowed →012345+Total
0———5.56%——5.56%
111.11%5.56%16.67%—16.67%—50.00%
2—11.11%————11.11%
3——5.56%5.56%——11.11%
45.56%————5.56%11.11%
5+—5.56%—5.56%——11.11%
Total16.67%22.22%22.22%16.67%16.67%5.56%100%

Summary Statistics

Scored Allowed Difference
Mean 2.17 2.22 -0.06
SD 1.82 1.80 2.44
CV 0.84 0.81 —
Max 7 7 +4
Min 0 0 -3

Games Played: 18

↓ Scored | Allowed →012345+Total
011.11%11.11%————22.22%
1—5.56%16.67%—5.56%—27.78%
2——11.11%5.56%——16.67%
3—11.11%————11.11%
4—11.11%————11.11%
5+——11.11%———11.11%
Total11.11%38.89%38.89%5.56%5.56%—100%

Summary Statistics

Scored Allowed Difference
Mean 1.94 1.56 +0.39
SD 1.70 0.98 1.82
CV 0.87 0.63 —
Max 5 4 +3
Min 0 0 -3

Games Played: 18

↓ Scored | Allowed →012345+Total
0———————
15.56%5.56%16.67%11.11%5.56%—44.44%
2——16.67%———16.67%
35.56%5.56%5.56%11.11%——27.78%
4—11.11%————11.11%
5+———————
Total11.11%22.22%38.89%22.22%5.56%—100%

Summary Statistics

Scored Allowed Difference
Mean 2.06 1.89 +0.17
SD 1.11 1.08 1.76
CV 0.54 0.57 —
Max 4 4 +3
Min 1 0 -3

Games Played: 18

↓ Scored | Allowed →012345+Total
0—11.11%5.56%———16.67%
1—5.56%——5.56%5.56%16.67%
25.56%11.11%—11.11%—5.56%33.33%
3——11.11%——5.56%16.67%
4———5.56%——5.56%
5+—5.56%——5.56%—11.11%
Total5.56%33.33%16.67%16.67%11.11%16.67%100%

Summary Statistics

Scored Allowed Difference
Mean 2.22 2.50 -0.28
SD 1.80 1.72 2.22
CV 0.81 0.69 —
Max 7 6 +4
Min 0 0 -4

Games Played: 18

↓ Scored | Allowed →012345+Total
05.56%22.22%———5.56%33.33%
1—16.67%——5.56%—22.22%
2—5.56%5.56%11.11%—5.56%27.78%
3———5.56%5.56%5.56%16.67%
4———————
5+———————
Total5.56%44.44%5.56%16.67%11.11%16.67%100%

Summary Statistics

Scored Allowed Difference
Mean 1.28 2.56 -1.28
SD 1.13 2.12 1.90
CV 0.88 0.83 —
Max 3 7 +1
Min 0 0 -7

Games Played: 18

↓ Scored | Allowed →012345+Total
011.11%16.67%——5.56%—33.33%
1—5.56%5.56%11.11%——22.22%
25.56%5.56%11.11%———22.22%
3——5.56%5.56%——11.11%
4—5.56%————5.56%
5+————5.56%—5.56%
Total16.67%33.33%22.22%16.67%11.11%—100%

Summary Statistics

Scored Allowed Difference
Mean 1.61 1.72 -0.11
SD 1.82 1.27 1.75
CV 1.13 0.74 —
Max 7 4 +3
Min 0 0 -4

Games Played: 18

↓ Scored | Allowed →012345+Total
05.56%5.56%————11.11%
122.22%——11.11%——33.33%
25.56%—11.11%5.56%——22.22%
3—5.56%11.11%———16.67%
4—11.11%———5.56%16.67%
5+———————
Total33.33%22.22%22.22%16.67%—5.56%100%

Summary Statistics

Scored Allowed Difference
Mean 1.94 1.56 +0.39
SD 1.30 1.76 1.69
CV 0.67 1.13 —
Max 4 7 +3
Min 0 0 -3

Games Played: 18

↓ Scored | Allowed →012345+Total
0—5.56%11.11%5.56%——22.22%
127.78%5.56%—5.56%——38.89%
25.56%5.56%5.56%5.56%——22.22%
35.56%5.56%—5.56%——16.67%
4———————
5+———————
Total38.89%22.22%16.67%22.22%——100%

Summary Statistics

Scored Allowed Difference
Mean 1.33 1.22 +0.11
SD 1.03 1.22 1.64
CV 0.77 0.99 —
Max 3 3 +3
Min 0 0 -3

Games Played: 18

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
FC Schifflange 95 1307 24 22.98 +1.02 63.0% 15 17 21 24 25 28 29
Jeunesse Esch 1258 17 21.38 -4.38 18.0% 14 16 19 22 24 28 29
Spora Luxembourg 1233 23 19.53 +3.47 92.0% 12 14 17 20 22 24 29
Stade Dudelange 1223 21 19.13 +1.87 74.0% 12 13 17 19 22 24 26
Differdange 03 1205 18 18.40 -0.40 53.0% 11 13 15 18 20 26 29
Progres Niedercorn 1192 18 17.70 +0.30 58.0% 9 12 15 18 20 23 25
Racing FC Union Luxembourg 1156 17 17.15 -0.15 53.0% 10 11 15 17 19 23 25
SC Tetange 1152 16 15.89 +0.11 55.0% 4 10 14 16 18 21 27
Fola Esch 1105 18 13.65 +4.35 89.0% 6 8 11 13 15 20 22
Racing Rodange 1056 8 14.19 -6.19 5.0% 5 8 12 14 17 20 24

Point 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).

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.

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 7% * Slight Edge: 7% to 11.5% * Clear Edge: 11.5% to 16.5% * Strong Edge: 16.5% 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
+21.11%
Strong Edge
48.89%23.33%27.78%
Elo Value
Home Edge
208 Elo
0.005 goals per Elo point
074.47600
Scoring Tilt
Expected
+0.43 goals
Neutral
-2+0.36+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 3 * Open: 3 to 4 * Wide Open: 4 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 5th * Longshot: 6th 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.05 * Tight Race: 0.05 to 0.17 * Comfortable: 0.17 to 0.27 * Runaway: 0.27 and up.
Title-Race Openness
3.5
Open
123410
Champion Preseason Odds
45%
FC Schifflange 95, 1st of 10
LongshotFavorite
Title Margin
Expected
0.06/gm
Tight Race
00.130.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 2.78 * Some Luck: 2.78 to 4.17 * Lucky: 4.17 to 5.56 * Wild Swing: 5.56 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 1.5 * Close: 1.5 to 2.25 * Off: 2.25 to 3 * Way Off: 3 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 10 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 10 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 10 * As Expected: 10 to 16 * Several Outliers: 16 to 22 * Many Outliers: 22 and up.
Luck Spread
Expected
3.05 points
Some Luck
03.479
Average Finish Error
Expected
1.80
Close
01.874
Biggest Overachiever
Expected 95.00%
92.00%
Spora Luxembourg
50100
Biggest Underachiever
Expected 5.00%
5.00%
Racing Rodange
050
Season Outliers
Expected
0 of 10
Minimal Outliers
01.010

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.17 * Even: 0.17 to 0.19 * Top-Heavy: 0.19 to 0.21 * Lopsided: 0.21 and up.
Noll-Scully
Take a league where every match is a coin flip and nobody is better than anybody. You would still get a table, with a leader and a bottom club, purely by luck, and you can work out how far apart that table would be. This is the real table measured against it. At 1.00 the season was no more spread out than pure chance; at 2.00 it was twice as spread out, which takes genuine differences in quality. Dividing by the luck figure is what makes seasons of different lengths comparable, because a short season spreads a table by luck alone far more than a long one does. Elo SD in the corner is the same question in rating points: how far apart the teams finished on the ratings.
Coin-Flip Parity: under 1.65 * Moderate Separation: 1.65 to 1.85 * Strong Separation: 1.85 to 2.05 * Wide Separation: 2.05 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 68% * Slight Edge: 68% to 72.5% * Clear Edge: 72.5% to 78% * Wide Edge: 78% 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 89.5% * Clear Edge: 89.5% to 92% * Strong Edge: 92% to 95% * Dominant: 95% 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 49% * Some Drama: 49% to 53% * Frequent: 53% to 56% * Very Frequent: 56% 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 23% * Occasional: 23% to 26% * Frequent: 26% to 28% * Very Frequent: 28% and up.
Gini Index
0.12
Balanced
00.170.5
Noll-Scully
Elo SD: 74.04
1.19
Coin-Flip Parity
11.651.852.052.5
Interquartile Edge
61%
Even
50%68%78%100%
Best vs. Worst
Baseline
81%
Even
50%80%100%
Close Games
Expected
64%
Very Frequent
0%56%100%
Blowouts
Expected
22%
Rare
0%20%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.35 * Slight Separation: 0.35 to 0.39 * Notable Separation: 0.39 to 0.44 * Lopsided: 0.44 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.43 * Some Carryover: 0.43 to 0.62 * Strong Carryover: 0.62 to 0.73 * Near-Lock: 0.73 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 21.5% * As Expected: 21.5% to 24% * Upset-Prone: 24% to 26.5% * Very Upset-Prone: 26.5% 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 18% * As Expected: 18% to 20.5% * Shaky Favorites: 20.5% to 23.5% * Very Shaky: 23.5% and up.
Brier Score
Expected
0.62
Predictable
00.602
Matchup Imbalance
0.38
Slight Separation
00.350.5
Strangeness
Expected
0.75
Very Predictable
01.002
Repeatability
0.62
Some Carryover
00.430.621
Upset Rate
Expected
24%
Upset-Prone
0%23%50%
Clear Favorite Upset Rate
Expected
23%
Shaky Favorites
0%20%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.25 * Above Noise: 0.25 to 0.33 * Well Above Noise: 0.33 and up.
Probability calibration
0.80
Excellent
0.010.050.10.51
Calibration slope
Ideal
0.68
Overconfident
0.51.001.5
Calibration error (ECE)
Noise ceiling
0.071
Well Within Noise
00.1650.4

Final Table Odds

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).

Team12345678910
FC Schifflange 9545.00%24.00%9.00%10.00%4.00%4.00%1.00%3.00%——
Spora Luxembourg6.00%16.00%19.00%17.00%12.00%10.00%8.00%6.00%6.00%—
Stade Dudelange4.00%14.00%21.00%16.00%9.00%8.00%9.00%11.00%6.00%2.00%
Progres Niedercorn6.00%9.00%12.00%13.00%9.00%11.00%16.00%11.00%7.00%6.00%
Fola Esch1.00%—3.00%2.00%8.00%5.00%8.00%16.00%22.00%35.00%
Differdange 037.00%10.00%8.00%12.00%17.00%11.00%12.00%9.00%9.00%5.00%
Jeunesse Esch26.00%18.00%19.00%12.00%8.00%8.00%8.00%—1.00%—
Racing FC Union Luxembourg3.00%7.00%5.00%9.00%11.00%22.00%9.00%11.00%14.00%9.00%
SC Tetange1.00%2.00%2.00%4.00%15.00%10.00%21.00%22.00%13.00%10.00%
Racing Rodange1.00%—2.00%5.00%7.00%11.00%8.00%11.00%22.00%33.00%

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.

Next-Season Status

Across 100,000 regular-season simulations, the probability of each team's next-season status. Columns appear in best-to-worst outcome order: promotion-positive on the left, relegation-positive on the right. Cells with darker shading indicate higher likelihood.

Team Same level
Differdange 03 100%
FC Schifflange 95 100%
Fola Esch 100%
Jeunesse Esch 100%
Progres Niedercorn 100%
Racing FC Union Luxembourg 100%
Racing Rodange 100%
SC Tetange 100%
Spora Luxembourg 100%
Stade Dudelange 100%

Overall Game Log

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

Date Opponent ScoreExcitement Pre Elo Opp Elo Win % Tie % Loss %Proj. Margin Elo Δ Points
1951-09-02 FC Schifflange 95 L 2-353.6 1271 1284 50.60% 24.54% 24.87%+0.29 -6.5 0
1951-09-02 @ Jeunesse Esch W 3-253.6 1284 1271 24.87% 24.54% 50.60%-0.29 +6.5 2
1951-09-02 SC Tetange W 3-136.0 1189 1158 55.47% 24.15% 20.39%+0.50 +5.7 2
1951-09-02 @ Progres Niedercorn L 1-336.0 1158 1189 20.39% 24.15% 55.47%-0.50 -5.7 0
1951-09-02 Spora Luxembourg W 7-442.3 1164 1211 46.43% 24.71% 28.87%+0.13 +8.2 2
1951-09-02 @ Racing FC Union Luxembourg L 4-742.3 1211 1164 28.87% 24.71% 46.43%-0.13 -8.2 0
1951-09-02 Fola Esch D 1-152.1 1122 1060 58.67% 23.74% 17.59%+0.65 -1.4 1
1951-09-02 @ Racing Rodange D 1-152.1 1060 1122 17.59% 23.74% 58.67%-0.65 +1.4 1
1951-09-02 Differdange 03 W 2-032.4 1222 1204 54.15% 24.28% 21.57%+0.44 +6.9 2
1951-09-02 @ Stade Dudelange L 0-232.4 1204 1222 21.57% 24.28% 54.15%-0.44 -6.9 0
1951-09-09 Spora Luxembourg D 2-256.3 1197 1203 51.45% 24.49% 24.06%+0.33 -0.7 1
1951-09-09 @ Differdange 03 D 2-256.3 1203 1197 24.06% 24.49% 51.45%-0.33 +0.7 1
1951-09-09 Racing Rodange D 1-153.0 1290 1121 67.79% 21.68% 10.53%+1.17 -2.0 3
1951-09-09 @ FC Schifflange 95 D 1-153.0 1121 1290 10.53% 21.68% 67.79%-1.17 +2.0 2
1951-09-09 Stade Dudelange L 1-242.6 1062 1229 30.21% 24.27% 45.52%-0.45 -4.5 1
1951-09-09 @ Fola Esch W 2-142.6 1229 1062 45.52% 24.27% 30.21%+0.45 +4.5 4
1951-09-09 Progres Niedercorn L 1-442.1 1173 1194 49.59% 24.59% 25.82%+0.25 -16.5 2
1951-09-09 @ Racing FC Union Luxembourg W 4-142.1 1194 1173 25.82% 24.59% 49.59%-0.25 +16.5 4
1951-09-09 Jeunesse Esch W 4-138.6 1153 1264 37.71% 24.67% 37.62%-0.18 +13.2 2
1951-09-09 @ SC Tetange L 1-438.6 1264 1153 37.62% 24.67% 37.71%+0.18 -13.2 0
1951-09-16 Racing FC Union Luxembourg L 1-250.5 1197 1156 56.56% 24.02% 19.42%+0.55 -7.6 1
1951-09-16 @ Differdange 03 W 2-150.5 1156 1197 19.42% 24.02% 56.56%-0.55 +7.6 4
1951-09-16 Progres Niedercorn D 2-256.5 1251 1211 56.52% 24.03% 19.46%+0.55 -0.9 1
1951-09-16 @ Jeunesse Esch D 2-256.5 1211 1251 19.46% 24.03% 56.52%-0.55 +0.9 5
1951-09-16 SC Tetange D 0-048.8 1122 1166 46.89% 24.69% 28.42%+0.15 -0.6 3
1951-09-16 @ Racing Rodange D 0-048.8 1166 1122 28.42% 24.69% 46.89%-0.15 +0.6 3
1951-09-16 Fola Esch W 4-130.0 1204 1057 66.06% 22.19% 11.75%+1.06 +4.8 3
1951-09-16 @ Spora Luxembourg L 1-430.0 1057 1204 11.75% 22.19% 66.06%-1.06 -4.8 1
1951-09-16 FC Schifflange 95 L 0-144.0 1234 1288 45.41% 24.73% 29.86%+0.09 -6.6 4
1951-09-16 @ Stade Dudelange W 1-044.0 1288 1234 29.86% 24.73% 45.41%-0.09 +6.6 5
1951-09-23 Spora Luxembourg L 0-148.2 1295 1209 60.99% 23.35% 15.66%+0.77 -8.6 5
1951-09-23 @ FC Schifflange 95 W 1-048.2 1209 1295 15.66% 23.35% 60.99%-0.77 +8.7 5
1951-09-23 Differdange 03 L 1-243.8 1052 1189 34.18% 24.53% 41.28%-0.30 -5.0 1
1951-09-23 @ Fola Esch W 2-143.8 1189 1052 41.28% 24.53% 34.18%+0.30 +5.0 3
1951-09-23 Racing Rodange W 4-131.4 1212 1122 61.31% 23.29% 15.40%+0.79 +6.3 7
1951-09-23 @ Progres Niedercorn L 1-431.4 1122 1212 15.40% 23.29% 61.31%-0.79 -6.3 3
1951-09-23 Jeunesse Esch D 1-152.0 1164 1250 41.20% 24.74% 34.06%-0.06 -0.2 5
1951-09-23 @ Racing FC Union Luxembourg D 1-152.0 1250 1164 34.06% 24.74% 41.20%+0.06 +0.2 2
1951-09-23 Stade Dudelange L 0-143.4 1167 1227 44.70% 24.74% 30.56%+0.07 -6.5 3
1951-09-23 @ SC Tetange W 1-043.4 1227 1167 30.56% 24.74% 44.70%-0.07 +6.5 6
1951-09-30 FC Schifflange 95 L 1-342.5 1194 1286 40.37% 24.73% 34.90%-0.09 -9.8 3
1951-09-30 @ Differdange 03 W 3-142.5 1286 1194 34.90% 24.73% 40.37%+0.09 +9.8 7
1951-09-30 Racing FC Union Luxembourg W 5-137.2 1047 1163 37.02% 24.65% 38.33%-0.20 +17.2 3
1951-09-30 @ Fola Esch L 1-537.2 1163 1047 38.33% 24.65% 37.02%+0.20 -17.2 5
1951-09-30 Jeunesse Esch L 2-540.9 1116 1250 34.47% 24.55% 40.98%-0.29 -10.7 3
1951-09-30 @ Racing Rodange W 5-240.9 1250 1116 40.98% 24.55% 34.47%+0.29 +10.7 4
1951-09-30 SC Tetange W 1-035.1 1217 1160 58.25% 23.80% 17.95%+0.63 +3.1 7
1951-09-30 @ Spora Luxembourg L 0-135.1 1160 1217 17.95% 23.80% 58.25%-0.63 -3.1 3
1951-09-30 Progres Niedercorn D 1-152.3 1233 1218 53.88% 24.30% 21.82%+0.43 -1.0 7
1951-09-30 @ Stade Dudelange D 1-152.3 1218 1233 21.82% 24.30% 53.88%-0.43 +1.0 8
1951-10-07 Fola Esch W 4-128.3 1296 1064 72.00% 20.15% 7.85%+1.47 +3.2 9
1951-10-07 @ FC Schifflange 95 L 1-428.3 1064 1296 7.85% 20.15% 72.00%-1.47 -3.2 3
1951-10-07 Stade Dudelange W 3-136.4 1261 1232 55.30% 24.16% 20.54%+0.49 +5.8 6
1951-10-07 @ Jeunesse Esch L 1-336.4 1232 1261 20.54% 24.16% 55.30%-0.49 -5.8 7
1951-10-07 Spora Luxembourg L 1-442.9 1219 1221 51.97% 24.45% 23.58%+0.35 -17.2 8
1951-10-07 @ Progres Niedercorn W 4-142.9 1221 1219 23.58% 24.45% 51.97%-0.35 +17.2 9
1951-10-07 Racing Rodange W 4-346.8 1146 1105 56.64% 24.01% 19.35%+0.56 +2.9 7
1951-10-07 @ Racing FC Union Luxembourg L 3-446.8 1105 1146 19.35% 24.01% 56.64%-0.56 -2.9 3
1951-10-07 Differdange 03 D 0-048.8 1157 1184 48.90% 24.62% 26.47%+0.23 -0.8 4
1951-10-07 @ SC Tetange D 0-048.8 1184 1157 26.47% 24.62% 48.90%-0.23 +0.8 4
1951-10-14 Progres Niedercorn D 2-256.2 1185 1202 50.17% 24.56% 25.27%+0.28 -0.6 5
1951-10-14 @ Differdange 03 D 2-256.2 1202 1185 25.27% 24.56% 50.17%-0.28 +0.6 9
1951-10-14 Racing FC Union Luxembourg L 1-545.1 1299 1149 66.33% 22.12% 11.55%+1.08 -27.9 9
1951-10-14 @ FC Schifflange 95 W 5-145.1 1149 1299 11.55% 22.12% 66.33%-1.08 +27.9 9
1951-10-14 SC Tetange W 4-032.4 1061 1156 40.02% 24.72% 35.25%-0.10 +19.4 5
1951-10-14 @ Fola Esch L 0-432.4 1156 1061 35.25% 24.72% 40.02%+0.10 -19.4 4
1951-10-14 Jeunesse Esch D 0-049.1 1238 1267 48.70% 24.63% 26.67%+0.22 -0.8 10
1951-10-14 @ Spora Luxembourg D 0-049.1 1267 1238 26.67% 24.63% 48.70%-0.22 +0.8 7
1951-10-14 Racing Rodange W 1-033.2 1227 1102 64.30% 22.65% 13.05%+0.96 +2.3 9
1951-10-14 @ Stade Dudelange L 0-133.2 1102 1227 13.05% 22.65% 64.30%-0.96 -2.3 3
1951-10-21 Differdange 03 W 4-131.8 1267 1184 60.69% 23.41% 15.90%+0.76 +6.5 9
1951-10-21 @ Jeunesse Esch L 1-431.8 1184 1267 15.90% 23.41% 60.69%-0.76 -6.5 5
1951-10-21 Fola Esch L 1-252.3 1202 1081 64.06% 22.71% 13.23%+0.94 -8.5 9
1951-10-21 @ Progres Niedercorn W 2-152.3 1081 1202 13.23% 22.71% 64.06%-0.94 +8.5 7
1951-10-21 Stade Dudelange W 2-034.9 1177 1229 45.79% 24.72% 29.49%+0.11 +8.9 11
1951-10-21 @ Racing FC Union Luxembourg L 0-234.9 1229 1177 29.49% 24.72% 45.79%-0.11 -8.9 9
1951-10-21 Spora Luxembourg L 2-348.1 1100 1237 34.12% 24.53% 41.35%-0.30 -4.7 3
1951-10-21 @ Racing Rodange W 3-248.1 1237 1100 41.35% 24.53% 34.12%+0.30 +4.7 12
1951-10-21 FC Schifflange 95 D 1-152.1 1137 1272 34.44% 24.54% 41.01%-0.29 +0.2 5
1951-10-21 @ SC Tetange D 1-152.1 1272 1137 41.01% 24.54% 34.44%+0.29 -0.2 10
1951-10-28 Racing Rodange W 1-034.3 1178 1095 60.68% 23.41% 15.91%+0.76 +2.8 7
1951-10-28 @ Differdange 03 L 0-134.3 1095 1178 15.91% 23.41% 60.68%-0.76 -2.8 3
1951-10-28 Progres Niedercorn W 2-138.5 1271 1194 60.18% 23.50% 16.32%+0.73 +2.7 12
1951-10-28 @ FC Schifflange 95 L 1-238.5 1194 1271 16.32% 23.50% 60.18%-0.73 -2.7 9
1951-10-28 Jeunesse Esch W 2-147.9 1089 1274 28.12% 24.08% 47.81%-0.53 +6.5 9
1951-10-28 @ Fola Esch L 1-247.9 1274 1089 47.81% 24.08% 28.12%+0.53 -6.5 9
1951-10-28 Racing FC Union Luxembourg W 2-034.6 1137 1186 46.17% 24.71% 29.12%+0.12 +8.8 7
1951-10-28 @ SC Tetange L 0-234.6 1186 1137 29.12% 24.71% 46.17%-0.12 -8.8 11
1951-10-28 Stade Dudelange W 2-032.3 1242 1220 54.56% 24.24% 21.21%+0.46 +6.8 14
1951-10-28 @ Spora Luxembourg L 0-232.3 1220 1242 21.21% 24.24% 54.56%-0.46 -6.8 9
1951-11-18 Fola Esch W 4-129.5 1267 1096 67.93% 21.64% 10.44%+1.18 +4.3 11
1951-11-18 @ Jeunesse Esch L 1-429.5 1096 1267 10.44% 21.64% 67.93%-1.18 -4.3 9
1951-11-18 FC Schifflange 95 L 1-342.8 1191 1274 41.67% 24.74% 33.59%-0.04 -10.1 9
1951-11-18 @ Progres Niedercorn W 3-142.8 1274 1191 33.59% 24.74% 41.67%+0.04 +10.1 14
1951-11-18 SC Tetange W 2-139.6 1177 1146 55.60% 24.13% 20.27%+0.51 +3.3 13
1951-11-18 @ Racing FC Union Luxembourg L 1-239.6 1146 1177 20.27% 24.13% 55.60%-0.51 -3.3 7
1951-11-18 Differdange 03 D 1-151.9 1092 1181 40.90% 24.74% 34.36%-0.07 -0.2 4
1951-11-18 @ Racing Rodange D 1-151.9 1181 1092 34.36% 24.74% 40.90%+0.07 +0.2 8
1951-11-18 Spora Luxembourg W 3-138.5 1213 1249 47.92% 24.66% 27.42%+0.19 +7.3 11
1951-11-18 @ Stade Dudelange L 1-338.5 1249 1213 27.42% 24.66% 47.92%-0.19 -7.3 14
1951-12-09 Stade Dudelange L 0-144.2 1181 1221 47.37% 24.68% 27.95%+0.17 -6.9 8
1951-12-09 @ Differdange 03 W 1-044.2 1221 1181 27.95% 24.68% 47.37%-0.17 +6.9 13
1951-12-09 Jeunesse Esch W 2-140.8 1284 1272 53.55% 24.33% 22.12%+0.42 +3.5 16
1951-12-09 @ FC Schifflange 95 L 1-240.8 1272 1284 22.12% 24.33% 53.55%-0.42 -3.5 11
1951-12-09 Progres Niedercorn W 2-142.0 1142 1181 47.50% 24.68% 27.83%+0.17 +4.3 9
1951-12-09 @ SC Tetange L 1-242.0 1181 1142 27.83% 24.68% 47.50%-0.17 -4.3 9
1951-12-09 Racing FC Union Luxembourg W 1-035.1 1241 1180 58.59% 23.75% 17.66%+0.65 +3.1 16
1951-12-09 @ Spora Luxembourg L 0-135.1 1180 1241 17.66% 23.75% 58.59%-0.65 -3.1 13
1951-12-16 SC Tetange W 3-133.6 1268 1147 64.04% 22.71% 13.25%+0.94 +3.9 13
1951-12-16 @ Jeunesse Esch L 1-333.6 1147 1268 13.25% 22.71% 64.04%-0.94 -3.9 9
1951-12-16 FC Schifflange 95 L 0-732.0 1092 1288 26.83% 23.94% 49.23%-0.58 -26.4 4
1951-12-16 @ Racing Rodange W 7-032.0 1288 1092 49.23% 23.94% 26.83%+0.58 +26.4 18
1951-12-16 Differdange 03 L 1-347.7 1244 1174 59.50% 23.61% 16.89%+0.70 -13.8 16
1951-12-16 @ Spora Luxembourg W 3-147.7 1174 1244 16.89% 23.61% 59.50%-0.70 +13.8 10
1952-01-13 Stade Dudelange D 3-360.9 1314 1227 61.02% 23.35% 15.63%+0.77 -0.9 19
1952-01-13 @ FC Schifflange 95 D 3-360.9 1227 1314 15.63% 23.35% 61.02%-0.77 +0.9 14
1952-01-13 Spora Luxembourg W 1-042.3 1091 1231 33.88% 24.52% 41.61%-0.31 +6.2 11
1952-01-13 @ Fola Esch L 0-142.3 1231 1091 41.61% 24.52% 33.88%+0.31 -6.2 16
1952-01-13 Jeunesse Esch W 1-040.7 1177 1272 39.97% 24.72% 35.30%-0.10 +5.4 11
1952-01-13 @ Progres Niedercorn L 0-140.7 1272 1177 35.30% 24.72% 39.97%+0.10 -5.4 13
1952-01-13 Differdange 03 L 3-647.8 1177 1188 50.92% 24.52% 24.56%+0.31 -13.6 13
1952-01-13 @ Racing FC Union Luxembourg W 6-347.8 1188 1177 24.56% 24.52% 50.92%-0.31 +13.6 12
1952-01-13 Racing Rodange D 2-256.4 1143 1066 60.16% 23.50% 16.34%+0.73 -1.1 10
1952-01-13 @ SC Tetange D 2-256.4 1066 1143 16.34% 23.50% 60.16%-0.73 +1.1 5
1952-01-20 Racing Rodange W 7-335.7 1098 1067 55.55% 24.14% 20.32%+0.51 +8.1 13
1952-01-20 @ Fola Esch L 3-735.7 1067 1098 20.32% 24.14% 55.55%-0.51 -8.1 5
1952-01-20 Racing FC Union Luxembourg W 3-244.3 1182 1164 54.22% 24.27% 21.51%+0.45 +3.3 13
1952-01-20 @ Progres Niedercorn L 2-344.3 1164 1182 21.51% 24.27% 54.22%-0.45 -3.3 13
1952-01-27 Racing FC Union Luxembourg W 5-234.5 1267 1160 62.74% 23.00% 14.25%+0.87 +5.1 15
1952-01-27 @ Jeunesse Esch L 2-534.5 1160 1267 14.25% 23.00% 62.74%-0.87 -5.1 13
1952-01-27 Progres Niedercorn D 3-360.0 1059 1186 35.54% 24.59% 39.87%-0.25 +0.1 6
1952-01-27 @ Racing Rodange D 3-360.0 1186 1059 39.87% 24.59% 35.54%+0.25 -0.1 14
1952-01-27 FC Schifflange 95 W 3-248.7 1224 1313 40.86% 24.74% 34.40%-0.07 +4.8 18
1952-01-27 @ Spora Luxembourg L 2-348.7 1313 1224 34.40% 24.74% 40.86%+0.07 -4.8 19
1952-01-27 SC Tetange D 2-256.6 1228 1142 61.02% 23.35% 15.63%+0.77 -1.1 15
1952-01-27 @ Stade Dudelange D 2-256.6 1142 1228 15.63% 23.35% 61.02%-0.77 +1.1 11
1952-02-03 Fola Esch W 3-026.4 1227 1106 64.05% 22.71% 13.24%+0.94 +6.5 17
1952-02-03 @ Stade Dudelange L 0-326.4 1106 1227 13.24% 22.71% 64.05%-0.94 -6.5 13
1952-02-17 Fola Esch W 2-137.5 1201 1099 62.41% 23.08% 14.52%+0.85 +2.4 14
1952-02-17 @ Differdange 03 L 1-237.5 1099 1201 14.52% 23.08% 62.41%-0.85 -2.4 13
1952-02-24 Differdange 03 W 2-137.9 1308 1204 62.61% 23.03% 14.36%+0.86 +2.4 21
1952-02-24 @ FC Schifflange 95 L 1-237.9 1204 1308 14.36% 23.03% 62.61%-0.86 -2.4 14
1952-02-24 Racing Rodange L 1-253.7 1272 1059 70.78% 20.64% 8.58%+1.38 -9.3 15
1952-02-24 @ Jeunesse Esch W 2-153.7 1059 1272 8.58% 20.64% 70.78%-1.38 +9.3 8
1952-02-24 Stade Dudelange W 3-031.8 1185 1234 46.27% 24.71% 29.02%+0.13 +12.8 16
1952-02-24 @ Progres Niedercorn L 0-331.8 1234 1185 29.02% 24.71% 46.27%-0.13 -12.8 17
1952-02-24 Fola Esch L 2-355.1 1155 1097 58.38% 23.78% 17.84%+0.64 -7.4 13
1952-02-24 @ Racing FC Union Luxembourg W 3-255.1 1097 1155 17.84% 23.78% 58.38%-0.64 +7.4 15
1952-02-24 Spora Luxembourg W 3-248.2 1143 1229 41.22% 24.74% 34.04%-0.06 +4.7 13
1952-02-24 @ SC Tetange L 2-348.2 1229 1143 34.04% 24.74% 41.22%+0.06 -4.7 18
1952-03-02 SC Tetange W 1-035.2 1201 1148 57.90% 23.85% 18.25%+0.62 +3.2 16
1952-03-02 @ Differdange 03 L 0-135.2 1148 1201 18.25% 23.85% 57.90%-0.62 -3.2 13
1952-03-02 FC Schifflange 95 W 1-044.9 1104 1311 25.61% 23.79% 50.60%-0.64 +7.2 17
1952-03-02 @ Fola Esch L 0-144.9 1311 1104 50.60% 23.79% 25.61%+0.64 -7.2 21
1952-03-02 Racing FC Union Luxembourg L 2-350.5 1068 1148 42.08% 24.75% 33.18%-0.03 -5.6 8
1952-03-02 @ Racing Rodange W 3-250.5 1148 1068 33.18% 24.75% 42.08%+0.03 +5.6 15
1952-03-02 Progres Niedercorn W 3-136.3 1224 1198 55.04% 24.19% 20.77%+0.48 +5.8 20
1952-03-02 @ Spora Luxembourg L 1-336.3 1198 1224 20.77% 24.19% 55.04%-0.48 -5.8 16
1952-03-02 Jeunesse Esch W 1-038.6 1221 1262 47.14% 24.69% 28.18%+0.16 +4.6 19
1952-03-02 @ Stade Dudelange L 0-138.6 1262 1221 28.18% 24.69% 47.14%-0.16 -4.6 15
1952-03-09 Spora Luxembourg D 2-256.6 1258 1230 55.20% 24.17% 20.63%+0.49 -0.8 16
1952-03-09 @ Jeunesse Esch D 2-256.6 1230 1258 20.63% 24.17% 55.20%-0.49 +0.8 21
1952-03-09 Differdange 03 D 2-256.2 1192 1205 50.73% 24.53% 24.74%+0.30 -0.6 17
1952-03-09 @ Progres Niedercorn D 2-256.2 1205 1192 24.74% 24.53% 50.73%-0.30 +0.6 17
1952-03-09 FC Schifflange 95 L 0-139.8 1154 1304 32.44% 24.43% 43.13%-0.36 -5.1 15
1952-03-09 @ Racing FC Union Luxembourg W 1-039.8 1304 1154 43.13% 24.43% 32.44%+0.36 +5.1 23
1952-03-09 Stade Dudelange L 0-139.0 1062 1225 30.77% 24.31% 44.92%-0.43 -4.9 8
1952-03-09 @ Racing Rodange W 1-039.0 1225 1062 44.92% 24.31% 30.77%+0.43 +4.9 21
1952-03-09 Fola Esch W 7-439.4 1144 1111 55.78% 24.11% 20.11%+0.52 +6.1 15
1952-03-09 @ SC Tetange L 4-739.4 1111 1144 20.11% 24.11% 55.78%-0.52 -6.1 17
1952-03-30 Jeunesse Esch D 0-049.0 1205 1257 45.82% 24.72% 29.46%+0.11 -0.6 18
1952-03-30 @ Differdange 03 D 0-049.0 1257 1205 29.46% 24.72% 45.82%-0.11 +0.6 17
1952-03-30 SC Tetange D 3-361.1 1309 1151 66.92% 21.95% 11.13%+1.12 -1.2 24
1952-03-30 @ FC Schifflange 95 D 3-361.1 1151 1309 11.13% 21.95% 66.92%-1.12 +1.2 16
1952-03-30 Progres Niedercorn D 3-360.0 1105 1192 41.17% 24.74% 34.09%-0.06 -0.1 18
1952-03-30 @ Fola Esch D 3-360.0 1192 1105 34.09% 24.74% 41.17%+0.06 +0.1 18
1952-03-30 Racing Rodange W 1-032.1 1231 1058 68.05% 21.60% 10.35%+1.19 +1.9 23
1952-03-30 @ Spora Luxembourg L 0-132.1 1058 1231 10.35% 21.60% 68.05%-1.19 -1.9 8
1952-04-20 Racing FC Union Luxembourg L 2-355.8 1230 1148 60.58% 23.43% 15.99%+0.75 -7.7 21
1952-04-20 @ Stade Dudelange W 3-255.8 1148 1230 15.99% 23.43% 60.58%-0.75 +7.7 17

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 1952-02-24 8.58% Racing Rodange 1059 2 @ Jeunesse Esch 1272 1
2 1951-10-14 11.55% Racing FC Union Luxembourg 1149 5 @ FC Schifflange 95 1299 1
3 1951-10-21 13.23% Fola Esch 1081 2 @ Progres Niedercorn 1202 1
4 1951-09-23 15.66% Spora Luxembourg 1209 1 @ FC Schifflange 95 1295 0
5 1952-04-20 15.99% Racing FC Union Luxembourg 1148 3 @ Stade Dudelange 1230 2
6 1951-12-16 16.89% Differdange 03 1174 3 @ Spora Luxembourg 1244 1
7 1952-02-24 17.84% Fola Esch 1097 3 @ Racing FC Union Luxembourg 1155 2
8 1951-09-16 19.42% Racing FC Union Luxembourg 1156 2 @ Differdange 03 1197 1
9 1951-10-07 23.58% Spora Luxembourg 1221 4 @ Progres Niedercorn 1219 1
10 1952-01-13 24.56% Differdange 03 1188 6 @ Racing FC Union Luxembourg 1177 3
11 1951-09-02 24.87% FC Schifflange 95 1284 3 @ Jeunesse Esch 1271 2
12 1952-03-02 25.61% @ Fola Esch 1104 1 FC Schifflange 95 1311 0
13 1951-09-09 25.82% Progres Niedercorn 1194 4 @ Racing FC Union Luxembourg 1173 1
14 1951-12-09 27.95% Stade Dudelange 1221 1 @ Differdange 03 1181 0
15 1951-10-28 28.12% @ Fola Esch 1089 2 Jeunesse Esch 1274 1
16 1951-09-16 29.86% FC Schifflange 95 1288 1 @ Stade Dudelange 1234 0
17 1951-09-23 30.56% Stade Dudelange 1227 1 @ SC Tetange 1167 0
18 1952-03-02 33.18% Racing FC Union Luxembourg 1148 3 @ Racing Rodange 1068 2
19 1951-11-18 33.59% FC Schifflange 95 1274 3 @ Progres Niedercorn 1191 1
20 1952-01-13 33.88% @ Fola Esch 1091 1 Spora Luxembourg 1231 0
21 1951-09-30 34.90% FC Schifflange 95 1286 3 @ Differdange 03 1194 1
22 1951-09-30 37.02% @ Fola Esch 1047 5 Racing FC Union Luxembourg 1163 1

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 1951-10-14 27.87 Racing FC Union Luxembourg 5 1149 11.55% @ FC Schifflange 95 1 1299 66.33% 22.12%
2 1951-12-16 26.38 FC Schifflange 95 7 1288 49.23% @ Racing Rodange 0 1092 26.83% 23.94%
3 1951-10-14 19.44 @ Fola Esch 4 1061 40.02% SC Tetange 0 1156 35.25% 24.72%
4 1951-09-30 17.24 @ Fola Esch 5 1047 37.02% Racing FC Union Luxembourg 1 1163 38.33% 24.65%
5 1951-10-07 17.23 Spora Luxembourg 4 1221 23.58% @ Progres Niedercorn 1 1219 51.97% 24.45%
6 1951-09-09 16.52 Progres Niedercorn 4 1194 25.82% @ Racing FC Union Luxembourg 1 1173 49.59% 24.59%
7 1951-12-16 13.80 Differdange 03 3 1174 16.89% @ Spora Luxembourg 1 1244 59.50% 23.61%
8 1952-01-13 13.56 Differdange 03 6 1188 24.56% @ Racing FC Union Luxembourg 3 1177 50.92% 24.52%
9 1951-09-09 13.17 @ SC Tetange 4 1153 37.71% Jeunesse Esch 1 1264 37.62% 24.67%
10 1952-02-24 12.81 @ Progres Niedercorn 3 1185 46.27% Stade Dudelange 0 1234 29.02% 24.71%
11 1951-09-30 10.66 Jeunesse Esch 5 1250 40.98% @ Racing Rodange 2 1116 34.47% 24.55%
12 1951-11-18 10.09 FC Schifflange 95 3 1274 33.59% @ Progres Niedercorn 1 1191 41.67% 24.74%
13 1951-09-30 9.84 FC Schifflange 95 3 1286 34.90% @ Differdange 03 1 1194 40.37% 24.73%
14 1952-02-24 9.32 Racing Rodange 2 1059 8.58% @ Jeunesse Esch 1 1272 70.78% 20.64%
15 1951-10-21 8.93 @ Racing FC Union Luxembourg 2 1177 45.79% Stade Dudelange 0 1229 29.49% 24.72%
16 1951-10-28 8.84 @ SC Tetange 2 1137 46.17% Racing FC Union Luxembourg 0 1186 29.12% 24.71%
17 1951-09-23 8.65 Spora Luxembourg 1 1209 15.66% @ FC Schifflange 95 0 1295 60.99% 23.35%
18 1951-10-21 8.53 Fola Esch 2 1081 13.23% @ Progres Niedercorn 1 1202 64.06% 22.71%
19 1951-09-02 8.22 @ Racing FC Union Luxembourg 7 1164 46.43% Spora Luxembourg 4 1211 28.87% 24.71%
20 1952-01-20 8.06 @ Fola Esch 7 1098 55.55% Racing Rodange 3 1067 20.32% 24.14%
21 1952-04-20 7.69 Racing FC Union Luxembourg 3 1148 15.99% @ Stade Dudelange 2 1230 60.58% 23.43%
22 1951-09-16 7.60 Racing FC Union Luxembourg 2 1156 19.42% @ Differdange 03 1 1197 56.56% 24.02%
23 1952-02-24 7.42 Fola Esch 3 1097 17.84% @ Racing FC Union Luxembourg 2 1155 58.38% 23.78%
24 1951-11-18 7.30 @ Stade Dudelange 3 1213 47.92% Spora Luxembourg 1 1249 27.42% 24.66%
25 1952-03-02 7.23 @ Fola Esch 1 1104 25.61% FC Schifflange 95 0 1311 50.60% 23.79%

Most & Least Exciting Games

The season’s games ranked by excitement rating (0–100) — a blend of closeness, upset, team quality, and scoring. An asterisk (*) after the date indicates a playoff game.

# Date Excitement Winning Team Losing Team Tie %
Team Score Elo Win % Team Score Elo Win %
1 1952-03-30 61.1 @ FC Schifflange 95 3 1309 66.92% SC Tetange 3 1151 11.13% 21.95%
2 1952-01-13 60.9 @ FC Schifflange 95 3 1314 61.02% Stade Dudelange 3 1227 15.63% 23.35%
3 1952-01-27 60.0 @ Racing Rodange 3 1059 35.54% Progres Niedercorn 3 1186 39.87% 24.59%
4 1952-03-30 60.0 @ Fola Esch 3 1105 41.17% Progres Niedercorn 3 1192 34.09% 24.74%
5 1952-01-27 56.6 @ Stade Dudelange 2 1228 61.02% SC Tetange 2 1142 15.63% 23.35%
6 1952-03-09 56.6 @ Jeunesse Esch 2 1258 55.20% Spora Luxembourg 2 1230 20.63% 24.17%
7 1951-09-16 56.5 @ Jeunesse Esch 2 1251 56.52% Progres Niedercorn 2 1211 19.46% 24.03%
8 1952-01-13 56.4 @ SC Tetange 2 1143 60.16% Racing Rodange 2 1066 16.34% 23.50%
9 1951-09-09 56.3 @ Differdange 03 2 1197 51.45% Spora Luxembourg 2 1203 24.06% 24.49%
10 1951-10-14 56.2 @ Differdange 03 2 1185 50.17% Progres Niedercorn 2 1202 25.27% 24.56%
11 1952-03-09 56.2 @ Progres Niedercorn 2 1192 50.73% Differdange 03 2 1205 24.74% 24.53%
12 1952-04-20 55.8 Racing FC Union Luxembourg 3 1148 15.99% @ Stade Dudelange 2 1230 60.58% 23.43%
13 1952-02-24 55.1 Fola Esch 3 1097 17.84% @ Racing FC Union Luxembourg 2 1155 58.38% 23.78%
14 1952-02-24 53.7 Racing Rodange 2 1059 8.58% @ Jeunesse Esch 1 1272 70.78% 20.64%
15 1951-09-02 53.6 FC Schifflange 95 3 1284 24.87% @ Jeunesse Esch 2 1271 50.60% 24.54%
16 1951-09-09 53.0 @ FC Schifflange 95 1 1290 67.79% Racing Rodange 1 1121 10.53% 21.68%
17 1951-09-30 52.3 @ Stade Dudelange 1 1233 53.88% Progres Niedercorn 1 1218 21.82% 24.30%
18 1951-10-21 52.3 Fola Esch 2 1081 13.23% @ Progres Niedercorn 1 1202 64.06% 22.71%
19 1951-09-02 52.1 @ Racing Rodange 1 1122 58.67% Fola Esch 1 1060 17.59% 23.74%
20 1951-10-21 52.1 @ SC Tetange 1 1137 34.44% FC Schifflange 95 1 1272 41.01% 24.54%
21 1951-09-23 52.0 @ Racing FC Union Luxembourg 1 1164 41.20% Jeunesse Esch 1 1250 34.06% 24.74%
22 1951-11-18 51.9 @ Racing Rodange 1 1092 40.90% Differdange 03 1 1181 34.36% 24.74%
23 1951-09-16 50.5 Racing FC Union Luxembourg 2 1156 19.42% @ Differdange 03 1 1197 56.56% 24.02%
24 1952-03-02 50.5 Racing FC Union Luxembourg 3 1148 33.18% @ Racing Rodange 2 1068 42.08% 24.75%
25 1951-10-14 49.1 @ Spora Luxembourg 0 1238 48.70% Jeunesse Esch 0 1267 26.67% 24.63%
# Date Excitement Winning Team Losing Team Tie %
Team Score Elo Win % Team Score Elo Win %
1 1952-02-03 26.4 @ Stade Dudelange 3 1227 64.05% Fola Esch 0 1106 13.24% 22.71%
2 1951-10-07 28.3 @ FC Schifflange 95 4 1296 72.00% Fola Esch 1 1064 7.85% 20.15%
3 1951-11-18 29.5 @ Jeunesse Esch 4 1267 67.93% Fola Esch 1 1096 10.44% 21.64%
4 1951-09-16 30.0 @ Spora Luxembourg 4 1204 66.06% Fola Esch 1 1057 11.75% 22.19%
5 1951-09-23 31.4 @ Progres Niedercorn 4 1212 61.31% Racing Rodange 1 1122 15.40% 23.29%
6 1951-10-21 31.8 @ Jeunesse Esch 4 1267 60.69% Differdange 03 1 1184 15.90% 23.41%
7 1952-02-24 31.8 @ Progres Niedercorn 3 1185 46.27% Stade Dudelange 0 1234 29.02% 24.71%
8 1951-12-16 32.0 FC Schifflange 95 7 1288 49.23% @ Racing Rodange 0 1092 26.83% 23.94%
9 1952-03-30 32.1 @ Spora Luxembourg 1 1231 68.05% Racing Rodange 0 1058 10.35% 21.60%
10 1951-10-28 32.3 @ Spora Luxembourg 2 1242 54.56% Stade Dudelange 0 1220 21.21% 24.24%
11 1951-09-02 32.4 @ Stade Dudelange 2 1222 54.15% Differdange 03 0 1204 21.57% 24.28%
12 1951-10-14 32.4 @ Fola Esch 4 1061 40.02% SC Tetange 0 1156 35.25% 24.72%
13 1951-10-14 33.2 @ Stade Dudelange 1 1227 64.30% Racing Rodange 0 1102 13.05% 22.65%
14 1951-12-16 33.6 @ Jeunesse Esch 3 1268 64.04% SC Tetange 1 1147 13.25% 22.71%
15 1951-10-28 34.3 @ Differdange 03 1 1178 60.68% Racing Rodange 0 1095 15.91% 23.41%
16 1952-01-27 34.5 @ Jeunesse Esch 5 1267 62.74% Racing FC Union Luxembourg 2 1160 14.25% 23.00%
17 1951-10-28 34.6 @ SC Tetange 2 1137 46.17% Racing FC Union Luxembourg 0 1186 29.12% 24.71%
18 1951-10-21 34.9 @ Racing FC Union Luxembourg 2 1177 45.79% Stade Dudelange 0 1229 29.49% 24.72%
19 1951-09-30 35.1 @ Spora Luxembourg 1 1217 58.25% SC Tetange 0 1160 17.95% 23.80%
20 1951-12-09 35.1 @ Spora Luxembourg 1 1241 58.59% Racing FC Union Luxembourg 0 1180 17.66% 23.75%
21 1952-03-02 35.2 @ Differdange 03 1 1201 57.90% SC Tetange 0 1148 18.25% 23.85%
22 1952-01-20 35.7 @ Fola Esch 7 1098 55.55% Racing Rodange 3 1067 20.32% 24.14%
23 1951-09-02 36.0 @ Progres Niedercorn 3 1189 55.47% SC Tetange 1 1158 20.39% 24.15%
24 1952-03-02 36.3 @ Spora Luxembourg 3 1224 55.04% Progres Niedercorn 1 1198 20.77% 24.19%
25 1951-10-07 36.4 @ Jeunesse Esch 3 1261 55.30% Stade Dudelange 1 1232 20.54% 24.16%