Not The Top Table (28 October 2025) – an annotated edition of our new xG form guides
Every Tuesday NTT20.COM brings you updated xG form tables for the Championship, League One and League Two.
What’s all this about then?
Our mission has always been to cover the EFL with the same depth and care the Premier League receives - analysis that mixes passion and gut feel with measured reasoning and, where possible, evidence. That began in podcast form. It continues here, on NTT20.com, in written form. We’re always looking to evolve, and the next logical evolution is to burnish our content with a data product.
The internet teems with excellent league tables and all manner of data sets. But xG form tables still lag behind in EFL circles. Our aim isn’t to replace anything, just to add clear, sortable xG form tables for each EFL league.
Why is this useful?
As well as watching live matches, gobbling up every morsel of highlights, studying shot-maps and touch-maps, memorising league tables and watching Wyscout footage, xG data provides further information to give us as extensive an overview of these leagues as possible.
It helps us spot team performance trends before results show them, judge managerial impact beyond wins and losses, and even sharpen predictions, betting, or fantasy picks.
Let the numbers lead you down rabbit holes. If a team’s underlying figures are poor, is trouble on the way? If they’re strong, are results about to turn? You’ll get far more insight - and foresight - here than from simply looking at results.
Why do xG form tables matter?
Public data sources like FotMob or Opta give excellent xG and performance data in season-long form, but it’s not sliced and diced. Once the season is deep underway, those ‘running total’ tables don’t always help answer questions of form: who’s improving, regressing, or riding their luck? Across 46 games, each EFL team goes through peaks and troughs of performance as well as results, and currently there is nowhere that lays this out. That’s where our 5-game and 10-game breakdowns come in.
Huge shoutout to Mike Holden (@BinaryFootball) for inspiring this approach with his Foxpunter xG tables product which ceased in May 2024. And the main man Eamonn Geoghegan - legend of NTT20 Squad and Fantasy EFL super-star - who is running the warehouse to make sure the final product is up-to-date and accurate.
What metrics are you covering then?
Our tables take xG data, provided by FotMob, from every league game and collate five key metrics:
⚽ xG (Expected Goals) — The total quality of chances a team creates, based on the likelihood each shot becomes a goal.
🥅 xGA (Expected Goals Against) — The total quality of chances a team concedes to opponents.
➖ xGD (Expected Goal Difference) — The difference between xG for and against [xG-xGA].
🟰 xG Total — The total xG in a team’s matches: xG + xGA. Reflects how open or tight their games are.
🍰 xG Ratio — A team’s slice of the xG cake. It shows how big a share of the total xG in a team’s matches they’re creating for themselves: xG ÷ (xG + xGA). The bigger the slice, the more of the game they’re truly dominating from a chance quality perspective.
🚨 As important as the data — All of the metrics (xG, xGA, xGD and xG Total) are expressed as a per-90 figure: dividing the totals by the number of games played per team (xG Ratio is a % and naturally expressed as a per-90 figure already).
What spell of form are you looking at?
Last 5 games:
These tables are designed to show the most recent trends, but they can be volatile. A single outlier - a dominant win against an opponent that went down to 10 men early on, or an equivalent defeat - can heavily distort the picture. Treat these with curiosity rather than as gospel: what’s driving the change? Are we seeing genuine form, consistent across all five games, or one chaotic game skewing the data?
Last 10 games:
This view smooths out the noise. Ten-game samples are more stable and trustworthy, offering a better sense of a team’s true level. It’s always interesting to compare these 10 game xG form tables with points tallies in the same time-frame.
Running totals:
The data of the whole season so far. Comparing them to the 5- and 10-game windows shows how teams’ performance levels are shifting. For instance, if the side ranked 2nd on season-long xG difference is only 16th over the last five, that top-two standard probably isn’t sustainable — and the trend might be turning.
Any other business?
Not The Top Table takes a lot of hard work to produce. As a free product until Christmas, we’ll be using this period to refine and perfect it based on your feedback and requests. After that, we’ll review whether it remains free or becomes available only to paid subscribers. Paid subscriptions are what keep us going — they directly fund our work and help us continue improving and expanding what we do.
Coventry’s recent numbers reflect their continued dominance over their peers and supernatural attacking quality, but also the fact that they do leave the door open at the back.
Swansea and WBA are notable - both finding it impossible to generate consistent attacking output, while Stoke City have Sorba Thomas to thank for papering over the cracks of their own paltry output on a team level. Chris Wilder’s impact at Sheffield United is being quantified.
Here we see Bristol City’s consistency demonstrated. Any team that’s generating Top 6 numbers in attack and defence over a 10-game period is ticking along very nicely indeed. Ipswich have had an underwhelming start (16 points from 11 games), but if you remove The Noise it’s still a team creating plenty and giving away little relative to the rest of the division.
This table, sorted by xG ratio, is a good reminder that expected goals are not real goals. The teams 2nd through to 7th for xG ratio are 12th, 20th, 15th, 14th, 2nd and 21st. Does that mean this is all a waste of time?
No, because our reading of these tables is not about who deserves better or worse. We’re more interested in looking forward: what does this tell us about what might happen next? There are no prizes for good historical performance data, but posting good numbers is the football equivalent of weighting the dice in your favour. Early on in the season, execution in both boxes is likely the greatest driver of league position. By the end of the season, underlying performance is generally reflected in the league table.
Three dominant home displays in a row contribute to Lincoln’s strong numbers. They feel like a team whose good early season results help boost confidence and buy-in. If Stockport are finding their groove performance-wise, their current status as league leaders should be sustainable.
Cardiff City set a strong early pace, but can a title challenge be sustained if they continue to post the third worst xGA numbers? And what about third place Stevenage, with the second worst attacking numbers in this period?
Bradford’s approach under Graham Alexander needs to be studied closer. How do you go from 64 goals scored in 46 League Two games to being the most consistently dangerous attacking side in League One? Incredible management.
Of the top six for season-long xG ratio, it’s only Bradford that have been matching the underlying performance with the same level of execution in both boxes, and they have a huge opportunity for a double promotion if that continues. This underlines the tough job Ian Evatt has on his hands at Blackpool - it wouldn’t be fair to expect that he can magically arrive and things instantly get better when performances have been this bad. Exeter may not be a team with a high attacking ceiling, but their defensive numbers are impressive. And are Huddersfield simply… average?
Harrogate and Bristol Rovers’ runs of four straight defeats find precious little silver lining in the numbers. Oldham’s strong early season numbers have taken a whack as The Latics have found it tougher against strong opposition such as: Notts, Salford, Barnet.
Looking at this, I’m mainly desperate to see how Colchester and Crawley compare over a larger sample size…
… and there they are, Colchester and Crawley. In this time frame, they’ve picked up 13 and 11 points respectively from 10 games. This would send us off on a big old deep dive to try and work out what’s going on here.
A big bunch of teams at the top, all playing well and not separated by much - that sums up League Two pretty well right now!
Chesterfield are probably the big surprise here. The largest attacking xG over-performance in the division leads to the age-old question: is it fine because they’ve got Good Individuals who are likely to outperform xG over a long period? Or do they need to improve their performances as a unit if they’re to turn their current 7th spot into the expected automatic promotion push?
We’d love to hear your thoughts!
Not The Top Table represents our first foray into publishing data. If you’re reading this, you’re probably a reader of NTT20.COM and a listener to the pod. You know that we love data. And we suspect, you’ll have great ideas to help us polish and refine what we’re doing. Perhaps you have an idea about other tables we might publish in future? If so, please share your thoughts with us - thank you!

















I love this and will be looking at it with my yr12 BTEC Sport students in their maths components… thank you.
But… please tell me then that this means Port Vale are going to start to improve their league position!? They seem to be a huge difference in where they are and maybe could/should be?
Great. Data. Thank you. As discussed, suggest you rank by XG ratio and we can get used to the implications of that.
Over time, it might be interesting to identify the gap between XG ratio rank and league position, by 5, 10 and total?