Ligue 1 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 | Strasbourg | 34 | 57 | 45.3 | +11.7Outperforming ++ | 10 | +8.9 | +2.8 | 0:2 vs Lens (+2.1) | 2:3 vs Le Havre (-2.1) |
2 | PSG | 34 | 84 | 75.8 | +8.2Outperforming ++ | 1 | +3.3 | +4.9 | 1:2 vs Lens (+1.2) | 1:3 vs Nice (-2.1) |
3 | Brest | 34 | 50 | 42.7 | +7.3Outperforming ++ | 11 | +8.3 | -1.0 | 2:0 vs Lille (+2.2) | 2:0 vs Angers (-1.5) |
4 | Nice | 34 | 60 | 52.9 | +7.1Outperforming ++ | 7 | +7.0 | +0.1 | 1:3 vs PSG (+2.3) | 1:2 vs Nantes (-2.1) |
5 | Auxerre | 34 | 42 | 35.9 | +6.1Outperforming ++ | 14 | +6.7 | -0.6 | 1:3 vs Marseille (+2.4) | 3:1 vs St Etienne (-1.5) |
6 | Angers | 34 | 36 | 30.1 | +5.9Outperforming ++ | 18 | -0.9 | +6.7 | 0:1 vs Monaco (+2.6) | 1:3 vs Reims (-1.1) |
7 | Marseille | 34 | 65 | 61.1 | +3.9Outperforming | 3 | -0.4 | +4.3 | 1:3 vs Lens (+1.8) | 1:3 vs Auxerre (-2.2) |
8 | Le Havre | 34 | 34 | 30.6 | +3.4Outperforming | 17 | -6.8 | +10.2 | 1:2 vs Lille (+2.6) | 0:1 vs Angers (-1.5) |
9 | Lille | 34 | 60 | 57.5 | +2.5Outperforming | 4 | +4.7 | -2.2 | 0:2 vs Lens (+1.9) | 1:2 vs Le Havre (-2.5) |
10 | Lyon | 34 | 57 | 56.5 | +0.5On expectation | 5 | +2.9 | -2.5 | 0:2 vs Nice (+1.9) | 1:2 vs Lens (-2.2) |
11 | Monaco | 34 | 61 | 61.6 | -0.6On expectation | 2 | +5.6 | -6.2 | 0:2 vs Lyon (+1.6) | 0:1 vs Angers (-2.5) |
12 | St Etienne | 34 | 30 | 31.2 | -1.2On expectation | 16 | +3.0 | -4.2 | 2:1 vs Lyon (+2.2) | 0:2 vs Le Havre (-1.7) |
13 | Lens | 34 | 52 | 54.1 | -2.1Underperforming | 6 | -7.8 | +5.7 | 1:2 vs Lyon (+2.4) | 3:4 vs Le Havre (-2.2) |
14 | Nantes | 34 | 36 | 39.3 | -3.3Underperforming | 13 | -1.7 | -1.6 | 1:2 vs Nice (+2.4) | 0:2 vs Le Havre (-1.8) |
15 | Toulouse | 34 | 42 | 47.8 | -5.8Underperforming −− | 9 | -7.0 | +1.2 | 0:1 vs Lens (+2.0) | 1:2 vs Montpellier (-1.9) |
16 | Reims | 34 | 33 | 40.4 | -7.4Underperforming −− | 12 | -7.0 | -0.4 | 0:2 vs Lens (+2.3) | 1:2 vs Brest (-1.8) |
17 | Rennes | 34 | 41 | 48.7 | -7.7Underperforming −− | 8 | +0.7 | -8.4 | 2:0 vs Nice (+1.8) | 0:1 vs Auxerre (-1.8) |
18 | Montpellier | 34 | 16 | 31.8 | -15.8Underperforming −− | 15 | -6.9 | -8.9 | 2:1 vs Monaco (+2.2) | 1:3 vs Angers (-1.7) |
