🎲 Against Expectation

Every result in six football leagues and the NFL, scored against its pre-match chance.

51,330 English top-flight matches 1888-89–2025-26 · 125,745 matches in 5 continental top flights 1928-29–2024-25 · 18,195 NFL games 1920–2025 · squad value through 2026-06 · built 2026-10-30
Football home advantage
191 → 56
Elo points, 1901-02 to 2025-26
NFL home advantage
190 → 29
Elo points, 1925 to 2025
Biggest season, football
+27.4
Leicester City, 2015-16
Longest odds ever beaten
3.8%
Leicester City at Liverpool, 1980-81

Home advantage is dying, in both sports at once

Not a rule change, not a season, not one league.

How this is measured
Two sports on different continents, with nothing in common but crowds and travel, both peaked around the same moment and have been falling ever since.
English top flightNFLElo points of home advantage, five-season moving window
050100150200190019201940196019802000202056football29NFL

English football spotted the home side 191 Elo points at its peak in 1901-02. Last season it was 56. The NFL went from 190 in 1925 to 29 in 2025, close enough to nothing that playing at home is now worth less than the gap between two mid-table sides.

The measure is Elo points rather than home-win share on purpose. About a quarter of English league matches are drawn and almost no NFL game is tied, so the two leagues’ home-win percentages are not comparable and never were. The rating gap a home side is effectively spotted is: 400·log₁₀(home wins / away wins), in which the draws divide out. That is the only reason these two lines are allowed to share an axis.

The longest odds ever beaten

Nobody curated these; the model went looking for improbability.

How this is measured
It came back holding matches both sports already tell stories about, which is the best evidence it has taste.

English top flight

#MatchChance
1Liverpool 1-2 Leicester CityLeicester City won awaychance the winner had 3.8%
2Manchester United 0-1 Derby CountyDerby County won awaychance the winner had 4.5%
3Liverpool 0-1 Wolverhampton WanderersWolverhampton Wanderers won awaychance the winner had 4.7%
4Manchester United 2-3 Blackburn RoversBlackburn Rovers won awaychance the winner had 5.0%
5Manchester United 0-1 West Ham UnitedWest Ham United won awaychance the winner had 5.4%
6Manchester City 2-3 Crystal PalaceCrystal Palace won awaychance the winner had 5.5%
7Leeds United 1-3 SouthamptonSouthampton won awaychance the winner had 5.5%
8Chelsea 1-2 SunderlandSunderland won awaychance the winner had 5.7%
9Liverpool 0-2 Norwich CityNorwich City won awaychance the winner had 5.8%
10Manchester United 0-1 West Bromwich AlbionWest Bromwich Albion won awaychance the winner had 6.3%

NFL

#MatchChance
1Miami Dolphins 38-13beat New England Patriotschance the winner had 6.5%
2Washington Redskins 24-17beat Dallas Cowboyschance the winner had 7.5%
3Buffalo Bills 24-17beat Washington Redskinschance the winner had 7.6%
4Houston Texans 24-6beat Pittsburgh Steelerschance the winner had 7.9%
5New York Jets 23-20beat Los Angeles Ramschance the winner had 8.0%
6Pittsburgh Steelers 24-17beat Green Bay Packerschance the winner had 8.2%
7Miami Dolphins 27-24beat New England Patriotschance the winner had 8.7%
8Arizona Cardinals 34-31beat Oakland Raiderschance the winner had 9.0%
9Houston Oilers 34-21beat Cincinnati Bengalschance the winner had 9.1%
10Carolina Panthers 13-7beat San Francisco 49erschance the winner had 9.2%

The seasons that broke the model

The ratings still could not see these coming.

How this is measured
England is measured in league points under that season's own scoring; the NFL in wins; the five continental leagues in match points, because they switched to three points for a win in three different seasons and league points cannot rank across them. None of the three is added to another.

English top flight, league points vs expected

#Clubvs expected
12015-16Leicester City+27.4
21985-86West Ham United+24.5
32016-17Chelsea+22.3
42017-18Manchester City+21.4
51989-90Aston Villa+21.4
2007-08Derby County−25.1
1984-85Stoke City−23.9
2002-03Sunderland−20.9
2018-19Huddersfield Town−19.3
1987-88Watford−18.8

Spain, Italy, Germany, France and the Netherlands, match points vs expected

#Clubvs expected
11973-74Feyenoord+9.21
22023-24Bayer Leverkusen+8.68
32011-12Montpellier HSC+8.01
42023-24VfB Stuttgart+7.99
51988-89Inter+7.97
1945-46FC Sochaux−10.59
2018-19AS Monaco−9.12
1965-66Tasmania 1900 Berlin−8.73
1994-95Brescia Calcio−8.27
1988-89RC Lens−8.15

NFL, wins vs expected

#Teamvs expected
12004Pittsburgh Steelers+5.42
21999Indianapolis Colts+4.94
31981San Francisco 49ers+4.65
42025Jacksonville Jaguars+4.53
52025New England Patriots+4.52
1981New England Patriots−5.68
1994Houston Oilers−5.45
2013Houston Texans−5.29
2001Carolina Panthers−5.25
2014Tennessee Titans−4.76

Six leagues, one model, and the most predictable league in Europe

Skill is how much the ratings knew that the era's home-and-away split did not.

How this is measured
Every league is scored against its OWN era baseline, so a century of Serie A and sixty years of the Bundesliga can share a column. The five continental ledgers import the English model rather than copying it, so this is one model applied six times, not six models compared. Surplus totals, by contrast, are comparable within a league and only loosely across them, because league size and era differ.
Netherlands
Eredivisie · 1956-57–2024-25 · 69 seasons
8.15%
skill
Italy
Serie A · 1929-30–2024-25 · 94 seasons
5.65%
skill
Spain
Primera División · 1928-29–2024-25 · 94 seasons
4.75%
skill
Germany
Bundesliga · 1963-64–2024-25 · 62 seasons
4.10%
skill
England
English top flight · 1888-89–2025-26 · 127 seasons
3.17%
skill
France
Ligue 1 · 1932-33–2024-25 · 86 seasons
2.96%
skill

The Eredivisie is the most predictable of the six and the Ligue 1 the least. Predictable is not a judgement on the football. It means the same model, fitted the same way, learns more from the same number of matches, which usually points at a settled gap between a few clubs and the rest rather than at the quality of the play.

The number is the improvement on a baseline that knows nothing about the two clubs, only how often that era’s matches ended home, away or drawn. A league at 0% would be one where knowing who is playing tells you nothing you did not already know from the fixture list.

Nobody publishes this comparison, which is mostly because nobody runs one model across six leagues and a century. The settings were fitted on England and reused unchanged, so the transfer is a stated choice rather than a tuned result: skill is positive in all six, and refitting per league is available and not done.

By metro, and the thing size does not buy

The biggest metro is not the one that beats its odds.

How this is measured
Both ledgers agree on something the league tables never say. London sits barely above par across more than twenty thousand club-matches, and New York is the NFL's biggest underachiever.

English top flight, match points vs expected

#Metrovs expected
1Liverpool+94.6
2Manchester+75.8
3London+50.2
4Newcastle+13.4
5Bournemouth+7.2
6Coventry+6.4
7Brighton & Hove+4.5
8Sheffield−0.4
Middlesbrough−21.6
Nottingham−22.8
Leicester−23.2
Blackburn-Burnley−26.6

The five continental top flights, match points vs expected

#Metrovs expected
1Madrid+167.7
2Turin+153.7
3Milan+122.0
4Rome+81.3
5Barcelona+79.7
6Munich+72.8
7Eindhoven+72.3
8Naples+52.0
Pescara−28.7
Brescia−29.4
Murcia−30.4
Padua-Venice−51.7

NFL, wins vs expected

#Metrovs expected
1Green Bay+25.4
2Los Angeles+23.0
3Dallas+17.4
4Pittsburgh+15.6
5Miami+14.9
6Seattle+13.7
7Cleveland+11.8
8San Francisco-San Jose+10.0
Detroit−13.2
Phoenix−16.5
Tampa−21.1
New York−26.8

Madrid tops the continental board at +167.7 match points from 5 clubs. Rotterdam-The Hague has 16 clubs in these leagues, more than anywhere else, and sits at +28.1. Depth and dominance are different quantities and a league table cannot separate them. Totals are safe to compare within a league and only loosely across them, because league size and era differ.

Form against money

Squad value at the end of 2024-25 against that same season's surplus, for every club the two ledgers share.

How this is measured
Value rank and surplus rank are both computed WITHIN one league, never across the five: league size and era already make surplus only loosely comparable across leagues, and mixing a La Liga euro figure with a Bundesliga one would compound that. Gap is value rank minus surplus rank, so a positive gap is a club that finished above where its squad value sat and a negative one finished below it. Squad value is Transfermarkt via dcaribou/transfermarkt-datasets, EUR millions, read at the end of the season (June); the number beside it is how many players were priced that month, since a value below a 15-player floor is withheld rather than shown as artificially cheap.

Rayo Vallecano outperformed its money by the most in 2024-25: ranked 17th on squad value in the Primera División but 2nd on surplus, a gap of +15. Real Sociedad sits furthest the other way, a gap of −13 between its Primera División value rank (4) and its surplus rank (17).

1
Real MadridPrimera División
surplus +0.78 · rank 8 · gap −7
€1221m
26 valued
2
FC BarcelonaPrimera División
surplus +2.36 · rank 6 · gap −4
€1065m
26 valued
3
surplus +3.08 · rank 2 · gap −1
€1048m
25 valued
4
InterSerie A
surplus +0.45 · rank 6 · gap −5
€672m
27 valued
5
surplus +0.88 · rank 6 · gap −5
€598m
27 valued
6
JuventusSerie A
surplus +1.45 · rank 4 · gap −2
€574m
28 valued
7
AtalantaSerie A
surplus +1.57 · rank 3 · gap +0
€463m
27 valued
8
AC MilanSerie A
surplus −1.25 · rank 12 · gap −8
€452m
29 valued
9
surplus −0.92 · rank 9 · gap −7
€448m
28 valued
10
AS MonacoLigue 1
surplus +0.08 · rank 11 · gap −9
€425m
27 valued
11
SSC NapoliSerie A
surplus +4.75 · rank 1 · gap +4
€380m
28 valued
12
Athletic BilbaoPrimera División
surplus +3.18 · rank 3 · gap +0
€377m
28 valued

Return on the transfer window

Fees paid and received from 2012-13 to 2025-26, and what each squad gained in value once the trading is netted out.

How this is measured
Spent and received are transfer fees in EUR millions, by the July-to-June season of the move; a move with no fee on record is counted on the club page and never priced here. Wages are not in it. Appreciation is the change in squad value over each season minus the net spend, summed across the seasons the squad was priced at both ends (the count is on the row): a club that ends where its spending alone would put it scores zero, a club that made its players worth more scores above it. Return is that appreciation as a share of fees spent, shown only where the spend reached €50m over the span, because a small denominator makes a meaningless ratio. Only clubs priced in at least three seasons are ranked. Transfer fees and player valuations from Transfermarkt via github.com/dcaribou/transfermarkt-datasets (CC0).

Ajax Amsterdam made the most of its windows: +€626m of squad value beyond what it paid, across 14 priced seasons. Chelsea FC spent the most, €2.88b, for −€977m. Manchester United sits at the foot, −€1.33b. The best return on a real programme of spending is AZ Alkmaar, +€341m on €99m spent.

1
Ajax AmsterdamNetherlands
spent €563m · net +€573m · 14 seasons
+€626m
+111% return
2
spent €428m · net +€415m · 14 seasons
+€585m
+137% return
3
AS MonacoFrance
spent €1.01b · net +€261m · 14 seasons
+€563m
+56% return
4
PSV EindhovenNetherlands
spent €290m · net +€274m · 14 seasons
+€541m
+186% return
5
spent €428m · net +€183m · 14 seasons
+€509m
+119% return
6
spent €315m · net +€179m · 14 seasons
+€485m
+154% return
7
spent €724m · net +€184m · 14 seasons
+€478m
+66% return
8
spent €586m · net +€343m · 14 seasons
+€459m
+78% return
9
spent €422m · net −€50m · 9 seasons
+€401m
+95% return
10
RC LensFrance
spent €227m · net +€135m · 14 seasons
+€358m
+157% return
11
spent €243m · net +€201m · 14 seasons
+€352m
+144% return
12
spent €757m · net −€216m · 13 seasons
+€352m
+46% return

Money against football

One dot per club and season: points against expectation across, squad value gained beyond the spend up.

How this is measured
Every club-season from 2012-13 to 2025-26 with a priced squad at both ends and a row in the Against Expectation ledger, 1,362 of them across the six leagues. Across is the season’s surplus: match points earned minus the points the model expected, a win counting one and a draw a half, the same unit on every club page. Up is the season’s appreciation: the change in squad value once the net spend is taken out. The frontier joins the club-seasons no other one beat on both axes; it is drawn through the data, never fitted, because a fitted curve would claim a trade-off the data does not have to carry. Surplus is comparable within a league and only loosely across them, so nothing here ranks one league against another; the readout names the league every time.

6 club-seasons make the frontier. The furthest right is Leicester City in 2015-16, +9.5 points against expectation with +€28m of value gained beyond its spend; the highest is Liverpool FC in 2017-18, +€299m.

● the frontier: no other club-season beat it on both axes

Grown or bought

Each club's squad-value change from 2021-22 to 2025-26, split into trading and appreciation.

How this is measured
Trading is the fees paid and received netted together, sign and all: positive means the window was a net sale. Appreciation is the change in squad value once that trading is taken out — the same number the club page already carries, summed here over five seasons instead of one. The two always sum to the value change, so share is appreciation’s share of it: a club near 100% grew the players it already had; a club near 0%, or negative, mostly bought its way there. Only clubs priced at both ends of every one of the five seasons are ranked, so a five-year sum is never set beside a two-year one.

VfB Stuttgart grew the most squad value over the window, +€352m of appreciation beside +€137m of trading. 1.FC Union Berlin grew it the purest way: 1764% of its value change was appreciation, not spending.

1
trading +€137m · value change +€489m
+€352m
72% grown
2
trading −€17m · value change +€329m
+€346m
105% grown
3
trading −€143m · value change +€157m
+€300m
191% grown
4
trading +€163m · value change +€456m
+€293m
64% grown
5
PSV EindhovenNetherlands
trading +€142m · value change +€402m
+€260m
65% grown
6
RC LensFrance
trading +€124m · value change +€381m
+€257m
67% grown
7
trading +€145m · value change +€397m
+€252m
63% grown
8
trading +€10m · value change +€248m
+€238m
96% grown
9
trading −€112m · value change +€113m
+€225m
199% grown
10
AZ AlkmaarNetherlands
trading +€161m · value change +€368m
+€207m
56% grown
11
AS MonacoFrance
trading +€167m · value change +€374m
+€207m
55% grown
12
trading +€81m · value change +€284m
+€203m
71% grown

The director's ledger

Every arrival of the last five seasons graded on realised outcome, 2022-23 to 2026-27.

How this is measured
Each arrival is bought at its fee; if the player was later sold on by the same club, graded at that sale’s fee, and if not, at the player’s latest valuation in the corpus (“held”). A free transfer or loan is graded the same way but never counts toward capital deployed or the multiplier, because there is no capital to measure a return on; it still counts toward the share of trades that came out ahead. A player with no sale on record and no valuation reachable is ungraded, not zero. Multiplier is realised-plus-held value over capital deployed. Coverage: England 37/37, France 35/36, Germany 31/31, Netherlands 29/29, Italy 39/39, Spain 33/33. Transfer fees and player valuations from Transfermarkt via github.com/dcaribou/transfermarkt-datasets (CC0).

SPAL has the best multiplier on real spending, 39.1× on €0m deployed. The best single trade league-wide: FC Barcelona’s Lamine Yamal from Barça U19, €0m to +€200m (held). The worst: Paris Saint-Germain’s Randal Kolo Muani, −€75m.

1
SPALItaly
13 graded · €0m deployed
39.1×
100% EV+
2
7 graded · €0m deployed
15.0×
100% EV+
3
46 graded · €6m deployed
7.9×
100% EV+
4
71 graded · €3m deployed
5.7×
99% EV+
5
42 graded · €4m deployed
5.3×
95% EV+
6
21 graded · €3m deployed
5.0×
100% EV+
7
18 graded · €2m deployed
4.9×
89% EV+
8
NEC NijmegenNetherlands
69 graded · €10m deployed
4.0×
94% EV+
9
SC BastiaFrance
16 graded · €1m deployed
4.0×
100% EV+
10
18 graded · €0m deployed
3.6×
100% EV+
11
FC DordrechtNetherlands
32 graded · €1m deployed
3.6×
100% EV+
12
VfL BochumGermany
68 graded · €4m deployed
3.3×
99% EV+

Against the market, which usually wins

Both ledgers are graded against the betting market, and on balance both lose.

How this is measured
A model that only ever showed its own scoreboard would be worth nothing. Football carries a true closing price on 5,316 of 9,116 priced matches; the rest are pre-match prices, which is all that exists for them.
English top flight

24 seasons priced, 9,116 matches. The model was closer in 1 of them: 2008-09.

Over those matches the model scores 0.5809 and the market 0.5709. Across the whole 1888 history the model’s Brier is 0.5964, a 3.2% improvement on knowing nothing but the era’s home-and-away split.

NFL

11,862 games head to head. The model was closer in 8 of 47 seasons.

Model Brier 0.2198, market 0.2134.

There is no third card, because there is no third market. The five continental ledgers carry no price at all, so Spain, Italy, Germany, France and the Netherlands are measured against the model and nothing else. A continental line on this section would be an implication the data cannot support.

Your own calls land on the same axis: Citizen of Nowhere Picks scores a pick with the identical Brier the 1888 and 1920 ledgers use, so a call made this weekend is measured against a century of them.

Where these numbers come from, and what is wrong with them

Everything a reader needs to disbelieve this page on purpose rather than by accident.

VerifiedThe English and NFL Elo engines behind the ledgers pass their zero-sum and probability tests, and their game odds are scored against the market in the Ledger. About the tiers

Why measure against expectation

The record book says who won. It cannot say who was lucky, who was robbed, or which result was close to impossible. Every match in six European top flights since 1888 and every NFL game since 1920 is scored here against the chance it was given before kick-off, on one model, which reveals several things none of those leagues has ever announced.

The model

A three-way Elo, one rating per club, updated after every match and scaled by the goal margin, with ratings pulled back toward the middle between seasons because promotion and relegation churn the pool every year. Home advantage and the draw rate are estimated from the five seasons before the one being priced, never the season itself, so every number the model used at kick-off was available before kick-off. The NFL ledger is the same idea on a pre-game win probability the workbook carries for all 106 seasons.

What it cannot do

Nothing is held out: the handful of settings were fitted on the whole history, so treat this as a description of the record rather than a forecast. And the football model has almost no skill before about 1960: knowing the era’s home-and-away split is nearly as good as knowing which two clubs are playing. It earns its keep from roughly the 1960s on, and most of it in the last twenty-five years.

How it is checked

Every season’s league table is rebuilt from the matches and compared against the table this site already publishes on its own season hubs: 67 seasons, 1,405 club-seasons, 0 unmatched club names. Separately, every club’s count of top-flight seasons is compared against the number on its own club page, and all of them agree. That second check is what caught 1939-40: the league ran three matchdays before war was declared and the results were expunged, but the source still carried the matches, so a phantom season was appearing on every club that played them.

What is still wrong

The checks leave 2 fixtures in the football source that are recorded the wrong way round: both legs of the tie logged at one ground, so one of them has the result reversed, across 4 seasons between 1981-82 and 2004-05. They are listed and left alone. Guessing the correction from the symptom is how a half-right fix gets shipped, so they wait for the real results. Six points deductions are modelled as deductions and not as errors, and the boards quote what a club earned on the pitch, with the deduction named beside it.

The five continental ledgers

Spain, Italy, Germany, France and the Netherlands are scored by the SAME model as England, imported rather than copied: the build asserts it is running the English ledger’s own functions, so the two cannot quietly drift apart. Results are compiled by James Curley, github.com/jalapic/engsoccerdata, with France 1994-95 supplied separately because the source does not carry it. The settings were fitted on England and reused unchanged, which is a stated choice and not a derived one.

5 seasons are recorded here whose TABLE is not final, although the ratings from them are sound: Italy 1945-46, two regional groups (Alta Italia, Centro-Sud) plus a final round; Germany 1991-92, source truncated on 1992-04-25, last 4 matchdays absent, 340 of 380; France 1946-47, source 4 matchdays short (20 clubs at 34 of 38) and one round mis-dated; France 2019-20, abandoned at the COVID-19 shutdown, 279 of 380 played; Netherlands 2019-20, voided at the COVID-19 shutdown, 232 of 306 played. They are labelled wherever their numbers appear rather than quietly averaged in.

Two units, never added

A football win was worth two league points until 1981-82 in England, and the same switch landed in 1994-95 in France and Italy and 1995-96 in Spain, Germany and the Netherlands. So league points cannot be summed down the length of one series, nor ranked across six of them. Club and metro totals use match points instead: a win is 1, a draw 0.5, which every era and every league shares. The NFL is in wins. A page that added them together would be inventing a quantity.

Sources

English top-flight results from this site’s own match log, extended from 2023-24 with football-data.co.uk, which also supplies the prices: closing where it publishes one, pre-match before 2012-13, never the two conflated. NFL results and pre-game probabilities from the site’s NFL workbook, with closing spreads loaded from published historical odds. Football ledger built 2026-10-30; NFL ledger built 2026-08-20. Player valuations from Transfermarkt via github.com/dcaribou/transfermarkt-datasets (CC0), 2012-07 through 2026-06; paused upstream since July 2026, so the series ends where the source ends.

The same measure appears one sentence at a time on every covered club page and on the metro pages, where it belongs to the club or the place rather than to the model. See it on Leicester City, Girona, Liverpool or Green Bay. Season-by-season NFL game logs live at /teams/nfl/expectation/[season].