Well, hello.
Our xG form guides for the EFL have been updated 👇
On Oscars week, it would be rude not to peek at the nominees.
Words: Sam Parry
🔗 Championship
🎬 BEST PICTURE: Top 6 variance
What’s in the envelope, Moonlight or La La Land? Results or performance?
The current top six is a fun example of how variance manifests itself over small samples, where results often drift away from the underlying performance level.
When Coventry went on a poor run it was evident by eye-test, points and underlying numbers that they were performing worse. Their level, per the shot data, hasn’t suddenly leapt back up to pre-Christmas levels of dominance. But they’ve just won 5 out of 5.
Similar with Ipswich: their underlying numbers have dipped slightly, but they’re tracking at 2.00 PPG over the last five games.
Spare a thought for Middlesbrough, who, despite posting a stronger xG share in recent games, have dipped below their expected points haul with 8 from 5 (1.6 PPG), relinquishing top spot in that time.
Then come Millwall: numbers look better, performances look better, points are better. Wrexham didn’t play at the weekend but, like Millwall, they’re showing that improved performances can generate improved results, and sometimes it really is that simple.
And then Hull, who haven’t really deviated all season. But the low share of expected goals that has them averaging 1.67 PPG through the season has them running at just 1.2 PPG over the last five matches, which is more like an 18th-place return.
Playing well and getting results across a season is one thing. But over short stretches, results can move in the opposite direction to performance. That gap between performance and outcomes is variance.
🔔 BEST SOUND: QPR
“There are enough points on the board.”
That’s the positive noise for Queens Park Rangers because, performance-wise and results-wise, things are going awry. OK, their last two losses were to good teams (4-0 to Boro and 2-0 to Sheffield United), but performances over 5- and 10-game spells are dropping from an even share of xG to something much less even.
The aggregate score over their last 5 games is Opponents 15-4 QPR. They may be one of the beachiest teams in the EFL, given that their tally of 47 points puts them closer to the play-offs (10-point gap) than the relegation zone (12-point gap), but they will have to get another result at some point to see it home.
🔗 League One
🔍 BEST CASTING: Barnsley
Over the last 5 games, David McGoldrick has scored 5 (of 7) Barnsley goals from a total xG of 2.45. It’s a role he was born to play, and Tykes fans must be glad that he is.
Conor Hourihane’s side have 9 points from 5. Huge kudos to Didzy in that run because, without him, Barnsley’s inability to create heaps of good chances, and their record for allowing plenty of chances to the opposition, would likely show up more clearly in the results.
It’s crackers but, with the mercurial heft in the XI, you couldn’t rule out a late play-off charge. After tonight’s fixture against Cardiff, Barnsley face Mansfield, Wigan, Doncaster, Northampton and Burton in a row.
🔢 BEST ORIGINAL SCORE: Bolton
Wahey. Bolton’s 3-2 win over Wycombe on Saturday represented the latest in an EFL match that a team has been two goals down and still won, thanks to a trio of strikes in the 88th, 91st and 95th minutes. How’s it all going for the team that has long led the xG standings in League One?
Over 5 unbeaten games (W2 D3), Bolton have averaged 1.53 xGA, which is a huge downgrade on their season average of 0.91. With Rotherham, Doncaster and Port Vale up next, though, you’d think that would correct itself.
Why are Bolton leading the xG tables but not the table itself? Well, they have created the second-most big chances in the league but missed 70% of them. That probably has something to do with it.
🔗 League Two
🎭 BEST ACTOR: Oldham
The boys can play two roles: dominator and dominated.
Oldham have taken advantage of four favourable fixtures (Tranmere, Crawley, Bristol Rovers and Gillingham) and one tough one (Bromley), delivering W4 D1. In those games they’ve created the lion’s share of chances, as seen in the 5-game xG share column here.
But their 10-game xG share falls away due to their having played games against four sides above them – Swindon, Cambridge, Barnet and Chesterfield – and one below, in Cheltenham, taking 4 points from those 5 fixtures. It may be a good indicator that any thoughts of an Oldham assault on the play-offs are too heavily based on the fixture list.
Still, they immediately have an opportunity to test that theory. Top-10 occupants Grimsby, Chesterfield, Notts County and Crewe make up four of their next five opponents, followed by Colchester and MK Dons on Easter weekend.
🍓THE RASPBERRY: Tranmere
It’s quite an achievement to post numbers this bad, even over a relatively small sample of five games.
Tranmere have lost five games in a row, giving up chances worth 2.06 xGA per 90. Equally shocking is their inability to create anything. They’ve fashioned 10 shots on target in their last 5 games.
They’ve now conceded the most goals in League Two and will be incredibly grateful that they have 36 points already, as another win or two should be enough for safety. Having sacked Andy Crosby because it all went Pete Tong, they’ve just hired Pete Wild. We’ll keep an eye on how that goes.









