8 games in, the League Two table is still short enough that a couple of results decide where a club sits and long enough that the underlying numbers have started to say something. This is the gap between the two: which sides have more points than their chances deserved, which have fewer, and what October asks of each of them.
The measure underneath it is expected points. Every shot in every game is scored for the chance it was, those chances are replayed to give each match a win, draw and loss probability, and the probabilities are turned back into points. A side on +5.4 has banked more than the football produced; -4.9 means the opposite. Cheltenham Town lead the first list, Oldham Athletic the second.
Full season numbers for every club are on the League Two team stats page, and the running expected points table is at League Two xG.
Points minus expected points, biggest first
| Team | Pts | xPts | Gap |
|---|---|---|---|
| Cheltenham Town | 15 | 9.6 | +5.4 |
| Swindon Town | 11 | 7.5 | +3.5 |
| Barnet | 15 | 11.8 | +3.2 |
| Rochdale | 10 | 6.9 | +3.1 |
| Salford City | 13 | 10.9 | +2.1 |
| Crewe Alexandra | 12 | 10.1 | +1.9 |
| Gillingham | 12 | 10.2 | +1.8 |
| Walsall | 14 | 12.5 | +1.5 |
| Bristol Rovers | 15 | 13.7 | +1.3 |
| Tranmere Rovers | 11 | 9.7 | +1.3 |
| Fleetwood Town | 10 | 8.7 | +1.3 |
| York City | 14 | 14.2 | -0.2 |
| Colchester United | 10 | 10.5 | -0.5 |
| Newport County | 9 | 9.8 | -0.8 |
| Grimsby Town | 13 | 14.8 | -1.8 |
| Northampton Town | 6 | 8.4 | -2.4 |
| Accrington Stanley | 7 | 10.1 | -3.1 |
| Rotherham United | 10 | 13.4 | -3.4 |
| Shrewsbury Town | 8 | 11.7 | -3.7 |
| Crawley Town | 4 | 8.1 | -4.1 |
| Exeter City | 6 | 10.3 | -4.3 |
| Chesterfield | 11 | 15.5 | -4.5 |
| Port Vale | 5 | 9.8 | -4.8 |
| Oldham Athletic | 7 | 11.9 | -4.9 |
Cheltenham Town are the furthest ahead of themselves in League Two, +5.4 points better off than the chances in their 8 games deserved. Oldham Athletic are the other way round at -4.9. 10 of the 24 clubs sit within two points of their expected total, which is the normal state of things this early - the names at the two ends of this table are the ones worth a second look.
Points minus expected points
| # | Team | Pts | xPts | Gap |
|---|---|---|---|---|
| 1 | Cheltenham Town | 15 | 9.6 | +5.4 |
| 2 | Swindon Town | 11 | 7.5 | +3.5 |
| 3 | Barnet | 15 | 11.8 | +3.2 |
| 4 | Rochdale | 10 | 6.9 | +3.1 |
| 5 | Salford City | 13 | 10.9 | +2.1 |
| 6 | Crewe Alexandra | 12 | 10.1 | +1.9 |
Cheltenham Town have scored 5.2 more goals than their chances were worth. Underneath it they rank 19th of 24 on expected goal difference and face 15.4 shots a game, the 5th most. A record built on the finer margins is not a fake record - finishing and goalkeeping are skills and some sides hold the line for a whole season. Here they do not keep pace: 2nd on points against 19th on chances, and a month of ordinary luck closes most of that by itself.
Points minus expected points
| # | Team | Pts | xPts | Gap |
|---|---|---|---|---|
| 1 | Oldham Athletic | 7 | 11.9 | -4.9 |
| 2 | Port Vale | 5 | 9.8 | -4.8 |
| 3 | Chesterfield | 11 | 15.5 | -4.5 |
| 4 | Exeter City | 6 | 10.3 | -4.3 |
| 5 | Crawley Town | 4 | 8.1 | -4.1 |
| 6 | Shrewsbury Town | 8 | 11.7 | -3.7 |
Oldham Athletic have scored 3.2 fewer goals than their chances were worth. They take 15.0 shots a game, the 6th most in League Two, and sit 20th of 24 on points against 8th on expected goal difference. That is the honest version of the argument for them. The dishonest version would be to call the correction due, and the section at the foot of this page explains why we do not.
Goals scored minus expected goals
| Team | xG | Goals | Gap |
|---|---|---|---|
| Cheltenham Town | 10.8 | 16 | +5.2 |
| Barnet | 13.0 | 17 | +4.0 |
| Newport County | 9.1 | 12 | +2.9 |
| Rochdale | 6.7 | 9 | +2.3 |
| Salford City | 10.3 | 12 | +1.7 |
| … 14 teams in between … | |||
| Grimsby Town | 15.7 | 12 | -3.7 |
| Port Vale | 7.6 | 3 | -4.6 |
| Crawley Town | 10.8 | 6 | -4.8 |
| Exeter City | 9.1 | 4 | -5.1 |
| Chesterfield | 17.2 | 11 | -6.2 |
Cheltenham Town have turned 10.8 expected goals into 16, converting 20.5 per cent of their shots. Chesterfield have done the reverse, 17.2 expected goals for 11 actual ones at 7.8 per cent. A 6.2-goal shortfall over 8 games is most of the reason their position looks the way it does - the chances are arriving, the finish is not.
Expected goals against minus goals conceded
| Team | xGA | Let in | Gap |
|---|---|---|---|
| Walsall | 12.1 | 5 | +7.1 |
| Fleetwood Town | 14.4 | 9 | +5.4 |
| Crewe Alexandra | 11.0 | 6 | +5.0 |
| Tranmere Rovers | 12.5 | 8 | +4.5 |
| Exeter City | 10.1 | 6 | +4.1 |
| … 14 teams in between … | |||
| Bristol Rovers | 9.3 | 11 | -1.7 |
| Rotherham United | 9.2 | 11 | -1.8 |
| Port Vale | 7.0 | 9 | -2.0 |
| Oldham Athletic | 10.7 | 13 | -2.3 |
| Shrewsbury Town | 8.4 | 13 | -4.6 |
Walsall have conceded 5 from 12.1 expected, the biggest saving in League Two, while facing 15.5 shots a game. Shrewsbury Town have shipped 13 from 8.4 - 4.6 goals worse than the shots they gave up suggest. Goalkeeping is the loudest single variable in this column, and it is also the one that swings hardest from month to month.
Shots taken minus shots faced
| # | Team | Shots | Faced | Gap |
|---|---|---|---|---|
| 1 | Bristol Rovers | 16.2 | 9.8 | +6.5 |
| 2 | Chesterfield | 17.6 | 11.1 | +6.5 |
| 3 | Grimsby Town | 15.0 | 10.1 | +4.9 |
| 4 | York City | 16.9 | 12.5 | +4.4 |
| 5 | Barnet | 13.8 | 10.0 | +3.8 |
| 6 | Shrewsbury Town | 13.8 | 10.0 | +3.8 |
Bristol Rovers have the best shot difference in League Two at +6.5 a game, and sit 3rd on points. Shot volume is the slowest thing on this page to move: a side can stop finishing for a month, or start saving everything, but the number of shots it takes and gives up drifts rather than jumps. That is why it is the column worth reading when the results and the performances disagree.
Average opponent expected goal difference a game
| Team | Games | Home | Opponent xGD |
|---|---|---|---|
| Chesterfield | 6 | 3 | -0.21 |
| Cheltenham Town | 6 | 3 | -0.19 |
| Salford City | 6 | 3 | -0.09 |
| Oldham Athletic | 6 | 3 | -0.09 |
| Rochdale | 6 | 3 | -0.08 |
| Exeter City | 6 | 3 | -0.04 |
| Barnet | 6 | 3 | +0.06 |
| Crewe Alexandra | 6 | 3 | +0.07 |
| Swindon Town | 6 | 3 | +0.17 |
| Shrewsbury Town | 6 | 3 | +0.18 |
| Port Vale | 6 | 3 | +0.18 |
| Crawley Town | 6 | 3 | +0.21 |
Of the clubs named above, Chesterfield draw the kindest October on paper - 6 games against opponents averaging -0.21 expected goal difference a game - and Crawley Town the hardest at +0.21. There are 72 League Two fixtures in the month, so this is a month long enough to move a table and short enough that one bad afternoon still colours it.
Two things are true at once, and most versions of this article only print the first. The gap is real: Cheltenham Town have had the rub of it and Oldham Athletic have not, and over a season those gaps usually shrink.
The second is that knowing this does not beat a betting market on its own, and we have the numbers rather than an opinion. We tested whether a side's running over-performance predicts its next one across 6,391 team-matches: the correlation is +0.007, which is nothing. We tested backing teams by how far ahead or behind their expected goals they were running over 6,359 bets: every band lost roughly the bookmaker's margin, and the over-performers actually won more often, because sides with good finishers keep having good finishers and the price already knows.
What did survive the testing was one-sided. Over 1,245 fixtures, teams whose results were running more than half a goal a game ahead of what their chances deserved went on to win 3.2 percentage points less often than our model rated them. Teams running the same distance behind beat their rating by 0.8 points, which is close enough to nothing to ignore. So the useful half of this page is the caution it throws over the top of the first table, not a tip sheet built from the bottom of it.
Expected goals is the most-discussed public number in football. If reading it off a table beat the market, it would have stopped working years ago.
Which League Two team is over-performing the most? Cheltenham Town, on 15 points against 9.6 expected after 8 games - a gap of +5.4. Swindon Town are next at +3.5.
Which League Two team is under-performing the most? Oldham Athletic, on 7 points against 11.9 expected, a gap of -4.9. Port Vale are next at -4.8.
Who has the best underlying numbers in League Two? Chesterfield, on +0.90 expected goal difference a game, from 17.6 shots and 11.1 faced. Grimsby Town are second at +0.80.
Does expected goals predict which teams improve? Only in one direction, and weakly. Across 1,245 fixtures we found teams running well ahead of their expected goals went on to win 3.2 percentage points less often than rated, while teams running behind beat their rating by 0.8 points - small enough to ignore. Backing the bounce-back is not a strategy our own testing supports.
Which League Two team has scored the most above expected? Cheltenham Town, 16 goals from 10.8 expected (+5.2). At the other end Chesterfield have 11 from 17.2 (-6.2).
Which League Two defence has been luckiest? Walsall have conceded 5 goals from 12.1 expected, a saving of +7.1. Shrewsbury Town are the other way, 4.6 goals worse than their expected total of 8.4.