League Two 2026-2027 Performance vs Market
Download CSV:·
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 | Salford | 15 | 32 | 26.9 | +5.1Outperforming ++ | 1 | +3.0 | +2.1 | 1:4 vs Oldham (+1.6) | 0:1 vs Chesterfield (-1.7) |
2 | Walsall | 13 | 22 | 17.5 | +4.5Outperforming | 19 | +2.4 | +2.1 | 0:3 vs Gillingham (+1.8) | 2:4 vs Salford (-1.1) |
3 | Cheltenham | 15 | 21 | 16.6 | +4.4Outperforming | 22 | +7.9 | -3.5 | 3:2 vs York City (+1.9) | 2:0 vs Accrington (-1.4) |
4 | Barnet | 13 | 26 | 21.6 | +4.4Outperforming | 7 | +1.0 | +3.4 | 1:3 vs Bristol Rovers (+1.8) | 1:3 vs Swindon (-2.1) |
5 | Exeter | 15 | 22 | 18.3 | +3.7Outperforming | 15 | +6.2 | -2.5 | 0:1 vs Shrewsbury (+1.9) | 1:0 vs Port Vale (-1.0) |
6 | Gillingham | 15 | 20 | 17.2 | +2.8Outperforming | 21 | -0.1 | +2.9 | 1:2 vs Shrewsbury (+2.0) | 0:3 vs Walsall (-1.5) |
7 | Newport | 15 | 19 | 16.2 | +2.8Outperforming | 23 | +6.9 | -4.1 | 4:1 vs Chesterfield (+2.1) | 1:0 vs Cheltenham (-1.4) |
8 | Crewe | 15 | 23 | 20.4 | +2.5Outperforming | 9 | +2.1 | +0.5 | 3:1 vs Bristol Rovers (+1.7) | 2:0 vs Exeter (-1.3) |
9 | Shrewsbury | 15 | 21 | 18.5 | +2.5Outperforming | 14 | +2.2 | +0.3 | 1:2 vs Grimsby (+2.2) | 1:2 vs Gillingham (-1.7) |
10 | Swindon | 15 | 19 | 17.4 | +1.6On expectation | 20 | +2.9 | -1.3 | 1:3 vs Barnet (+2.3) | 0:1 vs Crewe (-1.4) |
11 | Accrington | 15 | 19 | 18.1 | +0.9On expectation | 16 | +3.1 | -2.2 | 2:0 vs Cheltenham (+1.6) | 3:2 vs Walsall (-1.1) |
12 | Tranmere | 15 | 19 | 19.7 | -0.7On expectation | 10 | +1.6 | -2.4 | 0:1 vs Northampton (+1.9) | 2:0 vs Gillingham (-1.3) |
13 | Port Vale | 13 | 18 | 18.8 | -0.8On expectation | 13 | +5.9 | -6.7 | 1:0 vs Chesterfield (+1.8) | 3:1 vs Swindon (-1.6) |
14 | Fleetwood | 15 | 20 | 20.9 | -0.9On expectation | 8 | +1.9 | -2.9 | 0:1 vs Chesterfield (+2.1) | 1:2 vs Rochdale (-1.7) |
15 | York City | 15 | 23 | 24.8 | -1.8On expectation | 4 | +3.9 | -5.7 | 3:2 vs Bristol Rovers (+1.5) | 3:2 vs Cheltenham (-1.7) |
16 | Grimsby | 15 | 23 | 25.3 | -2.3Underperforming | 2 | +0.5 | -2.8 | 2:0 vs Bristol Rovers (+1.5) | 1:2 vs Shrewsbury (-1.9) |
17 | Chesterfield | 15 | 22 | 24.9 | -2.9Underperforming | 3 | -0.8 | -2.1 | 0:1 vs Salford (+2.0) | 0:1 vs Fleetwood (-1.8) |
18 | Crawley | 12 | 9 | 12.0 | -3.0Underperforming | 24 | -5.0 | +2.0 | 0:1 vs Oldham (+2.2) | 2:3 vs Shrewsbury (-1.3) |
19 | Rochdale | 15 | 15 | 18.0 | -3.0Underperforming | 17 | -0.8 | -2.2 | 1:2 vs Fleetwood (+2.0) | 1:2 vs Crawley (-1.8) |
20 | Northampton | 14 | 15 | 19.1 | -4.1Underperforming | 12 | -3.4 | -0.7 | 0:2 vs Grimsby (+2.1) | 0:1 vs Tranmere (-1.6) |
21 | Colchester | 14 | 15 | 19.1 | -4.1Underperforming | 11 | +1.1 | -5.2 | 2:1 vs Oldham (+1.6) | 1:3 vs Walsall (-1.4) |
22 | Rotherham | 14 | 12 | 18.0 | -6.0Underperforming −− | 18 | -1.8 | -4.2 | 2:1 vs Chesterfield (+1.9) | 1:4 vs Gillingham (-1.7) |
23 | Bristol Rovers | 15 | 16 | 23.6 | -7.6Underperforming −− | 5 | -0.5 | -7.2 | 2:0 vs Colchester (+1.2) | 3:0 vs Gillingham (-1.6) |
24 | Oldham | 15 | 15 | 22.8 | -7.8Underperforming −− | 6 | -1.9 | -5.8 | 0:1 vs Northampton (+1.8) | 0:1 vs Crawley (-2.0) |
