Ligue 2
xG Table · 2025/26
Model figures — expected goals scored by TrueGoals, not actual match xG.
Season leaders
Top xG
- Troyes48.3
- St Etienne46.3
- Reims45.4
- Dunkerque42.4
- Le Mans41.7
Biggest over-performers
- Rodez+15.1
- Red Star+13.9
- Troyes+13.4
- Le Mans+8.0
- Montpellier+6.1
Best defences (lowest xGA)
- Clermont29.6
- Le Mans30.6
- Reims32.0
- Annecy32.8
- St Etienne34.6
Biggest xG difference
- Reims+13.4
- Troyes+12.2
- St Etienne+11.7
- Le Mans+11.0
- Dunkerque+6.5
| # | Team | Matches played. | Goals scored (actual). | Expected goals for: goals our model (TrueGoals) says this team's performances typically produce. | Expected goals against: same, for goals conceded. | Expected goal difference (xGF minus xGA). | Actual league points. | Expected points: points the team “should” have won based on xG, via match simulation. | Actual points minus expected points. Positive = over-performing its underlying numbers (may regress); negative = under-performing. |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Reims | 34 | 53 | 45.4 | 32.0 | +13.4 | 56 | 56.5 | -0.5 |
| 2 | Troyes | 34 | 60 | 48.3 | 36.1 | +12.2 | 67 | 53.6 | +13.4 |
| 3 | St Etienne | 34 | 59 | 46.3 | 34.6 | +11.7 | 60 | 54.0 | +6.0 |
| 4 | Le Mans | 34 | 50 | 41.7 | 30.6 | +11.0 | 62 | 54.0 | +8.0 |
| 5 | Dunkerque | 34 | 53 | 42.4 | 35.9 | +6.5 | 43 | 49.8 | -6.8 |
| 6 | Clermont | 34 | 38 | 34.4 | 29.6 | +4.8 | 37 | 48.2 | -11.2 |
| 7 | Annecy | 34 | 49 | 36.7 | 32.8 | +3.9 | 52 | 47.6 | +4.4 |
| 8 | Bastia | 33 | 23 | 36.0 | 34.9 | +1.1 | 28 | 46.4 | -18.4 |
| 9 | Grenoble | 34 | 33 | 37.7 | 38.2 | -0.4 | 39 | 45.6 | -6.6 |
| 10 | Montpellier | 34 | 41 | 37.8 | 38.7 | -1.0 | 51 | 44.9 | +6.1 |
| 11 | Pau FC | 34 | 48 | 37.8 | 41.8 | -3.9 | 45 | 44.8 | +0.2 |
| 12 | Rodez | 34 | 45 | 36.4 | 41.2 | -4.8 | 58 | 42.9 | +15.1 |
| 13 | Laval | 34 | 30 | 35.1 | 41.0 | -5.9 | 32 | 41.9 | -9.9 |
| 14 | Red Star | 33 | 45 | 38.7 | 44.7 | -5.9 | 55 | 41.1 | +13.9 |
| 15 | Guingamp | 34 | 42 | 37.1 | 43.9 | -6.8 | 40 | 43.2 | -3.2 |
| 16 | Boulogne | 34 | 34 | 33.8 | 43.5 | -9.7 | 36 | 39.3 | -3.3 |
| 17 | Nancy | 34 | 35 | 30.4 | 43.3 | -12.9 | 37 | 37.0 | 0.0 |
| 18 | Amiens | 34 | 37 | 34.9 | 48.2 | -13.3 | 24 | 38.4 | -14.4 |
| 1 | Troyes | 17 | 40 | 29.9 | 16.3 | +13.7 | 43 | 32.1 | +10.9 |
| 2 | Reims | 17 | 28 | 24.6 | 14.7 | +9.9 | 32 | 30.3 | +1.7 |
| 3 | Le Mans | 17 | 20 | 22.1 | 13.0 | +9.2 | 33 | 29.6 | +3.4 |
| 4 | St Etienne | 17 | 39 | 24.7 | 15.7 | +9.0 | 35 | 28.5 | +6.5 |
| 5 | Clermont | 17 | 19 | 19.6 | 12.8 | +6.8 | 21 | 27.3 | -6.3 |
| 6 | Dunkerque | 17 | 24 | 21.0 | 17.1 | +3.9 | 22 | 25.5 | -3.5 |
| 7 | Rodez | 17 | 22 | 21.6 | 18.2 | +3.4 | 31 | 25.3 | +5.7 |
| 8 | Annecy | 17 | 26 | 19.3 | 16.3 | +3.0 | 27 | 24.6 | +2.4 |
| 9 | Montpellier | 17 | 27 | 22.4 | 20.1 | +2.2 | 28 | 24.9 | +3.1 |
| 10 | Grenoble | 17 | 14 | 16.8 | 15.0 | +1.8 | 25 | 24.1 | +0.9 |
| 11 | Laval | 17 | 17 | 21.0 | 20.1 | +0.9 | 14 | 23.5 | -9.5 |
| 12 | Bastia | 16 | 10 | 17.6 | 16.8 | +0.8 | 14 | 22.8 | -8.8 |
| 13 | Pau FC | 17 | 22 | 18.1 | 18.3 | -0.2 | 20 | 23.2 | -3.2 |
| 14 | Guingamp | 17 | 19 | 17.4 | 18.6 | -1.2 | 23 | 22.8 | +0.2 |
| 15 | Red Star | 17 | 22 | 18.9 | 23.0 | -4.1 | 28 | 20.3 | +7.7 |
| 16 | Nancy | 17 | 16 | 15.8 | 21.7 | -5.9 | 18 | 18.9 | -0.9 |
| 17 | Amiens | 17 | 17 | 17.6 | 24.2 | -6.6 | 9 | 18.9 | -9.9 |
| 18 | Boulogne | 17 | 20 | 15.9 | 24.9 | -9.0 | 15 | 17.1 | -2.1 |
| 1 | Reims | 17 | 25 | 20.8 | 17.3 | +3.5 | 24 | 26.2 | -2.2 |
| 2 | St Etienne | 17 | 20 | 21.7 | 18.9 | +2.8 | 25 | 25.6 | -0.6 |
| 3 | Dunkerque | 17 | 29 | 21.3 | 18.8 | +2.6 | 21 | 24.3 | -3.3 |
| 4 | Le Mans | 17 | 30 | 19.6 | 17.7 | +1.9 | 29 | 24.4 | +4.6 |
| 5 | Annecy | 17 | 23 | 17.5 | 16.5 | +1.0 | 25 | 23.0 | +2.0 |
| 6 | Bastia | 17 | 13 | 18.4 | 18.1 | +0.3 | 14 | 23.6 | -9.6 |
| 7 | Boulogne | 17 | 14 | 17.9 | 18.6 | -0.7 | 21 | 22.2 | -1.2 |
| 8 | Troyes | 17 | 20 | 18.4 | 19.8 | -1.4 | 24 | 21.5 | +2.5 |
| 9 | Red Star | 16 | 23 | 19.9 | 21.6 | -1.8 | 27 | 20.7 | +6.3 |
| 10 | Clermont | 17 | 19 | 14.8 | 16.8 | -2.0 | 16 | 20.8 | -4.8 |
| 11 | Grenoble | 17 | 19 | 21.0 | 23.2 | -2.3 | 14 | 21.5 | -7.5 |
| 12 | Montpellier | 17 | 14 | 15.4 | 18.6 | -3.2 | 23 | 19.9 | +3.1 |
| 13 | Pau FC | 17 | 26 | 19.7 | 23.5 | -3.8 | 25 | 21.6 | +3.4 |
| 14 | Guingamp | 17 | 23 | 19.7 | 25.3 | -5.6 | 17 | 20.4 | -3.4 |
| 15 | Amiens | 17 | 20 | 17.3 | 24.0 | -6.7 | 15 | 19.5 | -4.5 |
| 16 | Laval | 17 | 13 | 14.1 | 21.0 | -6.9 | 18 | 18.4 | -0.4 |
| 17 | Nancy | 17 | 19 | 14.6 | 21.6 | -7.0 | 19 | 18.0 | +1.0 |
| 18 | Rodez | 17 | 23 | 14.8 | 23.0 | -8.2 | 27 | 17.6 | +9.4 |
First half / second half
Descriptive — actual half-time and full-time facts (2025/26), not predictions.
| Team | Pld | Goals scored in the first half. | Goals scored in the second half (full-time minus half-time). | Goals conceded in the first half. | Goals conceded in the second half. | Share of the team's goals scored in the second half. Shown only when there are enough goals to be meaningful. | Comebacks: matches the team was trailing at half-time but ended up winning or drawing. | Leads lost: matches the team was leading at half-time but ended up drawing or losing. |
|---|---|---|---|---|---|---|---|---|
| Amiens | 34 | 17 | 20 | 30 | 35 | 54% | 1 | 3 |
| Annecy | 34 | 23 | 26 | 16 | 23 | 53% | 1 | 5 |
| Bastia | 33 | 14 | 9 | 23 | 16 | 39% | 2 | 4 |
| Boulogne | 34 | 9 | 25 | 26 | 23 | 74% | 4 | 0 |
| Clermont | 34 | 15 | 23 | 21 | 23 | 61% | 3 | 5 |
| Dunkerque | 34 | 26 | 27 | 23 | 22 | 51% | 3 | 3 |
| Grenoble | 34 | 15 | 18 | 11 | 28 | 55% | 3 | 4 |
| Guingamp | 34 | 20 | 22 | 24 | 25 | 52% | 4 | 3 |
| Laval | 34 | 16 | 14 | 19 | 29 | 47% | 3 | 4 |
| Le Mans | 34 | 25 | 25 | 10 | 21 | 50% | 1 | 3 |
| Montpellier | 34 | 16 | 25 | 18 | 13 | 61% | 2 | 1 |
| Nancy | 34 | 17 | 18 | 19 | 33 | 51% | 3 | 3 |
| Pau FC | 34 | 28 | 20 | 33 | 29 | 42% | 4 | 4 |
| Red Star | 33 | 21 | 24 | 16 | 21 | 53% | 2 | 2 |
| Reims | 34 | 28 | 25 | 21 | 14 | 47% | 3 | 2 |
| Rodez | 34 | 18 | 27 | 16 | 23 | 60% | 5 | 3 |
| St Etienne | 34 | 30 | 29 | 17 | 21 | 49% | 3 | 1 |
| Troyes | 34 | 23 | 37 | 18 | 15 | 62% | 4 | 1 |
| League total | 610 | 361 | 414 | 361 | 414 | 53% | 51 | 51 |
Home advantage
Realized home vs away results (2025/26). "Edge" = home PPG − away PPG. Descriptive, not a prediction.
League-wide home edge (PPG) over 26 seasons — the long decline:
| Team | HP | Home win percentage. | Home points per game (3 for a win, 1 for a draw). | Away points per game. | Home edge: home points per game minus away points per game — the size of the team's home advantage. Caveated when either home or away matches are few. | Home goal difference per game. | Away goal difference per game. |
|---|---|---|---|---|---|---|---|
| Amiens | 17 | 12% | 0.53 | 0.88 | -0.35 | -0.88 | -0.76 |
| Annecy | 17 | 41% | 1.59 | 1.47 | +0.12 | +0.59 | 0.00 |
| Bastia | 16 | 19% | 0.88 | 0.82 | +0.05 | -0.63 | -0.35 |
| Boulogne | 17 | 24% | 0.88 | 1.24 | -0.35 | -0.76 | -0.12 |
| Clermont | 17 | 29% | 1.24 | 0.94 | +0.29 | +0.06 | -0.41 |
| Dunkerque | 17 | 29% | 1.29 | 1.24 | +0.06 | +0.29 | +0.18 |
| Grenoble | 17 | 29% | 1.47 | 0.82 | +0.65 | 0.00 | -0.35 |
| Guingamp | 17 | 35% | 1.35 | 1.00 | +0.35 | -0.18 | -0.24 |
| Laval | 17 | 12% | 0.82 | 1.06 | -0.24 | -0.47 | -0.59 |
| Le Mans | 17 | 53% | 1.94 | 1.71 | +0.24 | +0.71 | +0.41 |
| Montpellier | 17 | 47% | 1.65 | 1.35 | +0.29 | +0.41 | +0.18 |
| Nancy | 17 | 29% | 1.06 | 1.12 | -0.06 | -0.76 | -0.24 |
| Pau FC | 17 | 29% | 1.18 | 1.47 | -0.29 | -0.35 | -0.47 |
| Red Star | 17 | 41% | 1.65 | 1.69 | -0.04 | 0.00 | +0.50 |
| Reims | 17 | 53% | 1.88 | 1.41 | +0.47 | +0.71 | +0.35 |
| Rodez | 17 | 47% | 1.82 | 1.59 | +0.24 | +0.35 | 0.00 |
| St Etienne | 17 | 65% | 2.06 | 1.47 | +0.59 | +1.24 | 0.00 |
| Troyes | 17 | 82% | 2.53 | 1.41 | +1.12 | +1.35 | +0.24 |
| League total | 305 | 38% | 1.44 | 1.26 | +0.18 | +0.10 | -0.10 |
Corners
Descriptive — actual corner counts (2025/26), shown where available. Not a prediction.
League-wide corners per team, per match over 9 seasons — the decline:
| Team | Pld | Corners won (total). | Corners conceded (total). | Corners won per game. | Corners conceded per game. | Home corners won per game. | Away corners won per game. |
|---|---|---|---|---|---|---|---|
| Amiens | 34 | 159 | 198 | 4.7 | 5.8 | 5.4 | 3.9 |
| Annecy | 34 | 152 | 140 | 4.5 | 4.1 | 4.6 | 4.3 |
| Bastia | 33 | 145 | 147 | 4.4 | 4.5 | 4.5 | 4.3 |
| Boulogne | 34 | 134 | 165 | 3.9 | 4.9 | 4.2 | 3.6 |
| Clermont | 34 | 126 | 200 | 3.7 | 5.9 | 4.1 | 3.3 |
| Dunkerque | 34 | 148 | 146 | 4.4 | 4.3 | 4.9 | 3.8 |
| Grenoble | 34 | 118 | 202 | 3.5 | 5.9 | 4.3 | 2.6 |
| Guingamp | 34 | 179 | 131 | 5.3 | 3.9 | 6.1 | 4.5 |
| Laval | 34 | 163 | 190 | 4.8 | 5.6 | 6.3 | 3.3 |
| Le Mans | 34 | 183 | 150 | 5.4 | 4.4 | 5.5 | 5.3 |
| Montpellier | 34 | 183 | 158 | 5.4 | 4.6 | 5.7 | 5.1 |
| Nancy | 34 | 150 | 159 | 4.4 | 4.7 | 5.4 | 3.5 |
| Pau FC | 34 | 166 | 154 | 4.9 | 4.5 | 5.9 | 3.8 |
| Red Star | 33 | 153 | 121 | 4.6 | 3.7 | 4.9 | 4.3 |
| Reims | 34 | 180 | 110 | 5.3 | 3.2 | 5.2 | 5.4 |
| Rodez | 34 | 152 | 193 | 4.5 | 5.7 | 4.9 | 4.0 |
| St Etienne | 34 | 171 | 133 | 5.0 | 3.9 | 5.3 | 4.8 |
| Troyes | 34 | 159 | 124 | 4.7 | 3.6 | 4.6 | 4.7 |
| League total | 610 | 2821 | 2821 | 4.6 | 4.6 | — | — |