Ligue 2 2024-2025 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 | Paris FC | 34 | 69 | 59.4 | +9.6Outperforming ++ | 3 | +8.1 | +1.5 | 3:2 vs Lorient (+1.6) | 1:2 vs Martigues (-2.5) |
2 | Annecy | 34 | 51 | 41.9 | +9.1Outperforming ++ | 13 | +7.1 | +2.0 | 0:1 vs Red Star (+2.0) | 2:4 vs Martigues (-1.9) |
3 | Dunkerque | 34 | 56 | 47.5 | +8.5Outperforming ++ | 7 | +11.0 | -2.5 | 0:1 vs Clermont (+2.0) | 0:1 vs Martigues (-2.1) |
4 | Laval | 34 | 50 | 42.2 | +7.8Outperforming ++ | 12 | +2.3 | +5.5 | 0:1 vs Lorient (+2.4) | 0:1 vs Martigues (-2.0) |
5 | Lorient | 34 | 71 | 64.3 | +6.7Outperforming ++ | 1 | +10.7 | -3.9 | 0:1 vs Dunkerque (+1.6) | 0:1 vs Laval (-2.2) |
6 | Metz | 34 | 65 | 59.6 | +5.4Outperforming ++ | 2 | +3.4 | +2.0 | 2:3 vs Laval (+2.0) | 0:1 vs AC Ajaccio (-2.2) |
7 | Grenoble | 34 | 46 | 40.7 | +5.3Outperforming ++ | 15 | +5.8 | -0.5 | 2:3 vs Bastia (+2.4) | 0:2 vs Amiens (-1.6) |
8 | AC Ajaccio | 34 | 42 | 37.6 | +4.3Outperforming | 17 | +7.7 | -3.3 | 0:1 vs Metz (+2.4) | 2:0 vs Martigues (-1.5) |
9 | Amiens | 34 | 43 | 39.5 | +3.5Outperforming | 16 | +12.4 | -8.9 | 1:0 vs Lorient (+2.1) | 3:0 vs Martigues (-1.7) |
10 | Martigues | 34 | 32 | 28.6 | +3.4Outperforming | 18 | -4.9 | +8.4 | 1:2 vs Paris FC (+2.6) | 0:4 vs Grenoble (-1.2) |
11 | Guingamp | 34 | 55 | 53.6 | +1.4On expectation | 4 | +0.9 | +0.5 | 0:1 vs Troyes (+1.7) | 3:2 vs Amiens (-1.9) |
12 | Bordeaux | 0 | 0 | 0.0 | 0.0On expectation | 19 | 0.0 | 0.0 | — | — |
13 | Troyes | 34 | 44 | 44.9 | -0.9On expectation | 8 | -0.3 | -0.6 | 2:1 vs Metz (+2.1) | 0:1 vs Annecy (-1.6) |
14 | Pau FC | 34 | 42 | 44.3 | -2.3Underperforming | 11 | +4.5 | -6.8 | 2:1 vs Metz (+2.1) | 0:2 vs Amiens (-1.5) |
15 | Bastia | 34 | 48 | 51.4 | -3.4Underperforming | 5 | +5.0 | -8.5 | 2:1 vs Paris FC (+1.8) | 2:3 vs Grenoble (-2.2) |
16 | Red Star | 34 | 38 | 41.6 | -3.6Underperforming | 14 | -0.7 | -2.9 | 3:4 vs Guingamp (+2.1) | 0:1 vs Annecy (-1.7) |
17 | Rodez | 34 | 39 | 47.7 | -8.7Underperforming −− | 6 | -3.2 | -5.5 | 5:1 vs Dunkerque (+1.7) | 0:2 vs Red Star (-1.9) |
18 | Clermont | 34 | 33 | 44.5 | -11.6Underperforming −− | 9 | -8.3 | -3.3 | 2:1 vs Lorient (+1.9) | 0:1 vs Martigues (-1.9) |
19 | Caen | 34 | 22 | 44.4 | -22.4Underperforming −− | 10 | -11.5 | -11.0 | 0:1 vs Clermont (+1.7) | 0:3 vs Martigues (-2.0) |
