Ligue 2 2025-2026 Performance vs Market
Expected points (xPTS) come from pre-match market odds: what the market rated each team's chances at before kickoff. A positive Δ means the team is outperforming those expectations — playing better than the market rated them; a negative Δ means they're delivering less than their billing. Big gaps usually say more about the team than about fortune.
| # | Team | P | Pts | xPts | vs xPTS | |||||
|---|---|---|---|---|---|---|---|---|---|---|
1 | Rodez | 35 | 61 | 45.1 | +15.9Outperforming ++ | 10 | +6.7 | +10.1 | 1:2 vs Reims (+2.2) | 0:1 vs Clermont (-1.6) |
2 | Le Mans | 34 | 62 | 49.4 | +12.6Outperforming ++ | 6 | +5.8 | +6.8 | 2:3 vs St Etienne (+2.2) | 0:1 vs Rodez (-1.6) |
3 | Troyes | 34 | 67 | 55.4 | +11.6Outperforming ++ | 3 | +12.4 | -0.8 | 0:3 vs St Etienne (+2.0) | 1:0 vs Grenoble (-1.7) |
4 | Annecy | 34 | 52 | 44.2 | +7.8Outperforming ++ | 12 | +2.1 | +5.7 | 4:0 vs St Etienne (+2.0) | 1:2 vs Rodez (-1.5) |
5 | Red Star | 35 | 56 | 51.0 | +5.0Outperforming ++ | 4 | -1.6 | +6.6 | 0:4 vs Guingamp (+1.9) | 1:3 vs Amiens (-1.8) |
6 | Pau FC | 34 | 45 | 43.6 | +1.4On expectation | 14 | -5.3 | +6.7 | 0:1 vs Montpellier (+2.1) | 1:2 vs Amiens (-2.0) |
7 | Grenoble | 34 | 39 | 37.8 | +1.2On expectation | 16 | +4.1 | -2.9 | 2:4 vs Reims (+2.3) | 1:3 vs Annecy (-1.5) |
8 | Montpellier | 34 | 51 | 50.9 | +0.1On expectation | 5 | -0.3 | +0.4 | 0:1 vs Dunkerque (+1.9) | 1:3 vs Boulogne (-2.0) |
9 | Boulogne | 34 | 36 | 37.0 | -1.0On expectation | 17 | -6.1 | +5.1 | 0:1 vs St Etienne (+2.3) | 0:2 vs Clermont (-1.5) |
10 | Rouen | 2 | 1 | 2.7 | -1.7On expectation | 19 | -0.4 | -1.3 | 1:1 vs Laval (+-0.4) | 1:0 vs Laval (-1.3) |
11 | Clermont | 34 | 37 | 39.2 | -2.2Underperforming | 15 | -1.7 | -0.4 | 0:1 vs Guingamp (+2.2) | 1:2 vs Rodez (-1.5) |
12 | Reims | 34 | 56 | 58.7 | -2.7Underperforming | 2 | -0.1 | -2.7 | 0:2 vs Guingamp (+1.6) | 2:4 vs Grenoble (-2.0) |
13 | St Etienne | 34 | 60 | 62.9 | -2.9Underperforming | 1 | +1.1 | -2.1 | 2:3 vs Troyes (+1.7) | 0:1 vs Boulogne (-2.1) |
14 | Dunkerque | 34 | 43 | 49.3 | -6.3Underperforming −− | 7 | -5.3 | -1.0 | 1:2 vs Reims (+1.9) | 0:1 vs Annecy (-1.7) |
15 | Laval | 36 | 36 | 43.9 | -7.9Underperforming −− | 13 | -7.3 | -0.6 | 0:2 vs Nancy (+2.0) | 0:3 vs Amiens (-1.8) |
16 | Nancy | 34 | 37 | 45.1 | -8.1Underperforming −− | 11 | -7.1 | -1.0 | 2:1 vs Troyes (+1.8) | 0:1 vs Amiens (-1.9) |
17 | Amiens | 34 | 24 | 32.5 | -8.5Underperforming −− | 18 | -10.0 | +1.5 | 1:2 vs Pau FC (+2.3) | 0:1 vs Pau FC (-1.5) |
18 | Guingamp | 34 | 40 | 49.2 | -9.2Underperforming −− | 8 | -4.9 | -4.3 | 2:3 vs St Etienne (+2.3) | 0:1 vs Clermont (-2.0) |
19 | Bastia | 34 | 29 | 46.2 | -17.2Underperforming −− | 9 | -10.9 | -6.4 | 2:0 vs St Etienne (+2.1) | 1:3 vs Guingamp (-1.9) |
