Season statistics packs

English football, tiers 2 to 6. Every table, every match, every player who played.
Written pieces built from these numbers are in Writing.

Championship England · tier 2

552 matches · 24 clubs · 49 sheets
champions: Coventry (95 pts)

Excel .xlsx 345 kB PDF 179 kB

League One England · tier 3

552 matches · 24 clubs · 49 sheets
champions: Lincoln (103 pts)

Excel .xlsx 315 kB PDF 180 kB

League Two England · tier 4

552 matches · 24 clubs · 49 sheets
champions: Bromley (87 pts)

Excel .xlsx 305 kB PDF 178 kB

National League England · tier 5

552 matches · 24 clubs · 34 sheets
champions: York (108 pts)

Excel .xlsx 165 kB PDF 120 kB

National League North England · tier 6 · 2024/25

552 matches · 24 clubs · 30 sheets
champions: Brackley Town (92 pts)

Excel .xlsx 158 kB PDF 106 kB

National League South England · tier 6 · 2024/25

552 matches · 24 clubs · 30 sheets
champions: Truro City (89 pts)

Excel .xlsx 158 kB PDF 106 kB

Clubs: what each side was actually good at

Every club is scored against the rest of its own league on five groups of measures — attack, defence, character, discipline and results against the closing odds. The Strengths & weaknesses sheet names, for each club in words, the two things it did best and the two it did worst, with the percentile next to each.

Example, League One: Cardiff finished second but scored highest overall (86) — best in the division for goals per game and shots on target. Lincoln won the league on defence: 98th percentile for goals conceded and for finishing.

Players: who stood out, who fell short

Every player with 900+ minutes is compared with the median of his own position in his own league — not with a forward in the Premier League. Each gets a standout score from 0 to 100 built from the measures that matter for his role:

Goalkeeper — rating, saves per 90, goals conceded per 90
Defender — rating, duels won %, aerials per 90, clearances per 90
Midfielder — rating, pass accuracy, duels won %, goals+assists per 90
Forward — goals+assists per 90, rating, duels won %

Underperformers are only listed with 1800+ minutes — half a season. A bad month does not make anyone a failure.

How the season was actually won

A final table tells you who won. It does not tell you when. Every pack tracks the position of every club after every day of football played — highest, lowest, days spent top, days spent in the relegation places — alongside points month by month and the two halves of the season side by side.

Alongside it: longest winning, unbeaten, winless and losing runs, longest run of scoring and of clean sheets, and the best and worst six-game stretch each club put together.

The league itself

Every scoreline that occurred, how often, and the fair odds that frequency implies — 1-1 came up in 15 % of Championship matches, so a fair price on it was 6.7. Plus the biggest wins of the season, the biggest upsets ranked by the closing odds on the winner, and each club's record split by whether the market made it favourite or underdog.

The full home-versus-away results grid is included in the Excel: every fixture of the season in one 24×24 table.

Our own work

The tables above come from the public match record. These seven sheets are what we computed from ten seasons of our own player and club database, and they are in the tier 2-4 packs. Two of them you will not find anywhere else — and we will say plainly which, because the rest you could build yourself from free data if you wanted to.

Players in and out is the one that does not exist elsewhere. The academic work on how output translates between leagues covers the big five European leagues, not the English pyramid. And since FBref lost its Opta licence in January 2026, there is no source, free or otherwise cheap, publishing player-level advanced stats for League One and League Two — Understat stops at the top five leagues. Our ratings, minutes and duels cover 798 to 897 players per tier.
Our league rating — where this division sits against every other league we hold, on one scale. The Championship is our reference point at 0; the Premier League is +23.8, League One −12.8, League Two −19.3.

Ten-season history — every club, ten seasons, tier and finishing position in one grid, with its route up and down the pyramid and how many of those seasons were spent at this level.

Percentiles in the division — each club against the other 23 on expected goals for and against, shots, possession and pass accuracy.

Goals vs our xG — which clubs beat the game they actually played and which flattered themselves, scored on attack and defence together. Our own expected goals, though FootyStats publishes club-level xG for these divisions free, so treat this one as convenience, not exclusivity.
Similar clubs — the five closest comparable clubs to each side, drawn from every league we cover, with the distance printed next to each one so you can see whether the comparison is close, loose, or not really there. Coventry's nearest match is Palermo at 0.59; Wrexham has no real twin at 1.41.

Players in and out — every player who entered or left this tier: appearances and rating on both sides of the move, the percentile change against his own position, and whether he stepped up, held level or fell back. 1,110 moves for the Championship alone.

What the data says — the findings written out as sentences. Across 27 promoted clubs, points per game fell from 1.95 to 1.20 in the season after promotion. 74 % pass accuracy here against 79.2 % in the Premier League and 66.7 % in League Two. Second halves carry 1.40 goals against 1.12 in the first, in seven seasons out of seven.

The season through our own model

Every pack now carries a rating we built ourselves. It is a rolling Poisson fit over the whole English pyramid — 26 seasons, roughly 60,000 matches, results only. Every match is rated with only what was known before kick-off: no future leakage, no hindsight.

What the rating does not do: compare divisions. No club in this data ever plays one from another division, so nothing anchors the gap between tiers and each division's ratings settle around its own average. The 2025/26 champions rate +59 in the Championship, +72 in League One and +78 in the National League — that is the scale failing to separate tiers, not League One being the stronger competition. To place divisions against each other we use a separate measure built from players moving between them: Premier League +23.8, Championship 0, League One −12.8, League Two −19.3. Both numbers are in the pack, and the Model check sheet says this too.
Season through our model — all 552 matches, and for each one our rating of both clubs going in, our expected goals, our win/draw/win percentages, how surprising the result was, and how far the rating moved afterwards. Coventry 0-0 Sheffield Wednesday on 11 April was the least likely result of the Championship season: we gave it 13.1 %.

Deserved points — what each club would have earned had its goals fallen in an average pattern, against what it actually earned. Millwall's 83 points were 9.4 more than they deserved; Sheffield Wednesday's 18 were 8.1 short of even their own dismal level. Each club's single best and worst day is named.
Strength of schedule — the average rating of the opponents each club actually faced, home and away separately, plus the hardest and easiest five-match run of its season with the date it started. Sheffield Wednesday had the hardest slate in the Championship, Sheffield United the softest.

Club ratings by matchweek — the rating of every club after every one of its 46 matches, so you can see the whole shape of a season rather than its endpoint.

Model check — our own scoreboard, including where the model loses.
We publish what the model gets wrong. Over the Championship season it picked the right 1X2 result 44.4 % of the time against the closing market's 46.4 %, and its log loss was 1.0605 against the market's 1.0395. It does not beat the bookmakers and is not built to. It is a measuring instrument: it correlates with final points at r=0.94, and when it says 30-40 % the thing happens 36.2 % of the time. The pack prints that calibration table so you can check it yourself.

Sheets

Tiers 2-4 — 49 sheets
  • League, home, away, half-time and second-half tables
  • Form & streaks
  • Points by month
  • Position through the season
  • Home advantage
  • Scorelines
  • Biggest wins
  • Biggest upsets
  • Favourite & underdog
  • Results grid
  • Club statistics
  • Goals & markets
  • Leads & comebacks
  • Vs the market
  • Club standouts
  • Strengths & weaknesses
  • Attack / Defence / Character / Market / Discipline profiles
  • Top scorers
  • Appearances & minutes
  • Discipline
  • Squad usage
  • Squad profile
  • Standouts, Underperformers
  • Goalkeepers, Defenders, Midfielders, Forwards
  • Our league rating
  • Ten-season history
  • Percentiles in the division
  • Goals vs our xG
  • Similar clubs
  • Players in and out
  • What the data says
  • Season through our model
  • Deserved points
  • Strength of schedule
  • Club ratings by matchweek
  • Model check
Tiers 5-6 — 30 to 34 sheets
  • League, home, away, half-time and second-half tables
  • Form & streaks
  • Points by month
  • Position through the season
  • Home advantage
  • Scorelines
  • Biggest wins
  • Results grid
  • Goals & markets
  • Leads & comebacks
  • Club standouts
  • Strengths & weaknesses
  • Top scorers
  • Appearances & minutes
  • Discipline
  • Squad usage
  • Goal timing
  • Season through our model
  • Deserved points
  • Strength of schedule
  • Club ratings by matchweek
  • Model check

Why the tables are right

Every pack is built from all 552 league matches of the season, so the tables match the official ones exactly — same points, same goal difference, same order. Half-time tables come from the half-time score of every single match, not from an estimate.

Tier 6 covers 2024/25 — the most recent completed season with full lineup data. Shots and corners are not recorded below tier 4, so those packs use player data instead. Player ratings and per-90 measures cover 75-84 % of appearances; shot counts are too sparse below the Premier League to be used, so nothing here is built on them. Fifteen matches across tiers 2-4 had two fixtures merged in the player feed and are left out of the player sheets — the tables themselves still use all 552.
Where each number comes from. The tables, club statistics and closing-odds columns are aggregates we compute from the public match record at football-data.co.uk. The league rating, percentiles, expected goals, club vectors, transfer records and written findings come from our own database. The five model sheets are computed here from results alone. No raw third-party file is reproduced in these packs — every sheet is either a table we computed or a rating we built. The seven database sheets are only in the tier 2-4 packs; our derived layer does not go below tier 4 yet. The model sheets are in all six.