›

1945-46 Luxembourg National Division Season

90 games

Final

Champion

Stade Dudelange

32 points

Relegated

No relegation

Biggest Overachiever

Stade Dudelange

8.01 points above expected

32 points · 23.99 expected points

Biggest Disappointment

CS Petange

7.70 points below expected

9 points · 16.70 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 Stade Dudelange 18 15 2 1 32 62 15 +47 23.99 +8.01
2 US Dudelange 18 11 2 5 24 53 32 +21 22.04 +1.96
3 Progres Niedercorn 18 9 3 6 21 45 41 +4 17.15 +3.85
4 Differdange 03 18 10 0 8 20 36 28 +8 19.96 +0.04
5 Spora Luxembourg 18 8 2 8 18 28 41 -13 16.06 +1.94
6 Chiers Rodange 18 6 3 9 15 23 32 -9 17.43 -2.43
7 FC Schifflange 95 18 6 3 9 15 35 53 -18 15.71 -0.71
8 Racing FC Union Luxembourg 18 5 3 10 13 34 32 +2 16.17 -3.17
9 Fola Esch 18 5 3 10 13 26 44 -18 14.79 -1.79
10 CS Petange 18 3 3 12 9 26 50 -24 16.70 -7.70

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 Stade Dudelange 32 23.99 +8.01
2 Progres Niedercorn 21 17.15 +3.85
3 US Dudelange 24 22.04 +1.96
4 Spora Luxembourg 18 16.06 +1.94
5 Differdange 03 20 19.96 +0.04

Biggest Disappointments

# Team Actual Sim vsSim
1 CS Petange 9 16.70 -7.70
2 Racing FC Union Luxembourg 13 16.17 -3.17
3 Chiers Rodange 15 17.43 -2.43
4 Fola Esch 13 14.79 -1.79
5 FC Schifflange 95 15 15.71 -0.71

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 Stade Dudelange 9 Aug 26 – Nov 4 1 in 458
2 Fola Esch 3 Dec 23 – Jan 27 1 in 27
3 Chiers Rodange 3 Nov 18 – Dec 16 1 in 15
4 US Dudelange 3 Sep 30 – Oct 21 1 in 14
5 Progres Niedercorn 4 Dec 9 – Jan 27 1 in 14

Most Unlikely Losing Streaks

# Team Games Dates Probability
1 CS Petange 8 Nov 18 – Jan 27 1 in 231
2 Differdange 03 3 Dec 16 – Jan 6 1 in 59
3 Fola Esch 5 Sep 16 – Oct 21 1 in 29
4 Racing FC Union Luxembourg 4 Oct 14 – Nov 11 1 in 28
5 Spora Luxembourg 3 Oct 21 – Nov 11 1 in 10

Most Unlikely Unbeaten Streaks

# Team Games Dates Probability
1 Spora Luxembourg 5 Dec 23 – Mar 24 1 in 64
2 Stade Dudelange 9 Aug 26 – Nov 4 1 in 45
3 Racing FC Union Luxembourg 3 Jan 27 – Mar 24 1 in 16
4 Fola Esch 3 Dec 23 – Jan 27 1 in 8
5 Chiers Rodange 4 Nov 18 – Dec 23 1 in 8

Most Unlikely Winless Streaks

# Team Games Dates Probability
1 CS Petange 10 Nov 18 – Mar 24 1 in 60
2 Fola Esch 7 Aug 26 – Oct 21 1 in 28
3 Differdange 03 3 Dec 16 – Jan 6 1 in 14
4 Chiers Rodange 5 Sep 9 – Oct 14 1 in 14
5 Racing FC Union Luxembourg 4 Oct 14 – Nov 11 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
Stade Dudelange 1586 32 +24 8 7.6 +0.4
US Dudelange 1434 24 -14 6 6.8 -0.8
Progres Niedercorn 1379 21 +33 6 5.5 +0.5
Differdange 03 1373 20 -19 6 6.1 -0.1
Spora Luxembourg 1311 18 +66 8 3.7 +4.3
FC Schifflange 95 1271 15 -40 3 4.0 -1.0
Chiers Rodange 1289 15 -59 2 5.0 -3.0
Fola Esch 1279 13 +60 7 4.2 +2.8
Racing FC Union Luxembourg 1367 13 +31 5 4.1 +0.9
CS Petange 1208 9 -42 1 3.5 -2.5

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 CP CR D0 FS9 FE PN RFUL SL SD UD
CS Petange —
0-1-1
2.76
0-0-2
2.12
0-1-1
2.62
1-0-1
3.32
0-0-2
2.67
1-0-1
3.02
0-0-2
2.93
1-0-1
1.32
0-1-1
2.18
Chiers Rodange
1-1-0
2.96
—
1-0-1
2.59
2-0-0
2.90
1-0-1
3.17
0-0-2
2.53
0-1-1
2.90
1-1-0
2.84
0-0-2
2.39
0-0-2
2.04
Differdange 03
2-0-0
3.60
1-0-1
3.13
—
2-0-0
3.31
1-0-1
3.75
1-0-1
3.04
2-0-0
3.04
1-0-1
3.43
0-0-2
2.54
0-0-2
2.83
FC Schifflange 95
1-1-0
3.09
0-0-2
2.82
0-0-2
2.41
—
2-0-0
2.69
0-1-1
2.59
2-0-0
2.53
1-0-1
2.72
0-0-2
1.38
0-1-1
1.90
Fola Esch
1-0-1
2.40
1-0-1
2.55
1-0-1
1.97
0-0-2
3.03
—
0-2-0
2.65
1-1-0
2.35
0-0-2
2.81
0-0-2
1.84
1-0-1
1.65
Progres Niedercorn
2-0-0
3.05
2-0-0
3.19
1-0-1
2.68
1-1-0
3.13
0-2-0
3.06
—
2-0-0
2.80
1-0-1
2.94
0-0-2
1.75
0-0-2
2.62
Racing FC Union Luxembourg
1-0-1
2.70
1-1-0
2.82
0-0-2
2.68
0-0-2
3.19
0-1-1
3.37
0-0-2
2.92
—
2-0-0
2.78
0-1-1
1.48
1-0-1
2.06
Spora Luxembourg
2-0-0
2.79
0-1-1
2.88
1-0-1
2.29
1-0-1
3.00
2-0-0
2.91
1-0-1
2.78
0-0-2
2.94
—
0-1-1
1.41
1-0-1
1.98
Stade Dudelange
1-0-1
4.41
2-0-0
3.33
2-0-0
3.18
2-0-0
4.34
2-0-0
3.88
2-0-0
3.97
1-1-0
4.25
1-1-0
4.31
—
2-0-0
2.89
US Dudelange
1-1-0
3.54
2-0-0
3.68
2-0-0
2.89
1-1-0
3.82
1-0-1
4.07
2-0-0
3.09
1-0-1
3.66
1-0-1
3.74
0-0-2
2.82
—

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.81 +4.6
Allowed 0.56 -4.4
Differential 0.85 +2.8

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
01.11%3.89%2.22%4.44%2.78%1.67%16.11%
13.89%4.44%7.22%6.11%3.89%4.44%30.00%
22.22%7.22%6.67%2.78%1.11%1.11%21.11%
34.44%6.11%2.78%1.11%0.56%0.56%15.56%
42.78%3.89%1.11%0.56%—0.56%8.89%
5+1.67%4.44%1.11%0.56%0.56%—8.33%
Total16.11%30.00%21.11%15.56%8.89%8.33%100%

Summary Statistics

Scored Allowed Difference
Mean 2.04 2.04 +0.00
SD 1.71 1.71 2.78
CV 0.83 0.83 —
Max 8 8 +8
Min 0 0 -8

Games Played: 90

↓ Scored | Allowed →012345+Total
0—5.56%————5.56%
15.56%5.56%11.11%22.22%5.56%11.11%61.11%
2—5.56%5.56%11.11%——22.22%
3———5.56%——5.56%
4———5.56%——5.56%
5+———————
Total5.56%16.67%16.67%44.44%5.56%11.11%100%

Summary Statistics

Scored Allowed Difference
Mean 1.44 2.78 -1.33
SD 0.92 1.77 1.97
CV 0.64 0.64 —
Max 4 8 +1
Min 0 0 -7

Games Played: 18

↓ Scored | Allowed →012345+Total
0—11.11%—5.56%11.11%—27.78%
1—11.11%11.11%—11.11%—33.33%
25.56%11.11%5.56%———22.22%
311.11%5.56%————16.67%
4———————
5+———————
Total16.67%38.89%16.67%5.56%22.22%—100%

Summary Statistics

Scored Allowed Difference
Mean 1.28 1.78 -0.50
SD 1.07 1.44 2.26
CV 0.84 0.81 —
Max 3 4 +3
Min 0 0 -4

Games Played: 18

↓ Scored | Allowed →012345+Total
0—5.56%5.56%16.67%——27.78%
15.56%—11.11%5.56%——22.22%
2———————
35.56%11.11%11.11%———27.78%
411.11%5.56%————16.67%
5+——5.56%———5.56%
Total22.22%22.22%33.33%22.22%——100%

Summary Statistics

Scored Allowed Difference
Mean 2.00 1.56 +0.44
SD 1.71 1.10 2.48
CV 0.86 0.70 —
Max 5 3 +4
Min 0 0 -3

Games Played: 18

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

Summary Statistics

Scored Allowed Difference
Mean 1.94 2.94 -1.00
SD 1.39 2.04 2.89
CV 0.72 0.69 —
Max 4 8 +3
Min 0 0 -8

Games Played: 18

↓ Scored | Allowed →012345+Total
0——5.56%5.56%—5.56%16.67%
15.56%5.56%5.56%16.67%—5.56%38.89%
211.11%5.56%11.11%5.56%——33.33%
3————5.56%—5.56%
4—5.56%————5.56%
5+———————
Total16.67%16.67%22.22%27.78%5.56%11.11%100%

Summary Statistics

Scored Allowed Difference
Mean 1.44 2.44 -1.00
SD 1.04 2.04 2.59
CV 0.72 0.83 —
Max 4 7 +3
Min 0 0 -7

Games Played: 18

↓ Scored | Allowed →012345+Total
0————5.56%—5.56%
111.11%——11.11%—5.56%27.78%
2—5.56%16.67%——5.56%27.78%
35.56%11.11%———5.56%22.22%
45.56%—————5.56%
5+—5.56%——5.56%—11.11%
Total22.22%22.22%16.67%11.11%11.11%16.67%100%

Summary Statistics

Scored Allowed Difference
Mean 2.50 2.28 +0.22
SD 1.95 2.05 3.00
CV 0.78 0.90 —
Max 8 7 +7
Min 0 0 -4

Games Played: 18

↓ Scored | Allowed →012345+Total
0—16.67%—5.56%——22.22%
1—11.11%16.67%—5.56%—33.33%
2——5.56%11.11%——16.67%
3———————
4—11.11%5.56%———16.67%
5+—11.11%————11.11%
Total—50.00%27.78%16.67%5.56%—100%

Summary Statistics

Scored Allowed Difference
Mean 1.89 1.78 +0.11
SD 1.75 0.94 2.17
CV 0.92 0.53 —
Max 5 4 +4
Min 0 1 -3

Games Played: 18

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

Summary Statistics

Scored Allowed Difference
Mean 1.56 2.28 -0.72
SD 1.10 2.02 2.70
CV 0.70 0.89 —
Max 4 7 +3
Min 0 0 -7

Games Played: 18

↓ Scored | Allowed →012345+Total
05.56%—————5.56%
111.11%—5.56%———16.67%
2—11.11%5.56%———16.67%
35.56%5.56%————11.11%
45.56%5.56%————11.11%
5+5.56%27.78%5.56%———38.89%
Total33.33%50.00%16.67%———100%

Summary Statistics

Scored Allowed Difference
Mean 3.44 0.83 +2.61
SD 2.09 0.71 2.15
CV 0.61 0.85 —
Max 7 2 +7
Min 0 0 -1

Games Played: 18

↓ Scored | Allowed →012345+Total
0——5.56%—5.56%—11.11%
1—5.56%——5.56%5.56%16.67%
2—11.11%5.56%—5.56%—22.22%
35.56%11.11%5.56%———22.22%
45.56%5.56%————11.11%
5+11.11%——5.56%——16.67%
Total22.22%33.33%16.67%5.56%16.67%5.56%100%

Summary Statistics

Scored Allowed Difference
Mean 2.94 1.78 +1.17
SD 2.34 1.59 3.42
CV 0.79 0.90 —
Max 8 5 +8
Min 0 0 -4

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
Stade Dudelange 1586 32 23.99 +8.01 100.0% 17 19 22 24 26 30 32
US Dudelange 1434 24 22.04 +1.96 68.0% 11 16 19 23 25 28 31
Progres Niedercorn 1379 21 17.15 +3.85 81.0% 9 11 14 17 20 24 28
Differdange 03 1373 20 19.96 +0.04 54.0% 9 14 18 20 22 25 28
Racing FC Union Luxembourg 1367 13 16.17 -3.17 17.0% 7 10 14 16 19 21 24
Spora Luxembourg 1311 18 16.06 +1.94 78.0% 7 11 14 16 18 21 25
Chiers Rodange 1289 15 17.43 -2.43 28.0% 10 10 15 18 20 23 25
Fola Esch 1279 13 14.79 -1.79 33.0% 6 9 13 15 17 20 22
FC Schifflange 95 1271 15 15.71 -0.71 47.0% 9 10 13 16 18 22 23
CS Petange 1208 9 16.70 -7.70 2.0% 9 11 14 17 18 23 29

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
+20.00%
Strong Edge
53.33%13.33%33.33%
Elo Value
Home Edge
117 Elo
0.009 goals per Elo point
070.44300
Scoring Tilt
Expected
+0.69 goals
Home-Tilted
-2+0.60+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.0
Top-Heavy
123410
Champion Preseason Odds
50%
Stade Dudelange, 1st of 10
LongshotFavorite
Title Margin
Expected
0.44/gm
Runaway
00.150.6/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.87 * Some Luck: 2.87 to 4.3 * Lucky: 4.3 to 5.73 * Wild Swing: 5.73 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.62 * Close: 1.62 to 2.43 * Off: 2.43 to 3.24 * Way Off: 3.24 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
4.07 points
Some Luck
03.589
Average Finish Error
Expected
1.60
Pinpoint
02.025
Biggest Overachiever
Expected 95.00%
100.00%
Stade Dudelange
50100
Biggest Underachiever
Expected 5.00%
2.00%
CS Petange
050
Season Outliers
Expected
2 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.19
Top-Heavy
00.170.5
Noll-Scully
Elo SD: 106.10
1.68
Moderate Separation
11.651.852.052.5
Interquartile Edge
64%
Even
50%68%78%100%
Best vs. Worst
Baseline
90%
Clear Edge
50%88%100%
Close Games
Expected
42%
Few
0%41%100%
Blowouts
Expected
38%
Very Frequent
0%37%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.56
Predictable
00.552
Matchup Imbalance
0.36
Slight Separation
00.350.5
Strangeness
Expected
1.44
Chaotic
01.002
Repeatability
N/A
No prior ratings
00.430.621
Upset Rate
Expected
31%
Very Upset-Prone
0%27%50%
Clear Favorite Upset Rate
Expected
30%
Very Shaky
0%24%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.68
Excellent
0.010.050.10.51
Calibration slope
Ideal
0.96
Calibrated
0.51.001.5
Calibration error (ECE)
Noise ceiling
0.086
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
Stade Dudelange50.00%29.00%12.00%6.00%1.00%2.00%————
US Dudelange27.00%22.00%19.00%7.00%12.00%5.00%4.00%3.00%—1.00%
Progres Niedercorn8.00%6.00%10.00%12.00%10.00%13.00%9.00%5.00%15.00%12.00%
Differdange 038.00%23.00%18.00%16.00%12.00%4.00%9.00%7.00%2.00%1.00%
Spora Luxembourg—2.00%8.00%11.00%11.00%11.00%15.00%11.00%19.00%12.00%
Chiers Rodange4.00%6.00%14.00%9.00%15.00%18.00%8.00%6.00%6.00%14.00%
FC Schifflange 95—3.00%5.00%11.00%9.00%3.00%23.00%13.00%15.00%18.00%
Racing FC Union Luxembourg2.00%2.00%7.00%10.00%12.00%16.00%11.00%21.00%9.00%10.00%
Fola Esch—3.00%2.00%6.00%6.00%9.00%13.00%20.00%17.00%24.00%
CS Petange1.00%4.00%5.00%12.00%12.00%19.00%8.00%14.00%17.00%8.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
CS Petange 100%
Chiers Rodange 100%
Differdange 03 100%
FC Schifflange 95 100%
Fola Esch 100%
Progres Niedercorn 100%
Racing FC Union Luxembourg 100%
Spora Luxembourg 100%
Stade Dudelange 100%
US 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
1945-08-26 Stade Dudelange L 0-146.7 1350 1350 57.08% 14.11% 28.80%+0.60 -14.0 0
1945-08-26 @ Differdange 03 W 1-046.7 1350 1350 28.80% 14.11% 57.08%-0.60 +14.0 2
1945-08-26 Chiers Rodange L 0-244.2 1350 1350 57.08% 14.11% 28.80%+0.60 -26.3 0
1945-08-26 @ FC Schifflange 95 W 2-044.2 1350 1350 28.80% 14.11% 57.08%-0.60 +26.3 2
1945-08-26 Fola Esch W 2-142.1 1350 1350 57.08% 14.11% 28.80%+0.60 +7.2 2
1945-08-26 @ Spora Luxembourg L 1-242.1 1350 1350 28.80% 14.11% 57.08%-0.60 -7.2 0
1945-08-26 Racing FC Union Luxembourg W 1-038.2 1350 1350 57.08% 14.11% 28.80%+0.60 +7.6 2
1945-08-26 @ CS Petange L 0-138.2 1350 1350 28.80% 14.11% 57.08%-0.60 -7.6 0
1945-08-26 Progres Niedercorn W 7-341.5 1350 1350 57.08% 14.11% 28.80%+0.60 +17.5 2
1945-08-26 @ US Dudelange L 3-741.5 1350 1350 28.80% 14.11% 57.08%-0.60 -17.5 0
1945-09-09 Stade Dudelange L 1-251.6 1376 1364 58.55% 14.10% 27.34%+0.71 -13.5 2
1945-09-09 @ Chiers Rodange W 2-151.6 1364 1376 27.34% 14.10% 58.55%-0.71 +13.5 4
1945-09-09 Progres Niedercorn D 2-260.6 1343 1332 58.32% 14.11% 27.57%+0.69 -1.3 1
1945-09-09 @ Fola Esch D 2-260.6 1332 1343 27.57% 14.11% 58.32%-0.69 +1.3 1
1945-09-09 FC Schifflange 95 W 8-031.7 1367 1324 62.09% 14.07% 23.84%+0.98 +44.1 4
1945-09-09 @ US Dudelange L 0-831.7 1324 1367 23.84% 14.07% 62.09%-0.98 -44.1 0
1945-09-16 Racing FC Union Luxembourg W 3-033.5 1336 1342 56.31% 14.12% 29.57%+0.55 +21.3 2
1945-09-16 @ Differdange 03 L 0-333.5 1342 1336 29.57% 14.12% 56.31%-0.55 -21.3 0
1945-09-16 Fola Esch W 3-141.9 1279 1341 49.08% 14.14% 36.78%+0.07 +15.4 2
1945-09-16 @ FC Schifflange 95 L 1-341.9 1341 1279 36.78% 14.14% 49.08%-0.07 -15.4 1
1945-09-16 Progres Niedercorn W 3-139.4 1357 1334 59.82% 14.09% 26.08%+0.80 +11.3 4
1945-09-16 @ Spora Luxembourg L 1-339.4 1334 1357 26.08% 14.09% 59.82%-0.80 -11.3 1
1945-09-16 US Dudelange W 4-035.0 1377 1411 52.78% 14.13% 33.08%+0.31 +30.7 6
1945-09-16 @ Stade Dudelange L 0-435.0 1411 1377 33.08% 14.13% 52.78%-0.31 -30.7 4
1945-09-16 Chiers Rodange D 2-261.2 1357 1363 56.45% 14.12% 29.44%+0.56 -1.2 3
1945-09-16 @ CS Petange D 2-261.2 1363 1357 29.44% 14.12% 56.45%-0.56 +1.2 3
1945-09-23 Differdange 03 L 0-441.3 1364 1357 57.88% 14.11% 28.01%+0.66 -50.6 3
1945-09-23 @ Chiers Rodange W 4-041.3 1357 1364 28.01% 14.11% 57.88%-0.66 +50.6 4
1945-09-23 Stade Dudelange L 1-741.0 1326 1408 46.29% 14.14% 39.57%-0.10 -49.7 1
1945-09-23 @ Fola Esch W 7-141.0 1408 1326 39.57% 14.14% 46.29%+0.10 +49.7 8
1945-09-23 Racing FC Union Luxembourg W 2-141.4 1322 1321 57.24% 14.11% 28.64%+0.61 +7.1 3
1945-09-23 @ Progres Niedercorn L 1-241.4 1321 1322 28.64% 14.11% 57.24%-0.61 -7.1 0
1945-09-23 FC Schifflange 95 W 2-139.2 1368 1295 65.13% 14.03% 20.85%+1.23 +5.3 6
1945-09-23 @ Spora Luxembourg L 1-239.2 1295 1368 20.85% 14.03% 65.13%-1.23 -5.3 2
1945-09-23 CS Petange D 1-156.8 1381 1356 59.95% 14.09% 25.96%+0.81 -2.0 5
1945-09-23 @ US Dudelange D 1-156.8 1356 1381 25.96% 14.09% 59.95%-0.81 +2.0 4
1945-09-30 US Dudelange L 1-351.3 1408 1379 60.46% 14.09% 25.45%+0.85 -24.1 4
1945-09-30 @ Differdange 03 W 3-151.3 1379 1408 25.45% 14.09% 60.46%-0.85 +24.1 7
1945-09-30 Progres Niedercorn D 2-260.1 1289 1329 52.03% 14.14% 33.83%+0.26 -0.8 3
1945-09-30 @ FC Schifflange 95 D 2-260.1 1329 1289 33.83% 14.14% 52.03%-0.26 +0.8 4
1945-09-30 Chiers Rodange W 4-137.7 1314 1313 57.15% 14.11% 28.73%+0.61 +17.5 2
1945-09-30 @ Racing FC Union Luxembourg L 1-437.7 1313 1314 28.73% 14.11% 57.15%-0.61 -17.5 3
1945-09-30 Spora Luxembourg W 5-136.7 1458 1374 66.13% 14.01% 19.86%+1.32 +16.1 10
1945-09-30 @ Stade Dudelange L 1-536.7 1374 1458 19.86% 14.01% 66.13%-1.32 -16.1 6
1945-09-30 Fola Esch W 4-347.7 1358 1276 65.94% 14.01% 20.04%+1.30 +4.8 6
1945-09-30 @ CS Petange L 3-447.7 1276 1358 20.04% 14.01% 65.94%-1.30 -4.8 1
1945-10-08 Spora Luxembourg W 4-245.9 1331 1358 53.82% 14.13% 32.05%+0.38 +12.2 4
1945-10-08 @ Racing FC Union Luxembourg L 2-445.9 1358 1331 32.05% 14.13% 53.82%-0.38 -12.2 6
1945-10-14 Racing FC Union Luxembourg W 4-139.9 1289 1344 50.05% 14.14% 35.81%+0.13 +21.3 5
1945-10-14 @ FC Schifflange 95 L 1-439.9 1344 1289 35.81% 14.14% 50.05%-0.13 -21.3 4
1945-10-14 Differdange 03 L 1-343.8 1271 1384 42.00% 14.13% 43.87%-0.36 -17.3 1
1945-10-14 @ Fola Esch W 3-143.8 1384 1271 43.87% 14.13% 42.00%+0.36 +17.3 6
1945-10-14 Stade Dudelange L 1-541.4 1330 1474 37.58% 14.11% 48.30%-0.62 -28.6 4
1945-10-14 @ Progres Niedercorn W 5-141.4 1474 1330 48.30% 14.11% 37.58%+0.62 +28.6 12
1945-10-14 CS Petange W 2-142.8 1345 1363 54.90% 14.13% 30.97%+0.45 +7.6 8
1945-10-14 @ Spora Luxembourg L 1-242.8 1363 1345 30.97% 14.13% 54.90%-0.45 -7.6 6
1945-10-14 Chiers Rodange W 2-138.7 1403 1296 68.22% 13.97% 17.81%+1.52 +4.6 9
1945-10-14 @ US Dudelange L 1-238.7 1296 1403 17.81% 13.97% 68.22%-1.52 -4.6 3
1945-10-21 Fola Esch W 3-031.0 1291 1254 61.34% 14.08% 24.59%+0.92 +18.0 5
1945-10-21 @ Chiers Rodange L 0-331.0 1254 1291 24.59% 14.08% 61.34%-0.92 -18.0 1
1945-10-21 Spora Luxembourg W 4-137.7 1401 1353 62.52% 14.06% 23.41%+1.01 +14.5 8
1945-10-21 @ Differdange 03 L 1-437.7 1353 1401 23.41% 14.06% 62.52%-1.01 -14.5 8
1945-10-21 US Dudelange L 1-247.6 1322 1407 45.85% 14.14% 40.01%-0.13 -10.8 4
1945-10-21 @ Racing FC Union Luxembourg W 2-147.6 1407 1322 40.01% 14.14% 45.85%+0.13 +10.8 11
1945-10-21 FC Schifflange 95 W 4-135.3 1502 1310 74.55% 13.77% 11.68%+2.24 +7.6 14
1945-10-21 @ Stade Dudelange L 1-435.3 1310 1502 11.68% 13.77% 74.55%-2.24 -7.6 5
1945-10-21 Progres Niedercorn L 1-350.1 1355 1302 63.14% 14.06% 22.80%+1.06 -25.1 6
1945-10-21 @ CS Petange W 3-150.1 1302 1355 22.80% 14.06% 63.14%-1.06 +25.1 6
1945-10-28 CS Petange W 3-247.3 1302 1330 53.61% 14.13% 32.26%+0.36 +7.5 7
1945-10-28 @ FC Schifflange 95 L 2-347.3 1330 1302 32.26% 14.13% 53.61%-0.36 -7.5 6
1945-10-28 US Dudelange W 2-042.6 1236 1418 32.48% 14.07% 53.45%-0.95 +24.7 3
1945-10-28 @ Fola Esch L 0-242.6 1418 1236 53.45% 14.07% 32.48%+0.95 -24.7 11
1945-10-28 Differdange 03 W 3-037.7 1327 1415 45.34% 14.14% 40.52%-0.16 +28.1 8
1945-10-28 @ Progres Niedercorn L 0-337.7 1415 1327 40.52% 14.14% 45.34%+0.16 -28.1 8
1945-10-28 Chiers Rodange L 1-251.0 1338 1309 60.49% 14.09% 25.42%+0.85 -13.9 8
1945-10-28 @ Spora Luxembourg W 2-151.0 1309 1338 25.42% 14.09% 60.49%-0.85 +13.9 7
1945-10-28 Racing FC Union Luxembourg W 1-035.1 1510 1311 74.92% 13.75% 11.33%+2.30 +3.2 16
1945-10-28 @ Stade Dudelange L 0-135.1 1311 1510 11.33% 13.75% 74.92%-2.30 -3.2 4
1945-11-04 Chiers Rodange W 3-031.0 1513 1323 74.41% 13.77% 11.82%+2.22 +9.1 18
1945-11-04 @ Stade Dudelange L 0-331.0 1323 1513 11.82% 13.77% 74.41%-2.22 -9.1 7
1945-11-11 Progres Niedercorn L 0-144.8 1314 1355 51.92% 14.14% 33.94%+0.25 -12.8 7
1945-11-11 @ Chiers Rodange W 1-044.8 1355 1314 33.94% 14.14% 51.92%-0.25 +12.8 10
1945-11-11 FC Schifflange 95 W 4-029.7 1387 1310 65.51% 14.02% 20.47%+1.26 +19.9 10
1945-11-11 @ Differdange 03 L 0-429.7 1310 1387 20.47% 14.02% 65.51%-1.26 -19.9 7
1945-11-11 Fola Esch L 1-251.0 1308 1261 62.47% 14.07% 23.47%+1.01 -14.4 4
1945-11-11 @ Racing FC Union Luxembourg W 2-151.0 1261 1308 23.47% 14.07% 62.47%-1.01 +14.4 5
1945-11-11 Stade Dudelange W 2-153.0 1323 1522 30.27% 14.05% 55.68%-1.10 +12.8 8
1945-11-11 @ CS Petange L 1-253.0 1522 1323 55.68% 14.05% 30.27%+1.10 -12.8 18
1945-11-11 Spora Luxembourg W 7-030.7 1393 1325 64.68% 14.03% 21.29%+1.19 +35.0 13
1945-11-11 @ US Dudelange L 0-730.7 1325 1393 21.29% 14.03% 64.68%-1.19 -35.0 8
1945-11-18 FC Schifflange 95 W 3-032.1 1301 1290 58.42% 14.10% 27.47%+0.70 +19.9 9
1945-11-18 @ Chiers Rodange L 0-332.1 1290 1301 27.47% 14.10% 58.42%-0.70 -19.9 7
1945-11-18 Spora Luxembourg L 0-242.5 1275 1290 55.33% 14.12% 30.55%+0.48 -25.5 5
1945-11-18 @ Fola Esch W 2-042.5 1290 1275 30.55% 14.12% 55.33%-0.48 +25.5 10
1945-11-18 US Dudelange L 0-440.0 1368 1428 49.21% 14.14% 36.65%+0.08 -43.5 10
1945-11-18 @ Progres Niedercorn W 4-040.0 1428 1368 36.65% 14.14% 49.21%-0.08 +43.5 15
1945-11-18 CS Petange W 5-137.8 1294 1336 51.81% 14.14% 34.05%+0.25 +26.3 6
1945-11-18 @ Racing FC Union Luxembourg L 1-537.8 1336 1294 34.05% 14.14% 51.81%-0.25 -26.3 8
1945-11-18 Differdange 03 W 2-143.9 1509 1407 67.79% 13.98% 18.23%+1.47 +4.7 20
1945-11-18 @ Stade Dudelange L 1-243.9 1407 1509 18.23% 13.98% 67.79%-1.47 -4.7 10
1945-11-25 US Dudelange D 2-261.5 1270 1472 29.98% 14.05% 55.97%-1.12 +1.1 8
1945-11-25 @ FC Schifflange 95 D 2-261.5 1472 1270 55.97% 14.05% 29.98%+1.12 -1.1 16
1945-11-25 Fola Esch D 2-259.8 1324 1250 65.21% 14.03% 20.77%+1.24 -2.0 11
1945-11-25 @ Progres Niedercorn D 2-259.8 1250 1324 20.77% 14.03% 65.21%-1.24 +2.0 6
1945-11-25 Racing FC Union Luxembourg L 1-544.6 1315 1320 56.46% 14.12% 29.43%+0.56 -41.1 10
1945-11-25 @ Spora Luxembourg W 5-144.6 1320 1315 29.43% 14.12% 56.46%-0.56 +41.1 8
1945-11-25 Differdange 03 L 0-143.2 1309 1403 44.70% 14.14% 41.16%-0.20 -11.1 8
1945-11-25 @ CS Petange W 1-043.2 1403 1309 41.16% 14.14% 44.70%+0.20 +11.2 12
1945-12-09 CS Petange W 3-138.7 1321 1298 59.78% 14.09% 26.12%+0.80 +11.3 11
1945-12-09 @ Chiers Rodange L 1-338.7 1298 1321 26.12% 14.09% 59.78%-0.80 -11.4 8
1945-12-09 FC Schifflange 95 L 1-346.7 1252 1271 54.67% 14.13% 31.20%+0.43 -21.9 6
1945-12-09 @ Fola Esch W 3-146.7 1271 1252 31.20% 14.13% 54.67%-0.43 +21.9 10
1945-12-09 Spora Luxembourg W 3-137.7 1322 1274 62.55% 14.06% 23.39%+1.01 +10.3 13
1945-12-09 @ Progres Niedercorn L 1-337.7 1274 1322 23.39% 14.06% 62.55%-1.01 -10.3 10
1945-12-09 Differdange 03 L 2-354.7 1361 1414 50.37% 14.14% 35.49%+0.15 -11.1 8
1945-12-09 @ Racing FC Union Luxembourg W 3-254.7 1414 1361 35.49% 14.14% 50.37%-0.15 +11.1 14
1945-12-09 Stade Dudelange L 1-551.3 1471 1514 51.58% 14.14% 34.28%+0.23 -37.8 16
1945-12-09 @ US Dudelange W 5-151.3 1514 1471 34.28% 14.14% 51.58%-0.23 +37.8 22
1945-12-16 Chiers Rodange L 1-254.3 1425 1332 66.91% 14.00% 19.10%+1.39 -15.4 14
1945-12-16 @ Differdange 03 W 2-154.3 1332 1425 19.10% 14.00% 66.91%-1.39 +15.4 13
1945-12-16 Spora Luxembourg W 3-031.3 1293 1264 60.51% 14.09% 25.41%+0.85 +18.6 12
1945-12-16 @ FC Schifflange 95 L 0-331.3 1264 1293 25.41% 14.09% 60.51%-0.85 -18.6 10
1945-12-16 Progres Niedercorn L 0-147.1 1350 1332 59.20% 14.10% 26.70%+0.75 -14.5 8
1945-12-16 @ Racing FC Union Luxembourg W 1-047.1 1332 1350 26.70% 14.10% 59.20%-0.75 +14.5 15
1945-12-16 Fola Esch W 7-027.0 1552 1230 80.76% 13.32% 5.92%+3.35 +10.2 24
1945-12-16 @ Stade Dudelange L 0-727.0 1230 1552 5.92% 13.32% 80.76%-3.35 -10.2 6
1945-12-16 US Dudelange L 1-343.1 1287 1433 37.23% 14.11% 48.66%-0.65 -15.5 8
1945-12-16 @ CS Petange W 3-143.1 1433 1287 48.66% 14.11% 37.23%+0.65 +15.5 18
1945-12-23 Racing FC Union Luxembourg D 1-156.1 1348 1336 58.52% 14.10% 27.38%+0.70 -1.8 14
1945-12-23 @ Chiers Rodange D 1-156.1 1336 1348 27.38% 14.10% 58.52%-0.70 +1.8 9
1945-12-23 CS Petange W 4-139.0 1220 1271 50.47% 14.14% 35.39%+0.16 +21.0 8
1945-12-23 @ Fola Esch L 1-439.0 1271 1220 35.39% 14.14% 50.47%-0.16 -21.0 8
1945-12-23 FC Schifflange 95 W 6-447.9 1347 1312 61.15% 14.08% 24.77%+0.90 +8.8 17
1945-12-23 @ Progres Niedercorn L 4-647.9 1312 1347 24.77% 14.08% 61.15%-0.90 -8.8 12
1945-12-23 Stade Dudelange D 0-055.4 1245 1562 17.97% 13.81% 68.22%-2.11 +3.4 11
1945-12-23 @ Spora Luxembourg D 0-055.4 1562 1245 68.22% 13.81% 17.97%+2.11 -3.4 25
1945-12-23 Differdange 03 W 3-035.4 1449 1409 61.57% 14.08% 24.35%+0.93 +17.9 20
1945-12-23 @ US Dudelange L 0-335.4 1409 1449 24.35% 14.08% 61.57%-0.93 -17.9 14
1946-01-06 US Dudelange L 1-444.1 1346 1466 40.84% 14.13% 45.04%-0.43 -23.8 14
1946-01-06 @ Chiers Rodange W 4-144.1 1466 1346 45.04% 14.13% 40.84%+0.43 +23.8 22
1946-01-06 Fola Esch L 0-247.8 1392 1241 71.74% 13.87% 14.39%+1.89 -33.1 14
1946-01-06 @ Differdange 03 W 2-047.8 1241 1392 14.39% 13.87% 71.74%-1.89 +33.1 10
1946-01-06 FC Schifflange 95 L 2-356.1 1338 1303 61.11% 14.08% 24.81%+0.90 -13.3 9
1946-01-06 @ Racing FC Union Luxembourg W 3-256.1 1303 1338 24.81% 14.08% 61.11%-0.90 +13.3 14
1946-01-06 Spora Luxembourg L 1-249.2 1250 1248 57.29% 14.11% 28.59%+0.62 -13.2 8
1946-01-06 @ CS Petange W 2-149.2 1248 1250 28.59% 14.11% 57.29%-0.62 +13.2 13
1946-01-21 CS Petange W 3-242.3 1359 1237 69.45% 13.94% 16.62%+1.64 +4.1 16
1946-01-21 @ Differdange 03 L 2-342.3 1237 1359 16.62% 13.94% 69.45%-1.64 -4.1 8
1946-01-27 Stade Dudelange L 1-539.6 1316 1559 25.23% 13.98% 60.79%-1.47 -20.1 14
1946-01-27 @ FC Schifflange 95 W 5-139.6 1559 1316 60.79% 13.98% 25.23%+1.47 +20.1 27
1946-01-27 Chiers Rodange W 1-039.1 1274 1322 50.89% 14.14% 34.97%+0.19 +9.0 12
1946-01-27 @ Fola Esch L 0-139.1 1322 1274 34.97% 14.14% 50.89%-0.19 -9.0 14
1946-01-27 CS Petange W 8-130.1 1356 1233 69.55% 13.94% 16.52%+1.65 +22.8 19
1946-01-27 @ Progres Niedercorn L 1-830.1 1233 1356 16.52% 13.94% 69.55%-1.65 -22.8 8
1946-01-27 Differdange 03 W 3-036.8 1262 1363 43.60% 14.14% 42.26%-0.26 +29.1 15
1946-01-27 @ Spora Luxembourg L 0-336.8 1363 1262 42.26% 14.14% 43.60%+0.26 -29.1 16
1946-01-27 Racing FC Union Luxembourg L 1-453.7 1490 1324 72.81% 13.84% 13.35%+2.02 -41.1 22
1946-01-27 @ US Dudelange W 4-153.7 1324 1490 13.35% 13.84% 72.81%-2.02 +41.1 11
1946-02-17 Spora Luxembourg D 1-155.4 1313 1291 59.73% 14.09% 26.18%+0.79 -2.0 15
1946-02-17 @ Chiers Rodange D 1-155.4 1291 1313 26.18% 14.09% 59.73%-0.79 +2.0 16
1946-02-17 Progres Niedercorn W 3-142.2 1334 1378 51.38% 14.14% 34.48%+0.22 +14.5 18
1946-02-17 @ Differdange 03 L 1-342.2 1378 1334 34.48% 14.14% 51.38%-0.22 -14.5 19
1946-02-17 Stade Dudelange D 2-267.0 1365 1579 28.58% 14.03% 57.39%-1.22 +1.2 12
1946-02-17 @ Racing FC Union Luxembourg D 2-267.0 1579 1365 57.39% 14.03% 28.58%+1.22 -1.2 28
1946-02-17 FC Schifflange 95 D 3-364.2 1210 1296 45.75% 14.14% 40.11%-0.13 -0.2 9
1946-02-17 @ CS Petange D 3-364.2 1296 1210 40.11% 14.14% 45.75%+0.13 +0.2 15
1946-02-17 Fola Esch W 3-242.7 1449 1283 72.84% 13.84% 13.32%+2.02 +3.3 24
1946-02-17 @ US Dudelange L 2-342.7 1283 1449 13.32% 13.84% 72.84%-2.02 -3.3 12
1946-03-24 Differdange 03 L 2-548.4 1296 1348 50.45% 14.14% 35.41%+0.16 -24.8 15
1946-03-24 @ FC Schifflange 95 W 5-248.4 1348 1296 35.41% 14.14% 50.45%-0.16 +24.9 20
1946-03-24 Racing FC Union Luxembourg D 1-155.7 1279 1367 45.55% 14.14% 40.31%-0.14 -0.3 13
1946-03-24 @ Fola Esch D 1-155.7 1367 1279 40.31% 14.14% 45.55%+0.14 +0.3 13
1946-03-24 Chiers Rodange W 4-030.2 1364 1311 63.01% 14.06% 22.93%+1.05 +22.1 21
1946-03-24 @ Progres Niedercorn L 0-430.2 1311 1364 22.93% 14.06% 63.01%-1.05 -22.1 15
1946-03-24 US Dudelange W 4-252.2 1293 1452 35.40% 14.10% 50.50%-0.76 +18.2 18
1946-03-24 @ Spora Luxembourg L 2-452.2 1452 1293 50.50% 14.10% 35.40%+0.76 -18.2 24
1946-03-24 CS Petange W 3-134.3 1578 1210 82.24% 13.13% 4.64%+3.74 +2.2 30
1946-03-24 @ Stade Dudelange L 1-334.3 1210 1578 4.64% 13.13% 82.24%-3.74 -2.2 9
1946-03-31 Progres Niedercorn W 5-244.1 1580 1386 74.64% 13.76% 11.60%+2.26 +6.5 32
1946-03-31 @ Stade Dudelange L 2-544.1 1386 1580 11.60% 13.76% 74.64%-2.26 -6.5 21

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 1946-01-27 13.35% Racing FC Union Luxembourg 1324 4 @ US Dudelange 1490 1
2 1946-01-06 14.39% Fola Esch 1241 2 @ Differdange 03 1392 0
3 1945-12-16 19.10% Chiers Rodange 1332 2 @ Differdange 03 1425 1
4 1945-10-21 22.80% Progres Niedercorn 1302 3 @ CS Petange 1355 1
5 1945-11-11 23.47% Fola Esch 1261 2 @ Racing FC Union Luxembourg 1308 1
6 1946-01-06 24.81% FC Schifflange 95 1303 3 @ Racing FC Union Luxembourg 1338 2
7 1945-10-28 25.42% Chiers Rodange 1309 2 @ Spora Luxembourg 1338 1
8 1945-09-30 25.45% US Dudelange 1379 3 @ Differdange 03 1408 1
9 1945-12-16 26.70% Progres Niedercorn 1332 1 @ Racing FC Union Luxembourg 1350 0
10 1945-09-09 27.34% Stade Dudelange 1364 2 @ Chiers Rodange 1376 1
11 1945-09-23 28.01% Differdange 03 1357 4 @ Chiers Rodange 1364 0
12 1946-01-06 28.59% Spora Luxembourg 1248 2 @ CS Petange 1250 1
13 1945-08-26 28.80% Stade Dudelange 1350 1 @ Differdange 03 1350 0
14 1945-08-26 28.80% Chiers Rodange 1350 2 @ FC Schifflange 95 1350 0
15 1945-11-25 29.43% Racing FC Union Luxembourg 1320 5 @ Spora Luxembourg 1315 1
16 1945-11-11 30.27% @ CS Petange 1323 2 Stade Dudelange 1522 1
17 1945-11-18 30.55% Spora Luxembourg 1290 2 @ Fola Esch 1275 0
18 1945-12-09 31.20% FC Schifflange 95 1271 3 @ Fola Esch 1252 1
19 1945-10-28 32.48% @ Fola Esch 1236 2 US Dudelange 1418 0
20 1945-11-11 33.94% Progres Niedercorn 1355 1 @ Chiers Rodange 1314 0
21 1945-12-09 34.28% Stade Dudelange 1514 5 @ US Dudelange 1471 1
22 1946-03-24 35.40% @ Spora Luxembourg 1293 4 US Dudelange 1452 2
23 1946-03-24 35.41% Differdange 03 1348 5 @ FC Schifflange 95 1296 2
24 1945-12-09 35.49% Differdange 03 1414 3 @ Racing FC Union Luxembourg 1361 2
25 1945-11-18 36.65% US Dudelange 1428 4 @ Progres Niedercorn 1368 0

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 1945-09-23 50.58 Differdange 03 4 1357 28.01% @ Chiers Rodange 0 1364 57.88% 14.11%
2 1945-09-23 49.70 Stade Dudelange 7 1408 39.57% @ Fola Esch 1 1326 46.29% 14.14%
3 1945-09-09 44.09 @ US Dudelange 8 1367 62.09% FC Schifflange 95 0 1324 23.84% 14.07%
4 1945-11-18 43.47 US Dudelange 4 1428 36.65% @ Progres Niedercorn 0 1368 49.21% 14.14%
5 1945-11-25 41.15 Racing FC Union Luxembourg 5 1320 29.43% @ Spora Luxembourg 1 1315 56.46% 14.12%
6 1946-01-27 41.14 Racing FC Union Luxembourg 4 1324 13.35% @ US Dudelange 1 1490 72.81% 13.84%
7 1945-12-09 37.82 Stade Dudelange 5 1514 34.28% @ US Dudelange 1 1471 51.58% 14.14%
8 1945-11-11 34.99 @ US Dudelange 7 1393 64.68% Spora Luxembourg 0 1325 21.29% 14.03%
9 1946-01-06 33.07 Fola Esch 2 1241 14.39% @ Differdange 03 0 1392 71.74% 13.87%
10 1945-09-16 30.72 @ Stade Dudelange 4 1377 52.78% US Dudelange 0 1411 33.08% 14.13%
11 1946-01-27 29.10 @ Spora Luxembourg 3 1262 43.60% Differdange 03 0 1363 42.26% 14.14%
12 1945-10-14 28.62 Stade Dudelange 5 1474 48.30% @ Progres Niedercorn 1 1330 37.58% 14.11%
13 1945-10-28 28.07 @ Progres Niedercorn 3 1327 45.34% Differdange 03 0 1415 40.52% 14.14%
14 1945-08-26 26.30 Chiers Rodange 2 1350 28.80% @ FC Schifflange 95 0 1350 57.08% 14.11%
15 1945-11-18 26.26 @ Racing FC Union Luxembourg 5 1294 51.81% CS Petange 1 1336 34.05% 14.14%
16 1945-11-18 25.54 Spora Luxembourg 2 1290 30.55% @ Fola Esch 0 1275 55.33% 14.12%
17 1945-10-21 25.14 Progres Niedercorn 3 1302 22.80% @ CS Petange 1 1355 63.14% 14.06%
18 1946-03-24 24.86 Differdange 03 5 1348 35.41% @ FC Schifflange 95 2 1296 50.45% 14.14%
19 1945-10-28 24.71 @ Fola Esch 2 1236 32.48% US Dudelange 0 1418 53.45% 14.07%
20 1945-09-30 24.09 US Dudelange 3 1379 25.45% @ Differdange 03 1 1408 60.46% 14.09%
21 1946-01-06 23.83 US Dudelange 4 1466 45.04% @ Chiers Rodange 1 1346 40.84% 14.13%
22 1946-01-27 22.75 @ Progres Niedercorn 8 1356 69.55% CS Petange 1 1233 16.52% 13.94%
23 1946-03-24 22.11 @ Progres Niedercorn 4 1364 63.01% Chiers Rodange 0 1311 22.93% 14.06%
24 1945-12-09 21.87 FC Schifflange 95 3 1271 31.20% @ Fola Esch 1 1252 54.67% 14.13%
25 1945-09-16 21.29 @ Differdange 03 3 1336 56.31% Racing FC Union Luxembourg 0 1342 29.57% 14.12%

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 1946-02-17 67.0 @ Racing FC Union Luxembourg 2 1365 28.58% Stade Dudelange 2 1579 57.39% 14.03%
2 1946-02-17 64.2 @ CS Petange 3 1210 45.75% FC Schifflange 95 3 1296 40.11% 14.14%
3 1945-11-25 61.5 @ FC Schifflange 95 2 1270 29.98% US Dudelange 2 1472 55.97% 14.05%
4 1945-09-16 61.2 @ CS Petange 2 1357 56.45% Chiers Rodange 2 1363 29.44% 14.12%
5 1945-09-09 60.6 @ Fola Esch 2 1343 58.32% Progres Niedercorn 2 1332 27.57% 14.11%
6 1945-09-30 60.1 @ FC Schifflange 95 2 1289 52.03% Progres Niedercorn 2 1329 33.83% 14.14%
7 1945-11-25 59.8 @ Progres Niedercorn 2 1324 65.21% Fola Esch 2 1250 20.77% 14.03%
8 1945-09-23 56.8 @ US Dudelange 1 1381 59.95% CS Petange 1 1356 25.96% 14.09%
9 1945-12-23 56.1 @ Chiers Rodange 1 1348 58.52% Racing FC Union Luxembourg 1 1336 27.38% 14.10%
10 1946-01-06 56.1 FC Schifflange 95 3 1303 24.81% @ Racing FC Union Luxembourg 2 1338 61.11% 14.08%
11 1946-03-24 55.7 @ Fola Esch 1 1279 45.55% Racing FC Union Luxembourg 1 1367 40.31% 14.14%
12 1945-12-23 55.4 @ Spora Luxembourg 0 1245 17.97% Stade Dudelange 0 1562 68.22% 13.81%
13 1946-02-17 55.4 @ Chiers Rodange 1 1313 59.73% Spora Luxembourg 1 1291 26.18% 14.09%
14 1945-12-09 54.7 Differdange 03 3 1414 35.49% @ Racing FC Union Luxembourg 2 1361 50.37% 14.14%
15 1945-12-16 54.3 Chiers Rodange 2 1332 19.10% @ Differdange 03 1 1425 66.91% 14.00%
16 1946-01-27 53.7 Racing FC Union Luxembourg 4 1324 13.35% @ US Dudelange 1 1490 72.81% 13.84%
17 1945-11-11 53.0 @ CS Petange 2 1323 30.27% Stade Dudelange 1 1522 55.68% 14.05%
18 1946-03-24 52.2 @ Spora Luxembourg 4 1293 35.40% US Dudelange 2 1452 50.50% 14.10%
19 1945-09-09 51.6 Stade Dudelange 2 1364 27.34% @ Chiers Rodange 1 1376 58.55% 14.10%
20 1945-09-30 51.3 US Dudelange 3 1379 25.45% @ Differdange 03 1 1408 60.46% 14.09%
21 1945-12-09 51.3 Stade Dudelange 5 1514 34.28% @ US Dudelange 1 1471 51.58% 14.14%
22 1945-10-28 51.0 Chiers Rodange 2 1309 25.42% @ Spora Luxembourg 1 1338 60.49% 14.09%
23 1945-11-11 51.0 Fola Esch 2 1261 23.47% @ Racing FC Union Luxembourg 1 1308 62.47% 14.07%
24 1945-10-21 50.1 Progres Niedercorn 3 1302 22.80% @ CS Petange 1 1355 63.14% 14.06%
25 1946-01-06 49.2 Spora Luxembourg 2 1248 28.59% @ CS Petange 1 1250 57.29% 14.11%
# Date Excitement Winning Team Losing Team Tie %
Team Score Elo Win % Team Score Elo Win %
1 1945-12-16 27.0 @ Stade Dudelange 7 1552 80.76% Fola Esch 0 1230 5.92% 13.32%
2 1945-11-11 29.7 @ Differdange 03 4 1387 65.51% FC Schifflange 95 0 1310 20.47% 14.02%
3 1946-01-27 30.1 @ Progres Niedercorn 8 1356 69.55% CS Petange 1 1233 16.52% 13.94%
4 1946-03-24 30.2 @ Progres Niedercorn 4 1364 63.01% Chiers Rodange 0 1311 22.93% 14.06%
5 1945-11-11 30.7 @ US Dudelange 7 1393 64.68% Spora Luxembourg 0 1325 21.29% 14.03%
6 1945-10-21 31.0 @ Chiers Rodange 3 1291 61.34% Fola Esch 0 1254 24.59% 14.08%
7 1945-11-04 31.0 @ Stade Dudelange 3 1513 74.41% Chiers Rodange 0 1323 11.82% 13.77%
8 1945-12-16 31.3 @ FC Schifflange 95 3 1293 60.51% Spora Luxembourg 0 1264 25.41% 14.09%
9 1945-09-09 31.7 @ US Dudelange 8 1367 62.09% FC Schifflange 95 0 1324 23.84% 14.07%
10 1945-11-18 32.1 @ Chiers Rodange 3 1301 58.42% FC Schifflange 95 0 1290 27.47% 14.10%
11 1945-09-16 33.5 @ Differdange 03 3 1336 56.31% Racing FC Union Luxembourg 0 1342 29.57% 14.12%
12 1946-03-24 34.3 @ Stade Dudelange 3 1578 82.24% CS Petange 1 1210 4.64% 13.13%
13 1945-09-16 35.0 @ Stade Dudelange 4 1377 52.78% US Dudelange 0 1411 33.08% 14.13%
14 1945-10-28 35.1 @ Stade Dudelange 1 1510 74.92% Racing FC Union Luxembourg 0 1311 11.33% 13.75%
15 1945-10-21 35.3 @ Stade Dudelange 4 1502 74.55% FC Schifflange 95 1 1310 11.68% 13.77%
16 1945-12-23 35.4 @ US Dudelange 3 1449 61.57% Differdange 03 0 1409 24.35% 14.08%
17 1945-09-30 36.7 @ Stade Dudelange 5 1458 66.13% Spora Luxembourg 1 1374 19.86% 14.01%
18 1946-01-27 36.8 @ Spora Luxembourg 3 1262 43.60% Differdange 03 0 1363 42.26% 14.14%
19 1945-09-30 37.7 @ Racing FC Union Luxembourg 4 1314 57.15% Chiers Rodange 1 1313 28.73% 14.11%
20 1945-10-21 37.7 @ Differdange 03 4 1401 62.52% Spora Luxembourg 1 1353 23.41% 14.06%
21 1945-10-28 37.7 @ Progres Niedercorn 3 1327 45.34% Differdange 03 0 1415 40.52% 14.14%
22 1945-12-09 37.7 @ Progres Niedercorn 3 1322 62.55% Spora Luxembourg 1 1274 23.39% 14.06%
23 1945-11-18 37.8 @ Racing FC Union Luxembourg 5 1294 51.81% CS Petange 1 1336 34.05% 14.14%
24 1945-08-26 38.2 @ CS Petange 1 1350 57.08% Racing FC Union Luxembourg 0 1350 28.80% 14.11%
25 1945-10-14 38.7 @ US Dudelange 2 1403 68.22% Chiers Rodange 1 1296 17.81% 13.97%