Serie B 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 | Sassuolo | 38 | 82 | 64.2 | +17.8Outperforming ++ | 1 | +9.5 | +8.3 | 0:1 vs Cosenza (+1.6) | 0:2 vs Catanzaro (-1.7) |
2 | Pisa | 38 | 76 | 58.7 | +17.3Outperforming ++ | 4 | +10.6 | +6.7 | 1:3 vs Cremonese (+1.9) | 0:1 vs Cittadella (-2.0) |
3 | Juve Stabia | 38 | 55 | 48.3 | +6.7Outperforming ++ | 12 | +5.7 | +1.0 | 1:2 vs Sampdoria (+2.1) | 0:1 vs Cittadella (-1.9) |
4 | Catanzaro | 38 | 53 | 47.9 | +5.1Outperforming ++ | 13 | +1.9 | +3.2 | 0:1 vs Spezia (+2.3) | 1:3 vs Palermo (-1.4) |
5 | Spezia | 38 | 66 | 62.0 | +4.0Outperforming | 3 | +5.9 | -1.9 | 0:2 vs Salernitana (+1.8) | 0:1 vs Catanzaro (-2.1) |
6 | Mantova | 38 | 44 | 43.5 | +0.6On expectation | 19 | +5.7 | -5.2 | 1:0 vs Cremonese (+2.0) | 0:1 vs Bari (-1.5) |
7 | Carrarese | 38 | 45 | 44.6 | +0.3On expectation | 17 | +9.1 | -8.8 | 0:1 vs Frosinone (+2.0) | 1:2 vs Brescia (-1.6) |
8 | Sudtirol | 38 | 46 | 46.6 | -0.6On expectation | 15 | -1.7 | +1.1 | 1:2 vs Palermo (+2.2) | 1:2 vs Cittadella (-1.6) |
9 | Cesena | 38 | 53 | 54.2 | -1.2On expectation | 6 | +1.1 | -2.3 | 1:2 vs Cremonese (+2.1) | 1:2 vs Juve Stabia (-1.6) |
10 | Reggiana | 38 | 44 | 46.3 | -2.3Underperforming | 16 | -2.1 | -0.2 | 0:1 vs Sampdoria (+2.2) | 0:1 vs Cosenza (-1.5) |
11 | Cittadella | 38 | 39 | 41.4 | -2.4Underperforming | 20 | -8.5 | +6.1 | 0:1 vs Pisa (+2.2) | 1:2 vs Mantova (-1.7) |
12 | Cremonese | 38 | 61 | 64.1 | -3.1Underperforming | 2 | -6.4 | +3.3 | 2:3 vs Spezia (+1.7) | 0:2 vs Reggiana (-1.9) |
13 | Bari | 38 | 48 | 51.6 | -3.6Underperforming | 9 | +0.6 | -4.2 | 0:1 vs Mantova (+1.8) | 0:1 vs Sudtirol (-1.7) |
14 | Brescia | 38 | 43 | 47.1 | -4.1Underperforming | 14 | -5.8 | +1.7 | 0:1 vs Spezia (+2.2) | 0:1 vs Cittadella (-1.6) |
15 | Frosinone | 38 | 43 | 48.4 | -5.4Underperforming −− | 11 | -5.3 | -0.1 | 0:3 vs Sampdoria (+2.1) | 0:1 vs Carrarese (-1.7) |
16 | Palermo | 38 | 52 | 57.6 | -5.6Underperforming −− | 5 | -3.7 | -1.9 | 0:1 vs Cremonese (+2.0) | 1:2 vs Sudtirol (-2.0) |
17 | Salernitana | 38 | 42 | 49.6 | -7.6Underperforming −− | 10 | +2.6 | -10.2 | 0:1 vs Palermo (+2.0) | 1:2 vs Juve Stabia (-1.5) |
18 | Modena | 38 | 45 | 53.0 | -8.0Underperforming −− | 8 | -3.6 | -4.4 | 1:2 vs Pisa (+2.1) | 0:1 vs Cittadella (-1.8) |
19 | Cosenza | 38 | 34 | 44.0 | -10.0Underperforming −− | 18 | -3.7 | -6.4 | 1:0 vs Cremonese (+2.0) | 0:1 vs Frosinone (-1.6) |
20 | Sampdoria | 38 | 41 | 53.4 | -12.4Underperforming −− | 7 | -5.1 | -7.3 | 3:5 vs Cesena (+1.8) | 0:1 vs Reggiana (-2.0) |
