‹ ›

2019-20 Luxembourg National Division Season

119 games

Final

Champion

Fola Esch

39 points

Relegated

No relegation

Biggest Overachiever

Rodange 91

8.02 points above expected

15 points · 6.98 expected points

Biggest Disappointment

F91 Dudelange

11.35 points below expected

26 points · 37.35 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 Fola Esch 17 12 3 2 39 41 17 +24 38.03 +0.97
2 Progres Niedercorn 17 11 4 2 37 43 17 +26 38.93 -1.93
3 Differdange 03 17 11 2 4 35 36 25 +11 28.68 +6.32
4 Union Titus Petange 17 10 3 4 33 34 23 +11 29.63 +3.37
5 F91 Dudelange 17 8 2 7 26 38 24 +14 37.35 -11.35
6 UNA Strassen 17 7 5 5 26 30 26 +4 23.46 +2.54
7 Racing FC Union Luxembourg 17 6 7 4 25 32 27 +5 27.12 -2.12
8 Jeunesse Esch 17 5 4 8 19 24 34 -10 25.50 -6.50
9 Victoria Rosport 17 5 3 9 18 23 35 -12 15.75 +2.25
10 Etzella Ettelbruck 17 5 2 10 17 22 34 -12 15.89 +1.11
11 Hostert 17 5 1 11 16 17 37 -20 13.46 +2.54
12 Mondorf-les-Bains 17 3 6 8 15 22 28 -6 22.59 -7.59
13 Rodange 91 17 4 3 10 15 21 37 -16 6.98 +8.02
14 Blue Boys Muhlenbach 17 3 3 11 12 20 39 -19 9.34 +2.66

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 Rodange 91 15 6.98 +8.02
2 Differdange 03 35 28.68 +6.32
3 Union Titus Petange 33 29.63 +3.37
4 Blue Boys Muhlenbach 12 9.34 +2.66
5 Hostert 16 13.46 +2.54

Biggest Disappointments

# Team Actual Sim vsSim
1 F91 Dudelange 26 37.35 -11.35
2 Mondorf-les-Bains 15 22.59 -7.59
3 Jeunesse Esch 19 25.50 -6.50
4 Racing FC Union Luxembourg 25 27.12 -2.12
5 Progres Niedercorn 37 38.93 -1.93

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 Differdange 03 6 Nov 24 – Mar 8 1 in 50
2 Hostert 3 Sep 14 – Oct 6 1 in 50
3 Racing FC Union Luxembourg 3 Feb 29 – Mar 8 1 in 36
4 Rodange 91 2 Mar 1 – Mar 4 1 in 25
5 Jeunesse Esch 3 Aug 11 – Aug 25 1 in 21

Most Unlikely Losing Streaks

# Team Games Dates Probability
1 Jeunesse Esch 4 Nov 3 – Nov 30 1 in 119
2 Hostert 5 Aug 4 – Sep 1 1 in 25
3 Mondorf-les-Bains 3 Oct 20 – Nov 3 1 in 18
4 Union Titus Petange 2 Mar 4 – Mar 8 1 in 13
5 F91 Dudelange 2 Aug 17 – Aug 26 1 in 11

Most Unlikely Unbeaten Streaks

# Team Games Dates Probability
1 UNA Strassen 7 Sep 29 – Dec 1 1 in 66
2 Union Titus Petange 9 Sep 15 – Dec 11 1 in 59
3 Racing FC Union Luxembourg 8 Aug 18 – Oct 27 1 in 55
4 Fola Esch 13 Sep 1 – Mar 8 1 in 27
5 Victoria Rosport 4 Dec 1 – Mar 4 1 in 19

Most Unlikely Winless Streaks

# Team Games Dates Probability
1 Mondorf-les-Bains 12 Sep 15 – Mar 8 1 in 534
2 Jeunesse Esch 9 Oct 5 – Mar 4 1 in 199
3 F91 Dudelange 5 Aug 17 – Sep 25 1 in 47
4 Union Titus Petange 5 Dec 11 – Mar 8 1 in 21
5 Racing FC Union Luxembourg 4 Sep 1 – Oct 6 1 in 11

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
Fola Esch 1566 39 +16 13 10.6 +2.4
Progres Niedercorn 1563 37 +10 10 9.7 +0.3
Differdange 03 1455 35 +66 15 8.9 +6.1
Union Titus Petange 1428 33 -32 2 7.4 -5.4
F91 Dudelange 1528 26 +5 9 9.1 -0.1
UNA Strassen 1394 26 +2 7 7.4 -0.4
Racing FC Union Luxembourg 1429 25 +28 11 7.3 +3.7
Jeunesse Esch 1349 19 -21 4 7.4 -3.4
Victoria Rosport 1281 18 +19 8 4.8 +3.2
Etzella Ettelbruck 1291 17 -15 6 5.3 +0.7
Hostert 1246 16 -48 3 5.0 -2.0
Rodange 91 1204 15 +31 6 4.1 +1.9
Mondorf-les-Bains 1323 15 -26 2 6.6 -4.6
Blue Boys Muhlenbach 1194 12 -38 2 5.0 -3.0

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 BBM D0 EE FD FE HOS JE MON PN RFUL R9 US UTP VR
Blue Boys Muhlenbach —
0-0-1
0.79
0-1-0
1.21
0-0-1
0.56
1-0-1
1.04
0-0-1
1.21
1-0-0
0.74
0-1-1
1.77
0-0-1
0.47
0-1-0
0.81
1-0-1
3.30
0-0-1
0.94
0-0-1
0.71
0-0-2
2.32
Differdange 03
1-0-0
2.01
—
2-0-0
3.79
0-0-1
1.01
1-0-0
1.01
2-0-0
3.60
0-1-0
1.40
1-1-0
2.98
0-0-1
1.08
0-0-1
1.22
1-0-0
2.17
2-0-0
3.10
0-0-1
1.56
1-0-0
1.81
Etzella Ettelbruck
0-1-0
1.58
0-0-2
1.79
—
0-0-1
0.68
0-0-2
1.38
0-0-1
1.53
0-1-0
0.84
1-0-1
2.27
0-0-1
0.60
1-0-0
0.76
2-0-0
3.69
1-0-0
1.11
0-0-1
0.92
0-0-1
1.35
F91 Dudelange
1-0-0
2.26
1-0-0
1.78
1-0-0
2.12
—
0-0-1
1.27
0-0-1
2.17
1-0-1
3.94
1-0-0
1.90
0-0-2
2.82
0-1-1
3.61
1-0-0
2.41
0-1-0
1.94
1-0-1
3.45
1-0-0
1.82
Fola Esch
1-0-1
4.61
0-0-1
1.78
2-0-0
4.24
1-0-0
1.51
—
0-1-0
2.26
1-0-0
1.57
0-1-0
2.08
1-0-0
1.31
0-1-0
1.83
1-0-0
2.48
2-0-0
3.75
2-0-0
3.60
1-0-0
2.21
Hostert
1-0-0
1.58
0-0-2
1.98
1-0-0
1.26
1-0-0
0.64
0-1-0
0.56
—
1-0-0
1.01
0-0-1
1.15
0-0-2
1.34
0-0-2
1.89
0-0-1
1.98
0-0-2
2.07
0-0-1
0.84
1-0-0
1.36
Jeunesse Esch
0-0-1
2.06
0-1-0
1.39
0-1-0
1.96
1-0-1
1.66
0-0-1
1.22
0-0-1
1.78
—
1-0-0
1.35
0-0-1
1.20
1-1-0
2.64
1-1-0
4.20
0-0-1
1.43
0-0-1
1.21
1-0-1
3.40
Mondorf-les-Bains
1-1-0
3.82
0-1-1
2.59
1-0-1
3.31
0-0-1
0.89
0-1-0
0.72
1-0-0
1.64
0-0-1
1.44
—
0-1-0
0.93
0-0-1
1.42
0-1-0
2.02
0-1-1
2.76
0-0-1
1.55
0-0-1
1.80
Progres Niedercorn
1-0-0
2.35
1-0-0
1.71
1-0-0
2.21
2-0-0
2.76
0-0-1
1.48
2-0-0
4.28
1-0-0
1.59
0-1-0
1.86
—
0-1-1
3.84
1-0-0
2.47
0-1-0
2.04
0-1-0
1.73
2-0-0
4.28
Racing FC Union Luxembourg
0-1-0
1.99
1-0-0
1.57
0-0-1
2.04
1-1-0
1.97
0-1-0
0.97
2-0-0
3.70
0-1-1
2.94
1-0-0
1.36
1-1-0
1.75
—
0-1-0
2.21
0-0-1
1.68
0-0-1
1.61
0-1-0
1.72
Rodange 91
1-0-1
2.27
0-0-1
0.64
0-0-2
1.89
0-0-1
0.43
0-0-1
0.36
1-0-0
0.82
0-1-1
1.41
0-1-0
0.78
0-0-1
0.37
0-1-0
0.61
—
0-0-1
0.82
1-0-1
1.25
1-0-0
0.96
UNA Strassen
1-0-0
1.86
0-0-2
2.47
0-0-1
1.68
0-1-0
0.86
0-0-2
1.84
2-0-0
3.51
1-0-0
1.35
1-1-0
2.82
0-1-0
0.76
1-0-0
1.11
1-0-0
1.98
—
0-1-0
1.15
0-1-0
1.92
Union Titus Petange
1-0-0
2.10
1-0-0
1.22
1-0-0
1.87
1-0-1
2.13
0-0-2
1.98
1-0-0
1.96
1-0-0
1.58
1-0-0
1.24
0-1-0
1.06
1-0-0
1.17
1-0-1
4.37
0-1-0
1.64
—
1-1-0
3.44
Victoria Rosport
2-0-0
3.25
0-0-1
0.98
1-0-0
1.43
0-0-1
0.97
0-0-1
0.61
0-0-1
1.42
1-0-1
2.18
1-0-0
0.99
0-0-2
1.34
0-1-0
1.07
0-0-1
1.84
0-1-0
0.87
0-1-1
2.15
—

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.88 +10.0
Allowed 0.84 -11.5
Differential 0.89 +5.5

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.68%5.46%3.78%4.62%2.52%0.84%18.91%
15.46%9.24%8.82%3.36%2.10%0.84%29.83%
23.78%8.82%7.56%4.62%1.68%0.84%27.31%
34.62%3.36%4.62%1.68%—0.42%14.71%
42.52%2.10%1.68%———6.30%
5+0.84%0.84%0.84%0.42%——2.94%
Total18.91%29.83%27.31%14.71%6.30%2.94%100%

Summary Statistics

Scored Allowed Difference
Mean 1.69 1.69 +0.00
SD 1.30 1.30 2.05
CV 0.77 0.77 —
Max 7 7 +7
Min 0 0 -7

Games Played: 119

↓ Scored | Allowed →012345+Total
0—5.88%17.65%17.65%——41.18%
1—11.76%5.88%5.88%——23.53%
2——5.88%—5.88%5.88%17.65%
3—5.88%5.88%———11.76%
4——5.88%———5.88%
5+———————
Total—23.53%41.18%23.53%5.88%5.88%100%

Summary Statistics

Scored Allowed Difference
Mean 1.18 2.29 -1.12
SD 1.29 1.10 1.69
CV 1.09 0.48 —
Max 4 5 +2
Min 0 1 -3

Games Played: 17

↓ Scored | Allowed →012345+Total
0———5.88%——5.88%
1—11.76%———5.88%17.65%
25.88%23.53%—11.76%——41.18%
311.76%11.76%5.88%———29.41%
4—5.88%————5.88%
5+———————
Total17.65%52.94%5.88%17.65%—5.88%100%

Summary Statistics

Scored Allowed Difference
Mean 2.12 1.47 +0.65
SD 0.99 1.33 2.00
CV 0.47 0.90 —
Max 4 5 +3
Min 0 0 -4

Games Played: 17

↓ Scored | Allowed →012345+Total
0—11.76%—11.76%5.88%—29.41%
1—11.76%11.76%11.76%5.88%—41.18%
2—11.76%————11.76%
35.88%—5.88%———11.76%
4———————
5+——5.88%———5.88%
Total5.88%35.29%23.53%23.53%11.76%—100%

Summary Statistics

Scored Allowed Difference
Mean 1.29 2.00 -0.71
SD 1.36 1.17 2.05
CV 1.05 0.59 —
Max 5 4 +3
Min 0 0 -4

Games Played: 17

↓ Scored | Allowed →012345+Total
0—11.76%11.76%———23.53%
15.88%—5.88%5.88%——17.65%
2——5.88%5.88%——11.76%
35.88%11.76%—5.88%——23.53%
45.88%5.88%5.88%———17.65%
5+5.88%—————5.88%
Total23.53%29.41%29.41%17.65%——100%

Summary Statistics

Scored Allowed Difference
Mean 2.24 1.41 +0.82
SD 1.92 1.06 2.51
CV 0.86 0.75 —
Max 7 3 +7
Min 0 0 -2

Games Played: 17

↓ Scored | Allowed →012345+Total
0———————
111.76%5.88%5.88%———23.53%
211.76%11.76%11.76%5.88%——41.18%
35.88%5.88%————11.76%
45.88%—11.76%———17.65%
5+5.88%—————5.88%
Total41.18%23.53%29.41%5.88%——100%

Summary Statistics

Scored Allowed Difference
Mean 2.41 1.00 +1.41
SD 1.23 1.00 1.62
CV 0.51 1.00 —
Max 5 3 +5
Min 1 0 -1

Games Played: 17

↓ Scored | Allowed →012345+Total
0—5.88%5.88%11.76%5.88%—29.41%
117.65%5.88%5.88%5.88%5.88%5.88%47.06%
25.88%5.88%—5.88%——17.65%
3—————5.88%5.88%
4———————
5+———————
Total23.53%17.65%11.76%23.53%11.76%11.76%100%

Summary Statistics

Scored Allowed Difference
Mean 1.00 2.18 -1.18
SD 0.87 1.74 1.91
CV 0.87 0.80 —
Max 3 5 +2
Min 0 0 -4

Games Played: 17

↓ Scored | Allowed →012345+Total
0—11.76%—5.88%5.88%—23.53%
1—17.65%11.76%—5.88%—35.29%
2—11.76%——5.88%—17.65%
3—5.88%11.76%5.88%——23.53%
4———————
5+———————
Total—47.06%23.53%11.76%17.65%—100%

Summary Statistics

Scored Allowed Difference
Mean 1.41 2.00 -0.59
SD 1.12 1.17 1.66
CV 0.79 0.59 —
Max 3 4 +2
Min 0 1 -4

Games Played: 17

↓ Scored | Allowed →012345+Total
05.88%5.88%——5.88%—17.65%
15.88%17.65%17.65%5.88%——47.06%
2——11.76%11.76%——23.53%
35.88%5.88%————11.76%
4———————
5+———————
Total17.65%29.41%29.41%17.65%5.88%—100%

Summary Statistics

Scored Allowed Difference
Mean 1.29 1.65 -0.35
SD 0.92 1.17 1.54
CV 0.71 0.71 —
Max 3 4 +3
Min 0 0 -4

Games Played: 17

↓ Scored | Allowed →012345+Total
05.88%—5.88%———11.76%
15.88%11.76%5.88%———23.53%
25.88%5.88%5.88%———17.65%
35.88%—5.88%———11.76%
417.65%—————17.65%
5+—5.88%5.88%5.88%——17.65%
Total41.18%23.53%29.41%5.88%——100%

Summary Statistics

Scored Allowed Difference
Mean 2.53 1.00 +1.53
SD 1.74 1.00 1.91
CV 0.69 1.00 —
Max 5 3 +4
Min 0 0 -2

Games Played: 17

↓ Scored | Allowed →012345+Total
0———5.88%——5.88%
15.88%17.65%5.88%———29.41%
2—11.76%17.65%11.76%——41.18%
35.88%—5.88%5.88%——17.65%
45.88%—————5.88%
5+———————
Total17.65%29.41%29.41%23.53%——100%

Summary Statistics

Scored Allowed Difference
Mean 1.88 1.59 +0.29
SD 0.99 1.06 1.57
CV 0.53 0.67 —
Max 4 3 +4
Min 0 0 -3

Games Played: 17

↓ Scored | Allowed →012345+Total
0—5.88%——5.88%5.88%17.65%
111.76%11.76%23.53%5.88%5.88%—58.82%
2—————5.88%5.88%
35.88%—5.88%5.88%——17.65%
4———————
5+———————
Total17.65%17.65%29.41%11.76%11.76%11.76%100%

Summary Statistics

Scored Allowed Difference
Mean 1.24 2.18 -0.94
SD 0.97 1.63 2.01
CV 0.79 0.75 —
Max 3 5 +3
Min 0 0 -5

Games Played: 17

↓ Scored | Allowed →012345+Total
011.76%—————11.76%
111.76%—5.88%5.88%5.88%—29.41%
25.88%11.76%17.65%5.88%5.88%—47.06%
3———————
4—5.88%————5.88%
5+—5.88%————5.88%
Total29.41%23.53%23.53%11.76%11.76%—100%

Summary Statistics

Scored Allowed Difference
Mean 1.76 1.53 +0.24
SD 1.25 1.37 1.79
CV 0.71 0.90 —
Max 5 4 +4
Min 0 0 -3

Games Played: 17

↓ Scored | Allowed →012345+Total
0—11.76%5.88%———17.65%
1—5.88%————5.88%
217.65%11.76%11.76%—5.88%—47.06%
3——17.65%———17.65%
4—11.76%————11.76%
5+———————
Total17.65%41.18%35.29%—5.88%—100%

Summary Statistics

Scored Allowed Difference
Mean 2.00 1.35 +0.65
SD 1.22 1.00 1.54
CV 0.61 0.74 —
Max 4 4 +3
Min 0 0 -2

Games Played: 17

↓ Scored | Allowed →012345+Total
0—5.88%5.88%5.88%5.88%5.88%29.41%
1——17.65%———17.65%
2—17.65%17.65%5.88%——41.18%
311.76%—————11.76%
4———————
5+———————
Total11.76%23.53%41.18%11.76%5.88%5.88%100%

Summary Statistics

Scored Allowed Difference
Mean 1.35 2.06 -0.71
SD 1.06 1.64 2.44
CV 0.78 0.80 —
Max 3 7 +3
Min 0 0 -7

Games Played: 17

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
Fola Esch 1566 39 50.61 -11.61 4.0% 34 40 46 51 55 60 64
Progres Niedercorn 1563 37 51.51 -14.51 0.0% 40 41 47 52 55 61 67
F91 Dudelange 1528 26 49.93 -23.93 0.0% 36 40 45 51 54 59 68
Differdange 03 1455 35 41.26 -6.26 20.0% 24 27 36 42 46 52 58
Racing FC Union Luxembourg 1429 25 39.70 -14.70 0.0% 26 29 35 39 44 50 59
Union Titus Petange 1428 33 42.21 -9.21 9.0% 24 31 37 41 47 53 62
UNA Strassen 1394 26 36.04 -10.04 2.0% 24 27 31 36 40 44 51
Jeunesse Esch 1349 19 38.08 -19.08 0.0% 23 28 34 38 43 48 52
Mondorf-les-Bains 1323 15 35.17 -20.17 0.0% 18 25 31 35 39 45 50
Etzella Ettelbruck 1291 17 28.47 -11.47 1.0% 16 19 25 29 32 37 46
Victoria Rosport 1281 18 28.33 -10.33 5.0% 14 18 24 28 32 39 46
Hostert 1246 16 26.04 -10.04 5.0% 10 16 22 26 30 35 42
Rodange 91 1204 15 19.56 -4.56 25.0% 4 10 15 20 23 30 38
Blue Boys Muhlenbach 1194 12 21.92 -9.92 3.0% 9 13 18 21 26 30 37

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
+2.52%
No Edge
41.18%20.17%38.66%
Elo Value
Home Edge: 8.76 Elo pts.
154 Elo
0.006 goals per Elo point
0400
Scoring Tilt
Expected
-0.04 goals
Neutral
-2+0.06+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 to 3rd * Middle of the Pack: 4th to 7th * Longshot: 8th 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
29%
Fola Esch, 2nd of 14
LongshotFavorite
Title Margin
Expected
0.12/gm
Tight Race
00.210.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 4.08 * Some Luck: 4.08 to 6.13 * Lucky: 6.13 to 8.17 * Wild Swing: 8.17 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.56 * Close: 1.56 to 2.35 * Off: 2.35 to 3.13 * Way Off: 3.13 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 14 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 14 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 14 * As Expected: 14 to 22.4 * Several Outliers: 22.4 to 30.8 * Many Outliers: 30.8 and up.
Luck Spread
Expected
4.66 points
Some Luck
05.1013
Average Finish Error
Expected
1.29
Pinpoint
01.954
Biggest Overachiever
Expected 96.43%
91.41%
Differdange 03
50100
Biggest Underachiever
Expected 3.57%
6.18%
Mondorf-les-Bains
050
Season Outliers
Expected
0 of 14
Minimal Outliers
01.47

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.21
Top-Heavy
00.170.5
Noll-Scully
Elo SD: 125.82
1.63
Coin-Flip Parity
11.651.852.052.5
Interquartile Edge
72%
Slight Edge
50%68%78%100%
Best vs. Worst
Baseline 93%
89%
Even
50%100%
Close Games
Expected
58%
Very Frequent
0%53%100%
Blowouts
Expected
24%
Occasional
0%22%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.58
Predictable
00.582
Matchup Imbalance
0.36
Slight Separation
00.350.5
Strangeness
Expected
0.79
Very Predictable
01.002
Repeatability
0.74
Near-Lock
00.430.621
Upset Rate
Expected
26%
Upset-Prone
0%25%50%
Clear Favorite Upset Rate
Expected
21%
Shaky Favorites
0%22%50%

Calibration

How these are measured

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

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

Team1234567891011121314
Fola Esch29.00%21.00%25.00%11.00%6.00%4.00%3.00%—1.00%—————
Progres Niedercorn36.00%25.00%15.00%13.00%10.00%1.00%————————
Differdange 032.00%10.00%14.00%12.00%16.00%10.00%14.00%10.00%7.00%1.00%2.00%2.00%——
Union Titus Petange4.00%7.00%13.00%16.00%13.00%14.00%13.00%7.00%6.00%4.00%2.00%1.00%——
F91 Dudelange27.00%26.00%18.00%13.00%6.00%4.00%5.00%—1.00%—————
UNA Strassen——3.00%4.00%8.00%20.00%12.00%22.00%12.00%7.00%9.00%2.00%1.00%—
Racing FC Union Luxembourg1.00%8.00%6.00%6.00%20.00%21.00%12.00%10.00%6.00%3.00%5.00%1.00%1.00%—
Jeunesse Esch—2.00%2.00%16.00%8.00%14.00%15.00%17.00%15.00%6.00%3.00%1.00%1.00%—
Victoria Rosport———3.00%2.00%1.00%6.00%5.00%12.00%20.00%18.00%17.00%7.00%9.00%
Etzella Ettelbruck—1.00%1.00%——2.00%6.00%6.00%14.00%17.00%21.00%15.00%11.00%6.00%
Hostert——————3.00%4.00%9.00%15.00%17.00%26.00%17.00%9.00%
Mondorf-les-Bains1.00%—3.00%6.00%11.00%9.00%10.00%16.00%14.00%16.00%9.00%3.00%2.00%—
Rodange 91——————1.00%1.00%1.00%4.00%7.00%13.00%28.00%45.00%
Blue Boys Muhlenbach———————2.00%2.00%7.00%7.00%19.00%32.00%31.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
Blue Boys Muhlenbach 100%
Differdange 03 100%
Etzella Ettelbruck 100%
F91 Dudelange 100%
Fola Esch 100%
Hostert 100%
Jeunesse Esch 100%
Mondorf-les-Bains 100%
Progres Niedercorn 100%
Racing FC Union Luxembourg 100%
Rodange 91 100%
UNA Strassen 100%
Union Titus Petange 100%
Victoria Rosport 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
2019-08-04 Blue Boys Muhlenbach W 3-137.2 1527 1270 69.30% 18.22% 12.48%+1.72 +5.4 3
2019-08-04 @ F91 Dudelange L 1-337.2 1270 1527 12.48% 18.22% 69.30%-1.72 -5.4 0
2019-08-04 Differdange 03 L 1-254.4 1477 1389 52.27% 20.94% 26.80%+0.62 -11.2 0
2019-08-04 @ Fola Esch W 2-154.4 1389 1477 26.80% 20.94% 52.27%-0.62 +11.2 3
2019-08-04 Etzella Ettelbruck W 3-035.5 1324 1324 40.59% 21.39% 38.03%+0.06 +24.8 3
2019-08-04 @ Victoria Rosport L 0-335.5 1324 1324 38.03% 21.39% 40.59%-0.06 -24.8 0
2019-08-04 Mondorf-les-Bains L 0-139.7 1320 1388 31.25% 21.22% 47.53%-0.38 -7.7 0
2019-08-04 @ Hostert W 1-039.7 1388 1320 47.53% 21.22% 31.25%+0.38 +7.7 3
2019-08-04 UNA Strassen L 1-240.0 1200 1366 20.47% 20.20% 59.34%-1.02 -5.0 0
2019-08-04 @ Rodange 91 W 2-140.0 1366 1200 59.34% 20.20% 20.47%+1.02 +5.0 3
2019-08-04 Union Titus Petange L 2-356.2 1407 1362 46.68% 21.25% 32.07%+0.34 -9.6 0
2019-08-04 @ Racing FC Union Luxembourg W 3-256.2 1362 1407 32.07% 21.25% 46.68%-0.34 +9.6 3
2019-08-05 Jeunesse Esch W 4-038.5 1467 1430 45.78% 21.28% 32.94%+0.30 +28.9 3
2019-08-05 @ Progres Niedercorn L 0-438.5 1430 1467 32.94% 21.28% 45.78%-0.30 -28.9 0
2019-08-11 Fola Esch L 2-448.5 1372 1466 28.07% 21.03% 50.90%-0.55 -10.3 3
2019-08-11 @ UNA Strassen W 4-248.5 1466 1372 50.90% 21.03% 28.07%+0.55 +10.3 3
2019-08-11 Mondorf-les-Bains D 1-156.2 1400 1396 41.19% 21.38% 37.43%+0.09 -0.2 4
2019-08-11 @ Differdange 03 D 1-156.2 1396 1400 37.43% 21.38% 41.19%-0.09 +0.2 4
2019-08-11 Progres Niedercorn L 3-547.0 1312 1496 18.96% 19.94% 61.11%-1.13 -6.9 0
2019-08-11 @ Hostert W 5-347.0 1496 1312 61.11% 19.94% 18.96%+1.13 +6.9 6
2019-08-11 Racing FC Union Luxembourg W 3-254.1 1401 1397 41.10% 21.38% 37.51%+0.08 +8.0 3
2019-08-11 @ Jeunesse Esch L 2-354.1 1397 1401 37.51% 21.38% 41.10%-0.08 -8.0 0
2019-08-11 Rodange 91 W 5-239.8 1299 1195 54.27% 20.77% 24.96%+0.73 +12.8 3
2019-08-11 @ Etzella Ettelbruck L 2-539.8 1195 1299 24.96% 20.77% 54.27%-0.73 -12.8 0
2019-08-11 Victoria Rosport L 0-332.5 1265 1349 29.24% 21.11% 49.65%-0.49 -20.1 0
2019-08-11 @ Blue Boys Muhlenbach W 3-032.5 1349 1265 49.65% 21.11% 29.24%+0.49 +20.1 6
2019-08-17 Jeunesse Esch L 1-355.4 1532 1409 56.54% 20.54% 22.92%+0.86 -20.7 3
2019-08-17 @ F91 Dudelange W 3-155.4 1409 1532 22.92% 20.54% 56.54%-0.86 +20.7 6
2019-08-18 Blue Boys Muhlenbach L 1-340.7 1182 1245 31.96% 21.25% 46.79%-0.35 -12.9 0
2019-08-18 @ Rodange 91 W 3-140.7 1245 1182 46.79% 21.25% 31.96%+0.35 +12.9 3
2019-08-18 Etzella Ettelbruck W 3-139.6 1476 1312 60.91% 19.97% 19.12%+1.12 +8.2 6
2019-08-18 @ Fola Esch L 1-339.6 1312 1476 19.12% 19.97% 60.91%-1.12 -8.2 3
2019-08-18 Hostert W 3-140.5 1400 1306 53.15% 20.87% 25.98%+0.67 +10.8 7
2019-08-18 @ Differdange 03 L 1-340.5 1306 1400 25.98% 20.87% 53.15%-0.67 -10.8 0
2019-08-18 Progres Niedercorn D 1-158.9 1389 1503 25.78% 20.85% 53.37%-0.68 +1.4 1
2019-08-18 @ Racing FC Union Luxembourg D 1-158.9 1503 1389 53.37% 20.85% 25.78%+0.68 -1.4 7
2019-08-18 UNA Strassen D 0-051.6 1396 1361 45.44% 21.30% 33.26%+0.28 -0.7 5
2019-08-18 @ Mondorf-les-Bains D 0-051.6 1361 1396 33.26% 21.30% 45.44%-0.28 +0.7 4
2019-08-18 Union Titus Petange L 1-248.0 1369 1372 40.11% 21.39% 38.50%+0.04 -8.9 6
2019-08-18 @ Victoria Rosport W 2-148.0 1372 1369 38.50% 21.39% 40.11%-0.04 +8.9 6
2019-08-24 Rodange 91 W 4-133.2 1381 1169 65.47% 19.14% 15.39%+1.43 +9.4 9
2019-08-24 @ Union Titus Petange L 1-433.2 1169 1381 15.39% 19.14% 65.47%-1.43 -9.4 0
2019-08-25 Differdange 03 L 1-344.0 1362 1411 33.70% 21.31% 44.99%-0.26 -13.5 4
2019-08-25 @ UNA Strassen W 3-144.0 1411 1362 44.99% 21.31% 33.70%+0.26 +13.5 10
2019-08-25 Fola Esch W 3-260.7 1257 1484 15.57% 19.19% 65.24%-1.41 +13.0 6
2019-08-25 @ Blue Boys Muhlenbach L 2-360.7 1484 1257 65.24% 19.19% 15.57%+1.41 -13.0 6
2019-08-25 Mondorf-les-Bains L 1-341.1 1304 1395 28.31% 21.05% 50.64%-0.54 -11.6 3
2019-08-25 @ Etzella Ettelbruck W 3-141.1 1395 1304 50.64% 21.05% 28.31%+0.54 +11.6 8
2019-08-25 Racing FC Union Luxembourg L 0-332.7 1295 1390 27.88% 21.02% 51.10%-0.56 -19.3 0
2019-08-25 @ Hostert W 3-032.7 1390 1295 51.10% 21.02% 27.88%+0.56 +19.3 4
2019-08-25 Victoria Rosport W 2-145.4 1430 1360 50.02% 21.09% 28.89%+0.51 +6.8 9
2019-08-25 @ Jeunesse Esch L 1-245.4 1360 1430 28.89% 21.09% 50.02%-0.51 -6.8 6
2019-08-26 F91 Dudelange W 2-047.3 1501 1512 39.11% 21.39% 39.50%-0.01 +17.6 10
2019-08-26 @ Progres Niedercorn L 0-247.3 1512 1501 39.50% 21.39% 39.11%+0.01 -17.6 3
2019-08-31 Jeunesse Esch D 3-365.2 1160 1436 12.35% 18.18% 69.47%-1.74 +1.9 1
2019-08-31 @ Rodange 91 D 3-365.2 1436 1160 69.47% 18.18% 12.35%+1.74 -1.9 10
2019-08-31 Progres Niedercorn L 0-334.1 1353 1519 20.52% 20.20% 59.28%-1.02 -14.7 6
2019-08-31 @ Victoria Rosport W 3-034.1 1519 1353 59.28% 20.20% 20.52%+1.02 +14.7 13
2019-09-01 Blue Boys Muhlenbach W 3-030.6 1407 1270 58.01% 20.37% 21.62%+0.94 +15.4 11
2019-09-01 @ Mondorf-les-Bains L 0-330.6 1270 1407 21.62% 20.37% 58.01%-0.94 -15.4 6
2019-09-01 Etzella Ettelbruck W 2-141.9 1424 1292 57.56% 20.42% 22.02%+0.92 +5.4 13
2019-09-01 @ Differdange 03 L 1-241.9 1292 1424 22.02% 20.42% 57.56%-0.92 -5.4 3
2019-09-01 Hostert W 4-138.2 1348 1276 50.45% 21.06% 28.49%+0.53 +16.5 7
2019-09-01 @ UNA Strassen L 1-438.2 1276 1348 28.49% 21.06% 50.45%-0.53 -16.5 0
2019-09-01 Racing FC Union Luxembourg D 3-370.0 1494 1410 51.89% 20.96% 27.15%+0.60 -0.8 4
2019-09-01 @ F91 Dudelange D 3-370.0 1410 1494 27.15% 20.96% 51.89%-0.60 +0.8 5
2019-09-01 Union Titus Petange W 2-038.3 1471 1390 51.43% 21.00% 27.57%+0.58 +13.1 9
2019-09-01 @ Fola Esch L 0-238.3 1390 1471 27.57% 21.00% 51.43%-0.58 -13.1 9
2019-09-14 F91 Dudelange W 1-050.1 1259 1493 15.04% 19.04% 65.92%-1.46 +14.6 3
2019-09-14 @ Hostert L 0-150.1 1493 1259 65.92% 19.04% 15.04%+1.46 -14.6 4
2019-09-15 Differdange 03 L 0-232.2 1255 1430 19.71% 20.07% 60.22%-1.08 -9.8 6
2019-09-15 @ Blue Boys Muhlenbach W 2-032.2 1430 1255 60.22% 20.07% 19.71%+1.08 +9.8 16
2019-09-15 Fola Esch L 0-339.9 1434 1484 33.61% 21.31% 45.08%-0.27 -22.5 10
2019-09-15 @ Jeunesse Esch W 3-039.9 1484 1434 45.08% 21.31% 33.61%+0.27 +22.5 12
2019-09-15 Mondorf-les-Bains W 3-256.2 1377 1423 34.22% 21.32% 44.46%-0.24 +9.2 12
2019-09-15 @ Union Titus Petange L 2-356.2 1423 1377 44.46% 21.32% 34.22%+0.24 -9.2 11
2019-09-15 UNA Strassen W 3-255.2 1286 1365 29.94% 21.15% 48.91%-0.45 +10.0 6
2019-09-15 @ Etzella Ettelbruck L 2-355.2 1365 1286 48.91% 21.15% 29.94%+0.45 -10.0 7
2019-09-15 Victoria Rosport D 2-261.3 1410 1338 50.33% 21.07% 28.60%+0.52 -0.8 6
2019-09-15 @ Racing FC Union Luxembourg D 2-261.3 1338 1410 28.60% 21.07% 50.33%-0.52 +0.8 7
2019-09-16 Rodange 91 W 1-030.6 1534 1162 77.24% 15.52% 7.24%+2.47 +1.9 16
2019-09-16 @ Progres Niedercorn L 0-130.6 1162 1534 7.24% 15.52% 77.24%-2.47 -1.9 1
2019-09-25 F91 Dudelange W 2-045.3 1386 1479 28.29% 21.05% 50.66%-0.54 +21.7 15
2019-09-25 @ Union Titus Petange L 0-245.3 1479 1386 50.66% 21.05% 28.29%+0.54 -21.7 4
2019-09-29 Blue Boys Muhlenbach W 2-033.0 1355 1245 54.95% 20.71% 24.34%+0.77 +11.8 10
2019-09-29 @ UNA Strassen L 0-233.0 1245 1355 24.34% 20.71% 54.95%-0.77 -11.8 6
2019-09-29 F91 Dudelange L 0-736.0 1339 1457 25.38% 20.81% 53.81%-0.71 -39.3 7
2019-09-29 @ Victoria Rosport W 7-036.0 1457 1339 53.81% 20.81% 25.38%+0.71 +39.3 7
2019-09-29 Hostert L 0-142.2 1296 1274 43.78% 21.34% 34.88%+0.21 -10.2 6
2019-09-29 @ Etzella Ettelbruck W 1-042.2 1274 1296 34.88% 21.34% 43.78%-0.21 +10.2 6
2019-09-29 Jeunesse Esch L 2-355.8 1413 1412 40.76% 21.39% 37.85%+0.07 -8.6 11
2019-09-29 @ Mondorf-les-Bains W 3-255.8 1412 1413 37.85% 21.39% 40.76%-0.07 +8.6 13
2019-09-29 Progres Niedercorn W 2-049.1 1507 1536 36.45% 21.37% 42.18%-0.13 +18.6 15
2019-09-29 @ Fola Esch L 0-249.1 1536 1507 42.18% 21.37% 36.45%+0.13 -18.6 16
2019-09-29 Racing FC Union Luxembourg D 1-154.2 1160 1410 14.00% 18.74% 67.26%-1.56 +2.9 2
2019-09-29 @ Rodange 91 D 1-154.2 1410 1160 67.26% 18.74% 14.00%+1.56 -2.9 7
2019-09-29 Union Titus Petange L 2-357.6 1440 1408 44.97% 21.31% 33.72%+0.26 -9.3 16
2019-09-29 @ Differdange 03 W 3-257.6 1408 1440 33.72% 21.31% 44.97%-0.26 +9.3 18
2019-10-05 Differdange 03 D 1-157.5 1420 1430 39.15% 21.39% 39.46%-0.01 +0.0 14
2019-10-05 @ Jeunesse Esch D 1-157.5 1430 1420 39.46% 21.39% 39.15%+0.01 -0.0 17
2019-10-06 Etzella Ettelbruck D 1-153.2 1233 1286 33.21% 21.29% 45.49%-0.29 +0.6 7
2019-10-06 @ Blue Boys Muhlenbach D 1-153.2 1286 1233 45.49% 21.29% 33.21%+0.29 -0.6 7
2019-10-06 Fola Esch D 2-266.2 1407 1525 25.27% 20.80% 53.93%-0.71 +1.1 8
2019-10-06 @ Racing FC Union Luxembourg D 2-266.2 1525 1407 53.93% 20.80% 25.27%+0.71 -1.1 16
2019-10-06 Mondorf-les-Bains D 2-265.9 1517 1405 55.26% 20.68% 24.07%+0.79 -1.2 17
2019-10-06 @ Progres Niedercorn D 2-265.9 1405 1517 24.07% 20.68% 55.26%-0.79 +1.2 12
2019-10-06 Rodange 91 W 4-024.9 1496 1163 74.83% 16.47% 8.71%+2.22 +8.2 10
2019-10-06 @ F91 Dudelange L 0-424.9 1163 1496 8.71% 16.47% 74.83%-2.22 -8.2 2
2019-10-06 UNA Strassen D 2-261.9 1417 1367 47.56% 21.22% 31.23%+0.39 -0.6 19
2019-10-06 @ Union Titus Petange D 2-261.9 1367 1417 31.23% 21.22% 47.56%-0.39 +0.6 11
2019-10-06 Victoria Rosport W 2-037.9 1284 1300 38.25% 21.39% 40.36%-0.05 +17.9 9
2019-10-06 @ Hostert L 0-237.9 1300 1284 40.36% 21.39% 38.25%+0.05 -17.9 7
2019-10-19 Progres Niedercorn L 1-543.8 1430 1516 29.07% 21.10% 49.83%-0.50 -21.7 17
2019-10-19 @ Differdange 03 W 5-143.8 1516 1430 49.83% 21.10% 29.07%+0.50 +21.7 20
2019-10-20 F91 Dudelange W 2-155.1 1524 1504 43.37% 21.35% 35.28%+0.19 +8.1 19
2019-10-20 @ Fola Esch L 1-255.1 1504 1524 35.28% 21.35% 43.37%-0.19 -8.1 10
2019-10-20 Racing FC Union Luxembourg L 0-438.4 1406 1408 40.30% 21.39% 38.31%+0.05 -34.0 12
2019-10-20 @ Mondorf-les-Bains W 4-038.4 1408 1406 38.31% 21.39% 40.30%-0.05 +34.0 11
2019-10-20 Union Titus Petange L 1-242.4 1286 1417 23.93% 20.66% 55.40%-0.79 -5.8 7
2019-10-20 @ Etzella Ettelbruck W 2-142.4 1417 1286 55.40% 20.66% 23.93%+0.79 +5.8 22
2019-10-26 UNA Strassen D 0-055.9 1538 1367 61.53% 19.87% 18.60%+1.16 -2.5 21
2019-10-26 @ Progres Niedercorn D 0-055.9 1367 1538 18.60% 19.87% 61.53%-1.16 +2.5 12
2019-10-27 Blue Boys Muhlenbach W 2-030.9 1423 1234 63.33% 19.56% 17.11%+1.28 +8.5 25
2019-10-27 @ Union Titus Petange L 0-230.9 1234 1423 17.11% 19.56% 63.33%-1.28 -8.5 7
2019-10-27 Differdange 03 W 3-254.2 1442 1409 45.20% 21.30% 33.50%+0.27 +7.3 14
2019-10-27 @ Racing FC Union Luxembourg L 2-354.2 1409 1442 33.50% 21.30% 45.20%-0.27 -7.3 17
2019-10-27 Etzella Ettelbruck D 1-154.8 1421 1280 58.44% 20.31% 21.25%+0.97 -2.0 15
2019-10-27 @ Jeunesse Esch D 1-154.8 1280 1421 21.25% 20.31% 58.44%-0.97 +1.9 8
2019-10-27 Fola Esch L 0-429.7 1282 1532 13.96% 18.72% 67.32%-1.57 -13.3 7
2019-10-27 @ Victoria Rosport W 4-029.7 1532 1282 67.32% 18.72% 13.96%+1.57 +13.3 22
2019-10-27 Mondorf-les-Bains W 3-142.9 1496 1372 56.63% 20.53% 22.84%+0.86 +9.7 13
2019-10-27 @ F91 Dudelange L 1-342.9 1372 1496 22.84% 20.53% 56.63%-0.86 -9.7 12
2019-10-27 Rodange 91 L 2-357.0 1302 1155 59.13% 20.22% 20.64%+1.01 -11.8 9
2019-10-27 @ Hostert W 3-257.0 1155 1302 20.64% 20.22% 59.13%-1.01 +11.8 5
2019-11-03 F91 Dudelange L 0-337.3 1401 1506 26.83% 20.94% 52.23%-0.62 -18.6 17
2019-11-03 @ Differdange 03 W 3-037.3 1506 1401 52.23% 20.94% 26.83%+0.62 +18.6 16
2019-11-03 Hostert W 2-033.1 1431 1290 58.51% 20.30% 21.18%+0.97 +10.4 28
2019-11-03 @ Union Titus Petange L 0-233.1 1290 1431 21.18% 20.30% 58.51%-0.97 -10.4 9
2019-11-03 Jeunesse Esch W 4-255.1 1226 1419 18.16% 19.78% 62.06%-1.19 +20.2 10
2019-11-03 @ Blue Boys Muhlenbach L 2-455.1 1419 1226 62.06% 19.78% 18.16%+1.19 -20.2 15
2019-11-03 Progres Niedercorn L 0-429.7 1282 1535 13.77% 18.66% 67.57%-1.59 -13.1 8
2019-11-03 @ Etzella Ettelbruck W 4-029.7 1535 1282 67.57% 18.66% 13.77%+1.59 +13.1 24
2019-11-03 Racing FC Union Luxembourg W 2-152.2 1370 1449 29.86% 21.15% 49.00%-0.46 +10.5 15
2019-11-03 @ UNA Strassen L 1-252.2 1449 1370 49.00% 21.15% 29.86%+0.46 -10.5 14
2019-11-03 Rodange 91 W 5-025.4 1546 1166 77.66% 15.34% 7.00%+2.52 +8.0 25
2019-11-03 @ Fola Esch L 0-525.4 1166 1546 7.00% 15.34% 77.66%-2.52 -8.0 5
2019-11-03 Victoria Rosport L 1-250.4 1362 1269 53.03% 20.88% 26.10%+0.66 -11.3 12
2019-11-03 @ Mondorf-les-Bains W 2-150.4 1269 1362 26.10% 20.88% 53.03%-0.66 +11.3 10
2019-11-19 Victoria Rosport W 1-044.7 1159 1280 24.96% 20.77% 54.27%-0.73 +12.2 8
2019-11-19 @ Rodange 91 L 0-144.7 1280 1159 54.27% 20.77% 24.96%+0.73 -12.2 10
2019-11-20 Jeunesse Esch W 1-043.7 1380 1398 38.00% 21.39% 40.61%-0.06 +9.6 18
2019-11-20 @ UNA Strassen L 0-143.7 1398 1380 40.61% 21.39% 38.00%+0.06 -9.6 15
2019-11-23 Blue Boys Muhlenbach W 5-237.3 1548 1246 72.72% 17.20% 10.08%+2.02 +5.3 27
2019-11-23 @ Progres Niedercorn L 2-537.3 1246 1548 10.08% 17.20% 72.72%-2.02 -5.3 10
2019-11-24 Differdange 03 L 2-348.2 1268 1383 25.68% 20.84% 53.48%-0.69 -5.9 10
2019-11-24 @ Victoria Rosport W 3-248.2 1383 1268 53.48% 20.84% 25.68%+0.69 +5.9 20
2019-11-24 Etzella Ettelbruck L 0-342.7 1439 1269 61.49% 19.87% 18.63%+1.16 -37.6 14
2019-11-24 @ Racing FC Union Luxembourg W 3-042.7 1269 1439 18.63% 19.87% 61.49%-1.16 +37.6 11
2019-11-24 Fola Esch D 1-158.0 1279 1554 12.50% 18.23% 69.28%-1.72 +3.1 10
2019-11-24 @ Hostert D 1-158.0 1554 1279 69.28% 18.23% 12.50%+1.72 -3.1 26
2019-11-24 Mondorf-les-Bains D 1-153.6 1171 1351 19.24% 19.99% 60.77%-1.11 +2.2 9
2019-11-24 @ Rodange 91 D 1-153.6 1351 1171 60.77% 19.99% 19.24%+1.11 -2.2 13
2019-11-24 UNA Strassen D 2-265.7 1525 1390 57.77% 20.40% 21.83%+0.93 -1.4 17
2019-11-24 @ F91 Dudelange D 2-265.7 1390 1525 21.83% 20.40% 57.77%-0.93 +1.4 19
2019-11-24 Union Titus Petange L 1-442.9 1389 1442 33.22% 21.29% 45.49%-0.29 -18.8 15
2019-11-24 @ Jeunesse Esch W 4-142.9 1442 1389 45.49% 21.29% 33.22%+0.29 +18.8 31
2019-11-30 Hostert L 1-250.4 1370 1283 52.27% 20.94% 26.79%+0.62 -11.2 15
2019-11-30 @ Jeunesse Esch W 2-150.4 1283 1370 26.79% 20.94% 52.27%-0.62 +11.2 13
2019-12-01 F91 Dudelange L 1-437.2 1306 1523 16.29% 19.37% 64.35%-1.35 -10.0 11
2019-12-01 @ Etzella Ettelbruck W 4-137.2 1523 1306 64.35% 19.37% 16.29%+1.35 +10.0 20
2019-12-01 Rodange 91 W 2-138.0 1388 1173 65.82% 19.06% 15.12%+1.45 +3.8 23
2019-12-01 @ Differdange 03 L 1-238.0 1173 1388 15.12% 19.06% 65.82%-1.45 -3.8 9
2019-12-01 Victoria Rosport D 2-260.2 1391 1262 57.22% 20.46% 22.32%+0.90 -1.4 20
2019-12-01 @ UNA Strassen D 2-260.2 1262 1391 22.32% 20.46% 57.22%-0.90 +1.3 11
2019-12-08 Hostert L 0-138.9 1240 1294 33.16% 21.29% 45.55%-0.29 -8.1 10
2019-12-08 @ Blue Boys Muhlenbach W 1-038.9 1294 1240 45.55% 21.29% 33.16%+0.29 +8.1 16
2019-12-11 Fola Esch D 2-265.5 1349 1550 17.46% 19.64% 62.90%-1.25 +1.8 14
2019-12-11 @ Mondorf-les-Bains D 2-265.5 1550 1349 62.90% 19.64% 17.46%+1.25 -1.8 27
2019-12-11 Progres Niedercorn D 1-163.2 1460 1554 28.17% 21.04% 50.79%-0.55 +1.1 32
2019-12-11 @ Union Titus Petange D 1-163.2 1554 1460 50.79% 21.04% 28.17%+0.55 -1.2 28
2020-02-16 Racing FC Union Luxembourg D 2-260.1 1232 1401 20.27% 20.16% 59.57%-1.04 +1.5 11
2020-02-16 @ Blue Boys Muhlenbach D 2-260.1 1401 1232 59.57% 20.16% 20.27%+1.04 -1.5 15
2020-02-22 Hostert W 4-030.3 1552 1302 68.79% 18.36% 12.85%+1.68 +12.2 31
2020-02-22 @ Progres Niedercorn L 0-430.3 1302 1552 12.85% 18.36% 68.79%-1.68 -12.2 16
2020-02-23 Blue Boys Muhlenbach W 2-144.1 1263 1234 44.68% 21.32% 34.00%+0.25 +7.8 14
2020-02-23 @ Victoria Rosport L 1-244.1 1234 1263 34.00% 21.32% 44.68%-0.25 -7.8 11
2020-02-23 Differdange 03 L 1-246.4 1351 1392 34.71% 21.34% 43.96%-0.21 -7.9 14
2020-02-23 @ Mondorf-les-Bains W 2-146.4 1392 1351 43.96% 21.34% 34.71%+0.21 +8.0 26
2020-02-23 Etzella Ettelbruck L 1-240.9 1169 1296 24.35% 20.71% 54.94%-0.77 -5.9 9
2020-02-23 @ Rodange 91 W 2-140.9 1296 1169 54.94% 20.71% 24.35%+0.77 +5.9 14
2020-02-23 Jeunesse Esch D 1-155.4 1399 1359 46.21% 21.27% 32.52%+0.32 -0.7 16
2020-02-23 @ Racing FC Union Luxembourg D 1-155.4 1359 1399 32.52% 21.27% 46.21%-0.32 +0.7 16
2020-02-23 UNA Strassen W 2-146.7 1549 1390 60.34% 20.05% 19.61%+1.08 +4.9 30
2020-02-23 @ Fola Esch L 1-246.7 1390 1549 19.61% 20.05% 60.34%-1.08 -4.8 20
2020-02-23 Union Titus Petange W 4-254.0 1533 1462 50.28% 21.07% 28.65%+0.52 +10.5 23
2020-02-23 @ F91 Dudelange L 2-454.0 1462 1533 28.65% 21.07% 50.28%-0.52 -10.5 32
2020-02-29 Differdange 03 L 0-332.2 1290 1400 26.15% 20.88% 52.97%-0.66 -18.2 16
2020-02-29 @ Hostert W 3-032.2 1400 1290 52.97% 20.88% 26.15%+0.66 +18.2 29
2020-02-29 Fola Esch L 0-136.8 1302 1553 13.90% 18.70% 67.40%-1.57 -3.7 14
2020-02-29 @ Etzella Ettelbruck W 1-036.8 1553 1302 67.40% 18.70% 13.90%+1.57 +3.7 33
2020-02-29 Mondorf-les-Bains W 1-040.3 1385 1343 46.47% 21.26% 32.27%+0.33 +8.0 23
2020-02-29 @ UNA Strassen L 0-140.3 1343 1385 32.27% 21.26% 46.47%-0.33 -8.0 14
2020-02-29 Racing FC Union Luxembourg L 1-260.0 1565 1399 61.09% 19.94% 18.97%+1.13 -12.8 31
2020-02-29 @ Progres Niedercorn W 2-160.0 1399 1565 18.97% 19.94% 61.09%-1.13 +12.9 19
2020-02-29 Victoria Rosport D 2-261.3 1451 1271 62.50% 19.71% 17.79%+1.22 -1.8 33
2020-02-29 @ Union Titus Petange D 2-261.3 1271 1451 17.79% 19.71% 62.50%-1.22 +1.8 15
2020-03-01 F91 Dudelange L 0-140.1 1360 1544 18.91% 19.93% 61.17%-1.14 -5.0 16
2020-03-01 @ Jeunesse Esch W 1-040.1 1544 1360 61.17% 19.93% 18.91%+1.14 +5.0 26
2020-03-01 Rodange 91 L 0-337.6 1226 1163 49.15% 21.14% 29.72%+0.46 -30.7 11
2020-03-01 @ Blue Boys Muhlenbach W 3-037.6 1163 1226 29.72% 21.14% 49.15%-0.46 +30.7 12
2020-03-04 Blue Boys Muhlenbach W 4-239.0 1557 1195 76.62% 15.77% 7.60%+2.40 +2.9 36
2020-03-04 @ Fola Esch L 2-439.0 1195 1557 7.60% 15.77% 76.62%-2.40 -2.9 11
2020-03-04 Etzella Ettelbruck L 1-248.3 1335 1299 45.61% 21.29% 33.10%+0.29 -9.9 14
2020-03-04 @ Mondorf-les-Bains W 2-148.3 1299 1335 33.10% 21.29% 45.61%-0.29 +9.9 17
2020-03-04 Hostert W 2-141.2 1412 1271 58.40% 20.32% 21.28%+0.97 +5.2 22
2020-03-04 @ Racing FC Union Luxembourg L 1-241.2 1271 1412 21.28% 20.32% 58.40%-0.97 -5.2 16
2020-03-04 Jeunesse Esch W 2-149.3 1273 1355 29.54% 21.13% 49.33%-0.47 +10.6 18
2020-03-04 @ Victoria Rosport L 1-249.3 1355 1273 49.33% 21.13% 29.54%+0.47 -10.6 16
2020-03-04 Progres Niedercorn L 2-364.9 1549 1552 40.12% 21.39% 38.49%+0.04 -8.5 26
2020-03-04 @ F91 Dudelange W 3-264.9 1552 1549 38.49% 21.39% 40.12%-0.04 +8.5 34
2020-03-04 UNA Strassen W 4-142.8 1418 1393 44.11% 21.33% 34.55%+0.22 +19.4 32
2020-03-04 @ Differdange 03 L 1-442.8 1393 1418 34.55% 21.33% 44.11%-0.22 -19.4 23
2020-03-04 Union Titus Petange W 1-049.1 1194 1449 13.64% 18.62% 67.74%-1.60 +15.0 15
2020-03-04 @ Rodange 91 L 0-149.1 1449 1194 67.74% 18.62% 13.64%+1.60 -15.0 33
2020-03-08 Differdange 03 L 0-332.4 1308 1438 24.11% 20.68% 55.21%-0.78 -17.0 17
2020-03-08 @ Etzella Ettelbruck W 3-032.4 1438 1308 55.21% 20.68% 24.11%+0.78 +17.0 35
2020-03-08 F91 Dudelange W 1-052.9 1417 1540 24.76% 20.75% 54.49%-0.74 +12.3 25
2020-03-08 @ Racing FC Union Luxembourg L 0-152.9 1540 1417 54.49% 20.75% 24.76%+0.74 -12.3 26
2020-03-08 Fola Esch L 0-145.3 1434 1560 24.50% 20.72% 54.78%-0.76 -6.3 33
2020-03-08 @ Union Titus Petange W 1-045.3 1560 1434 54.78% 20.72% 24.50%+0.76 +6.3 39
2020-03-08 Mondorf-les-Bains D 1-153.3 1192 1325 23.81% 20.65% 55.55%-0.80 +1.6 12
2020-03-08 @ Blue Boys Muhlenbach D 1-153.3 1325 1192 55.55% 20.65% 23.81%+0.80 -1.6 15
2020-03-08 Rodange 91 W 2-140.4 1344 1209 57.82% 20.39% 21.78%+0.93 +5.3 19
2020-03-08 @ Jeunesse Esch L 1-240.4 1209 1344 21.78% 20.39% 57.82%-0.93 -5.3 15
2020-03-08 UNA Strassen L 1-536.2 1266 1374 26.49% 20.91% 52.60%-0.64 -20.1 16
2020-03-08 @ Hostert W 5-136.2 1374 1266 52.60% 20.91% 26.49%+0.64 +20.1 26
2020-03-08 Victoria Rosport W 2-140.5 1560 1283 70.84% 17.79% 11.37%+1.85 +2.8 37
2020-03-08 @ Progres Niedercorn L 1-240.5 1283 1560 11.37% 17.79% 70.84%-1.85 -2.9 18

Biggest Upsets

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

# Date Underdog Win % Winning Team Losing Team
Team Elo Score Team Elo Score
1 2020-03-04 13.64% @ Rodange 91 1194 1 Union Titus Petange 1449 0
2 2019-09-14 15.04% @ Hostert 1259 1 F91 Dudelange 1493 0
3 2019-08-25 15.57% @ Blue Boys Muhlenbach 1257 3 Fola Esch 1484 2
4 2019-11-03 18.16% @ Blue Boys Muhlenbach 1226 4 Jeunesse Esch 1419 2
5 2019-11-24 18.63% Etzella Ettelbruck 1269 3 @ Racing FC Union Luxembourg 1439 0
6 2020-02-29 18.97% Racing FC Union Luxembourg 1399 2 @ Progres Niedercorn 1565 1
7 2019-10-27 20.64% Rodange 91 1155 3 @ Hostert 1302 2
8 2019-08-17 22.92% Jeunesse Esch 1409 3 @ F91 Dudelange 1532 1
9 2020-03-08 24.76% @ Racing FC Union Luxembourg 1417 1 F91 Dudelange 1540 0
10 2019-11-19 24.96% @ Rodange 91 1159 1 Victoria Rosport 1280 0
11 2019-11-03 26.10% Victoria Rosport 1269 2 @ Mondorf-les-Bains 1362 1
12 2019-11-30 26.79% Hostert 1283 2 @ Jeunesse Esch 1370 1
13 2019-08-04 26.80% Differdange 03 1389 2 @ Fola Esch 1477 1
14 2019-09-25 28.29% @ Union Titus Petange 1386 2 F91 Dudelange 1479 0
15 2020-03-04 29.54% @ Victoria Rosport 1273 2 Jeunesse Esch 1355 1
16 2020-03-01 29.72% Rodange 91 1163 3 @ Blue Boys Muhlenbach 1226 0
17 2019-11-03 29.86% @ UNA Strassen 1370 2 Racing FC Union Luxembourg 1449 1
18 2019-09-15 29.94% @ Etzella Ettelbruck 1286 3 UNA Strassen 1365 2
19 2019-08-04 32.07% Union Titus Petange 1362 3 @ Racing FC Union Luxembourg 1407 2
20 2020-03-04 33.10% Etzella Ettelbruck 1299 2 @ Mondorf-les-Bains 1335 1
21 2019-09-29 33.72% Union Titus Petange 1408 3 @ Differdange 03 1440 2
22 2019-09-15 34.22% @ Union Titus Petange 1377 3 Mondorf-les-Bains 1423 2
23 2019-09-29 34.88% Hostert 1274 1 @ Etzella Ettelbruck 1296 0
24 2019-09-29 36.45% @ Fola Esch 1507 2 Progres Niedercorn 1536 0
25 2019-09-29 37.85% Jeunesse Esch 1412 3 @ Mondorf-les-Bains 1413 2

Biggest Elo Changes

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

# Date Elo Δ Winning Team Losing Team Tie %
Team Score Elo Win % Team Score Elo Win %
1 2019-09-29 39.34 F91 Dudelange 7 1457 53.81% @ Victoria Rosport 0 1339 25.38% 20.81%
2 2019-11-24 37.58 Etzella Ettelbruck 3 1269 18.63% @ Racing FC Union Luxembourg 0 1439 61.49% 19.87%
3 2019-10-20 33.99 Racing FC Union Luxembourg 4 1408 38.31% @ Mondorf-les-Bains 0 1406 40.30% 21.39%
4 2020-03-01 30.69 Rodange 91 3 1163 29.72% @ Blue Boys Muhlenbach 0 1226 49.15% 21.14%
5 2019-08-05 28.92 @ Progres Niedercorn 4 1467 45.78% Jeunesse Esch 0 1430 32.94% 21.28%
6 2019-08-04 24.85 @ Victoria Rosport 3 1324 40.59% Etzella Ettelbruck 0 1324 38.03% 21.39%
7 2019-09-15 22.51 Fola Esch 3 1484 45.08% @ Jeunesse Esch 0 1434 33.61% 21.31%
8 2019-10-19 21.73 Progres Niedercorn 5 1516 49.83% @ Differdange 03 1 1430 29.07% 21.10%
9 2019-09-25 21.69 @ Union Titus Petange 2 1386 28.29% F91 Dudelange 0 1479 50.66% 21.05%
10 2019-08-17 20.73 Jeunesse Esch 3 1409 22.92% @ F91 Dudelange 1 1532 56.54% 20.54%
11 2019-11-03 20.21 @ Blue Boys Muhlenbach 4 1226 18.16% Jeunesse Esch 2 1419 62.06% 19.78%
12 2020-03-08 20.07 UNA Strassen 5 1374 52.60% @ Hostert 1 1266 26.49% 20.91%
13 2019-08-11 20.06 Victoria Rosport 3 1349 49.65% @ Blue Boys Muhlenbach 0 1265 29.24% 21.11%
14 2020-03-04 19.41 @ Differdange 03 4 1418 44.11% UNA Strassen 1 1393 34.55% 21.33%
15 2019-08-25 19.27 Racing FC Union Luxembourg 3 1390 51.10% @ Hostert 0 1295 27.88% 21.02%
16 2019-11-24 18.80 Union Titus Petange 4 1442 45.49% @ Jeunesse Esch 1 1389 33.22% 21.29%
17 2019-11-03 18.64 F91 Dudelange 3 1506 52.23% @ Differdange 03 0 1401 26.83% 20.94%
18 2019-09-29 18.58 @ Fola Esch 2 1507 36.45% Progres Niedercorn 0 1536 42.18% 21.37%
19 2020-02-29 18.24 Differdange 03 3 1400 52.97% @ Hostert 0 1290 26.15% 20.88%
20 2019-10-06 17.94 @ Hostert 2 1284 38.25% Victoria Rosport 0 1300 40.36% 21.39%
21 2019-08-26 17.64 @ Progres Niedercorn 2 1501 39.11% F91 Dudelange 0 1512 39.50% 21.39%
22 2020-03-08 16.99 Differdange 03 3 1438 55.21% @ Etzella Ettelbruck 0 1308 24.11% 20.68%
23 2019-09-01 16.55 @ UNA Strassen 4 1348 50.45% Hostert 1 1276 28.49% 21.06%
24 2019-09-01 15.42 @ Mondorf-les-Bains 3 1407 58.01% Blue Boys Muhlenbach 0 1270 21.62% 20.37%
25 2020-03-04 15.00 @ Rodange 91 1 1194 13.64% Union Titus Petange 0 1449 67.74% 18.62%

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 2019-09-01 70.0 @ F91 Dudelange 3 1494 51.89% Racing FC Union Luxembourg 3 1410 27.15% 20.96%
2 2019-10-06 66.2 @ Racing FC Union Luxembourg 2 1407 25.27% Fola Esch 2 1525 53.93% 20.80%
3 2019-10-06 65.9 @ Progres Niedercorn 2 1517 55.26% Mondorf-les-Bains 2 1405 24.07% 20.68%
4 2019-11-24 65.7 @ F91 Dudelange 2 1525 57.77% UNA Strassen 2 1390 21.83% 20.40%
5 2019-12-11 65.5 @ Mondorf-les-Bains 2 1349 17.46% Fola Esch 2 1550 62.90% 19.64%
6 2019-08-31 65.2 @ Rodange 91 3 1160 12.35% Jeunesse Esch 3 1436 69.47% 18.18%
7 2020-03-04 64.9 Progres Niedercorn 3 1552 38.49% @ F91 Dudelange 2 1549 40.12% 21.39%
8 2019-12-11 63.2 @ Union Titus Petange 1 1460 28.17% Progres Niedercorn 1 1554 50.79% 21.04%
9 2019-10-06 61.9 @ Union Titus Petange 2 1417 47.56% UNA Strassen 2 1367 31.23% 21.22%
10 2019-09-15 61.3 @ Racing FC Union Luxembourg 2 1410 50.33% Victoria Rosport 2 1338 28.60% 21.07%
11 2020-02-29 61.3 @ Union Titus Petange 2 1451 62.50% Victoria Rosport 2 1271 17.79% 19.71%
12 2019-08-25 60.7 @ Blue Boys Muhlenbach 3 1257 15.57% Fola Esch 2 1484 65.24% 19.19%
13 2019-12-01 60.2 @ UNA Strassen 2 1391 57.22% Victoria Rosport 2 1262 22.32% 20.46%
14 2020-02-16 60.1 @ Blue Boys Muhlenbach 2 1232 20.27% Racing FC Union Luxembourg 2 1401 59.57% 20.16%
15 2020-02-29 60.0 Racing FC Union Luxembourg 2 1399 18.97% @ Progres Niedercorn 1 1565 61.09% 19.94%
16 2019-08-18 58.9 @ Racing FC Union Luxembourg 1 1389 25.78% Progres Niedercorn 1 1503 53.37% 20.85%
17 2019-11-24 58.0 @ Hostert 1 1279 12.50% Fola Esch 1 1554 69.28% 18.23%
18 2019-09-29 57.6 Union Titus Petange 3 1408 33.72% @ Differdange 03 2 1440 44.97% 21.31%
19 2019-10-05 57.5 @ Jeunesse Esch 1 1420 39.15% Differdange 03 1 1430 39.46% 21.39%
20 2019-10-27 57.0 Rodange 91 3 1155 20.64% @ Hostert 2 1302 59.13% 20.22%
21 2019-08-04 56.2 Union Titus Petange 3 1362 32.07% @ Racing FC Union Luxembourg 2 1407 46.68% 21.25%
22 2019-08-11 56.2 @ Differdange 03 1 1400 41.19% Mondorf-les-Bains 1 1396 37.43% 21.38%
23 2019-09-15 56.2 @ Union Titus Petange 3 1377 34.22% Mondorf-les-Bains 2 1423 44.46% 21.32%
24 2019-10-26 55.9 @ Progres Niedercorn 0 1538 61.53% UNA Strassen 0 1367 18.60% 19.87%
25 2019-09-29 55.8 Jeunesse Esch 3 1412 37.85% @ Mondorf-les-Bains 2 1413 40.76% 21.39%
# Date Excitement Winning Team Losing Team Tie %
Team Score Elo Win % Team Score Elo Win %
1 2019-10-06 24.9 @ F91 Dudelange 4 1496 74.83% Rodange 91 0 1163 8.71% 16.47%
2 2019-11-03 25.4 @ Fola Esch 5 1546 77.66% Rodange 91 0 1166 7.00% 15.34%
3 2019-10-27 29.7 Fola Esch 4 1532 67.32% @ Victoria Rosport 0 1282 13.96% 18.72%
4 2019-11-03 29.7 Progres Niedercorn 4 1535 67.57% @ Etzella Ettelbruck 0 1282 13.77% 18.66%
5 2020-02-22 30.3 @ Progres Niedercorn 4 1552 68.79% Hostert 0 1302 12.85% 18.36%
6 2019-09-01 30.6 @ Mondorf-les-Bains 3 1407 58.01% Blue Boys Muhlenbach 0 1270 21.62% 20.37%
7 2019-09-16 30.6 @ Progres Niedercorn 1 1534 77.24% Rodange 91 0 1162 7.24% 15.52%
8 2019-10-27 30.9 @ Union Titus Petange 2 1423 63.33% Blue Boys Muhlenbach 0 1234 17.11% 19.56%
9 2019-09-15 32.2 Differdange 03 2 1430 60.22% @ Blue Boys Muhlenbach 0 1255 19.71% 20.07%
10 2020-02-29 32.2 Differdange 03 3 1400 52.97% @ Hostert 0 1290 26.15% 20.88%
11 2020-03-08 32.4 Differdange 03 3 1438 55.21% @ Etzella Ettelbruck 0 1308 24.11% 20.68%
12 2019-08-11 32.5 Victoria Rosport 3 1349 49.65% @ Blue Boys Muhlenbach 0 1265 29.24% 21.11%
13 2019-08-25 32.7 Racing FC Union Luxembourg 3 1390 51.10% @ Hostert 0 1295 27.88% 21.02%
14 2019-09-29 33.0 @ UNA Strassen 2 1355 54.95% Blue Boys Muhlenbach 0 1245 24.34% 20.71%
15 2019-11-03 33.1 @ Union Titus Petange 2 1431 58.51% Hostert 0 1290 21.18% 20.30%
16 2019-08-24 33.2 @ Union Titus Petange 4 1381 65.47% Rodange 91 1 1169 15.39% 19.14%
17 2019-08-31 34.1 Progres Niedercorn 3 1519 59.28% @ Victoria Rosport 0 1353 20.52% 20.20%
18 2019-08-04 35.5 @ Victoria Rosport 3 1324 40.59% Etzella Ettelbruck 0 1324 38.03% 21.39%
19 2019-09-29 36.0 F91 Dudelange 7 1457 53.81% @ Victoria Rosport 0 1339 25.38% 20.81%
20 2020-03-08 36.2 UNA Strassen 5 1374 52.60% @ Hostert 1 1266 26.49% 20.91%
21 2020-02-29 36.8 Fola Esch 1 1553 67.40% @ Etzella Ettelbruck 0 1302 13.90% 18.70%
22 2019-08-04 37.2 @ F91 Dudelange 3 1527 69.30% Blue Boys Muhlenbach 1 1270 12.48% 18.22%
23 2019-12-01 37.2 F91 Dudelange 4 1523 64.35% @ Etzella Ettelbruck 1 1306 16.29% 19.37%
24 2019-11-03 37.3 F91 Dudelange 3 1506 52.23% @ Differdange 03 0 1401 26.83% 20.94%
25 2019-11-23 37.3 @ Progres Niedercorn 5 1548 72.72% Blue Boys Muhlenbach 2 1246 10.08% 17.20%