Football Charts

Insights · 2025-26 season review

Results vs the market: which teams beat the odds all season

Before every match, the betting market prices each team's chances. Convert those prices into expected points, add them up over a season, and you get the table the market was pricing — match by match, with team news, transfers and form already baked in. Compare it with the real table and the gaps are where the season surprised the people with money on it. Across 1,466 teams in 89 leagues, most gaps are small. These weren't.

Beat the market's pricing

LincolnLeague One
103 pts vs 73.2 market-expected (+29.8)

The market never caught up: priced match by match, Lincoln's season was worth 73.2 points — they took 103. The biggest positive gap in our entire dataset.

MjallbyAllsvenskan
75 pts vs 49.6 expected (+25.4)

Week after week the odds said mid-table; the results said otherwise. A +25.4-point gap means the market re-priced them all season and still stayed behind.

FrosinoneSerie B
81 pts vs 58.3 expected (+22.7)

Week after week the odds said mid-table; the results said otherwise. A +22.7-point gap means the market re-priced them all season and still stayed behind.

Fell short of the market's pricing

Sport RecifeSerie A Betano
17 pts vs 38.8 expected (-21.8)

The market kept believing — a season priced at 38.8 points delivered 17. Whether that's misfortune or a decline the odds were slow to accept, the gap only says one thing for certain: bettors who trusted the price paid for it.

Eastbourne BoroNational League South
36 pts vs 57.6 expected (-21.6)

Favoured on paper far more often than results justified. Gaps this size are usually a mix: some bad luck, some real decline the market repriced too slowly.

AthloneDivision 1
20 pts vs 40.1 expected (-20.1)

Favoured on paper far more often than results justified. Gaps this size are usually a mix: some bad luck, some real decline the market repriced too slowly.

The West Brom case

West Brom started 31 of their 46 Championship matches as the bookmakers' favourite — and converted just 11 of those into wins. The market spent a whole season expecting a top-eight side; the table said 21st. How often favourites actually deliver — league by league — is its own story: Favourite conversion 2025-26 →

The full table

All 1,466 teams with at least 25 priced matches. Click a header to sort.

TeamLeaguePPtsMarket xPtsGap
LincolnLeague One4610373.2+29.8
MjallbyAllsvenskan307549.6+25.4
FrosinoneSerie B388158.3+22.7
Kashima AntlersJ1 League377553.9+21.1
RochdaleNational League4811291.7+20.4
VfL Osnabruck3. Liga388059.7+20.3
MirassolSerie A Betano376746.9+20.1
Racing SantanderLaLiga2448868+20
Hradec Kralove B3. CFL - Group B326141.2+19.8
VaduzChallenge League368161.4+19.6
HullChampionship498060.6+19.4
FK Ceska Lipa3. CFL - Group B328868.8+19.2
MalagaLaLiga2488566.4+18.6
ThunSuper League387556.6+18.4
BromleyLeague Two468768.7+18.3
Schalke2. Bundesliga347052.3+17.7
Cesena U20Primavera 1397052.4+17.6
Erzurumspor1. Lig388163.7+17.3
VikingEliteserien307153.7+17.3
Al-FaisalyDivision 1347355.9+17.1
St. TruidenJupiler Pro League407153.9+17.1
JeonbukK League 1337154+17
KyotoLeagueMapping object (44)295538+17
AbhaDivision 1347760.5+16.5
RavennaSerie C - Group B367356.5+16.5
Method. For every 2025-26 match with real 1X2 prices we remove the bookmaker margin, convert the odds into win/draw probabilities, and credit each team its probability-weighted points (3·P(win) + 1·P(draw)). Summed over the season, that is the points total the market's own prices implied — updated match by match, so transfers, injuries and form are included as soon as the market knew about them. The gap is not a merit table: it mixes genuine variance with real decline or improvement the market was slow to reprice. It tells you where the market was wrong — not why. Per-league versions live on every rankings page under “Outperforming”.
Reuse this data: free with a link to football-charts.com. Questions or a league you want broken out: contact.