A forecast is most useful where it refuses to collapse uncertainty. Three independently constructed engines put Manchester City first in the consensus, but their distances for individual clubs reveal where the evidence is stable and where it is conditional.
A league table is the end of a season, not an honest description of one before it begins. Turning changing squads, new managers, European workload and 380 unplayed matches into a single points column creates precision the evidence cannot support. This forecast keeps the three engines separate and reports their disagreement alongside expected points. The snapshot is 22 August 2026; it captures what was knowable then.
The three engines now have names that describe the assumptions they privilege. The Foundations Engine asks what happens if persistent club quality dominates. The Disruption Engine gives transfers, coaches, promotion, Europe and data uncertainty room to move a season. The Momentum Engine learns match probabilities from rolling form and Elo-like state. Each engine simulates the complete 380-match schedule 10,000 times. The consensus is a weighted mixture of those simulations, not a fourth model.
Reading the players
Every player is described by five signals that ask different questions: established ability, performance beyond reputation, market upside, availability beyond expectation and the quality of the teams for which he played. The first four remain position-normalised, while club quality stays recognisable as points per game.
The weighting is 30% established ability, 25% performance beyond reputation, 20% market upside, 15% availability and 10% team environment. The completed score is finally rescaled so the highest player is 100. The purpose is not to pretend that football measures can be made perfectly independent; it is to stop EA, Transfermarkt and FotMob from rewarding the same reputation three times.
The current Transfermarkt squad pages provide the 580-player registry. EA directly covers 513 players, Transfermarkt supplies 575 observed values and FotMob covers 233. Peer means keep the wider model matrix complete, but the observed and beyond-expectation halves of Perf+ and Upside are calculated from real source values only; a missing observation receives a neutral 50 and a dagger. The PPG calculation uses appearance-weighted five-season histories for 522 players. The remaining 58 use their most recent or current club-season, including the previous-season rule for academy players without senior league minutes. Every row therefore has numeric availability and PPG values.
Figure 1. Top-10 players are separated from ranks 11–100, after which 15 players are added to give every club at least three representatives.
The algorithm employed first freezes the 100 highest composite scores league-wide, counts club membership, and then appends each under-represented club's best unselected players until its count reaches three. The three-player floor is an intentional safeguard: one big name can make an entire club look higher quality, while three is the smallest sample that permits a meaningful within-club comparison. It does not replace the full squad registry used by the forecast. The stacked bars separate the top 10, ranks 11–100 and the coverage constraint; the dashed line is the floor and has no bearing on performance.
The resulting list contains 115 players. Manchester City leads the raw top 100 with 15 players, Arsenal has 14, Manchester United 12, Liverpool 11 and Chelsea 10. It already shows a clear ranking with Man City & Arsenal the best squad each with 4 in the top 10, followed by Manchester United, Liverpool & Chelsea with similar numbers before a drop-off, interstingly, despite recent seasons Liverpool is below Man United in this ranking both with one player in the Top 10.
In the earlier construction, floor places were interleaved into a table labelled as a top 100, which made raw rank and publication order answer different questions. Here the first hundred rows are genuinely the raw top 100. Any rows after them are club-floor additions and retain their league-wide rank. Clubs are ordered first by their natural representation in the raw top 100, then by representation in the top 10, and finally by their 2025/26 finishing position, with Premier League clubs ahead of Championship clubs. Floor additions therefore complete coverage without making a club with one natural top-100 player appear stronger than a club with three.
| Rank | Player | Club | Pos | Ability | Perf+ | Upside | Avail+ | PPG | Score |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Erling Haaland | Man City | FWD | 100.0 | 98.1 | 79.5 | 89 | 2.14 | 100.00 |
| 2 | Declan Rice | Arsenal | MID | 99.6 | 88.5 | 88.6 | 97 | 1.80 | 99.41 |
| 3 | Bruno Guimarães | Arsenal | MID | 97.6 | 94.2 | 79.8 | 93 | 1.61 | 96.87 |
| 4 | Bukayo Saka | Arsenal | MID | 99.2 | 91.2 | 70.2 | 89 | 2.12 | 95.76 |
| 5 | Dominik Szoboszlai | Liverpool | MID | 97.6 | 92.7 | 80.6 | 79 | 1.91 | 95.48 |
| 6 | Marc Guéhi | Man City | DEF | 97.7 | 86.5 | 77.4 | 88 | 1.34 | 92.61 |
| 7 | Martín Zubimendi | Arsenal | MID | 91.9 | 70.7 | 91.8 | 96 | 1.71 | 92.15 |
| 8 | Phil Foden | Man City | MID | 91.9 | 85.5 | 83.3 | 70 | 2.24 | 91.95 |
| 9 | Bruno Fernandes | Man Utd | MID | 100.0 | 100.0 | 43.7 | 94 | 1.62 | 91.66 |
| 10 | Matheus Nunes | Man City | DEF | 94.2 | 98.0 | 81.2 | 52 | 1.91 | 91.59 |
| 11 | Enzo Fernández | Chelsea | MID | 97.6 | 71.8 | 81.2 | 95 | 1.66 | 91.59 |
| 12 | Elliot Anderson | Man City | MID | 91.9 | 96.2 | 89.0 | 59 | 1.46 | 91.52 |
| 13 | Matheus Cunha | Man Utd | FWD | 93.9 | 98.1 | 83.7 | 58 | 1.43 | 91.19 |
| 14 | Bryan Mbeumo | Man Utd | MID | 91.9 | 68.2 | 92.0 | 93 | 1.45 | 89.97 |
| 15 | Antoine Semenyo | Man City | MID | 94.9 | 82.1 | 83.4 | 70 | 1.51 | 89.41 |
| 16 | Cody Gakpo | Liverpool | MID | 87.2 | 75.2 | 91.4 | 71 | 2.01 | 88.77 |
| 17 | Jurriën Timber | Arsenal | DEF | 96.2 | 82.1 | 79.5 | 54 | 2.16 | 88.66 |
| 18 | Iliman Ndiaye | Everton | MID | 87.2 | 84.2 | 84.0 | 80 | 1.32 | 88.51 |
| 19 | João Pedro | Chelsea | FWD | 91.7 | 90.4 | 75.4 | 73 | 1.25 | 88.32 |
| 20 | Morgan Gibbs-White | Nott'm Forest | MID | 89.5 | 69.0 | 89.2 | 86 | 1.19 | 86.74 |
| 21 | James Garner | Everton | MID | 87.2 | 95.7 | 63.8 | 78 | 1.24 | 86.55 |
| 22 | Robert Sánchez | Chelsea | GK | 83.3 | 85.9 | 74.3 | 78 | 1.54 | 86.07 |
| 23 | Ryan Gravenberch | Liverpool | MID | 94.9 | 74.8 | 67.7 | 63 | 2.06 | 84.77 |
| 24 | Jan Paul van Hecke | Spurs | DEF | 84.6 | 70.9 | 94.6 | 66 | 1.44 | 84.49 |
| 25 | Gabriel | Arsenal | DEF | 100.0 | 56.8 | 65.6 | 81 | 2.12 | 84.26 |
| 26 | Igor Thiago | Brentford | FWD | 87.9 | 90.4 | 76.1 | 48 | 1.50 | 84.17 |
| 27 | Senne Lammens | Man Utd | GK | 90.6 | 84.4 | 65.4 | 59 | 1.68 | 83.39 |
| 28 | Anton Stach | Leeds | MID | 75.9 | 94.4 | 60.3 | 85 | 1.23 | 82.88 |
| 29 | Jérémy Doku | Man City | MID | 91.9 | 88.0 | 72.2 | 30 | 2.01 | 82.82 |
| 30 | Morgan Rogers | Chelsea | MID | 91.9 | 41.5 | 94.1 | 84 | 1.73 | 82.64 |
| 31 | William Saliba | Arsenal | DEF | 99.2 | 44.6 | 68.1 | 89 | 2.12 | 82.47 |
| 32 | Josko Gvardiol | Man City | DEF | 97.7 | 50.0† | 82.8 | 66 | 1.98 | 82.42 |
| 33 | Diogo Dalot | Man Utd | DEF | 62.1 | 84.1 | 82.9 | 87 | 1.59 | 82.18 |
| 34 | David Raya | Arsenal | GK | 98.6 | 56.2 | 56.2 | 88 | 1.89 | 81.94 |
| 35 | Antonee Robinson | Fulham | DEF | 77.5 | 85.1 | 61.6 | 87 | 1.34 | 81.90 |
| 36 | Djordje Petrovic | Bournemouth | GK | 79.7 | 60.9 | 83.8 | 88 | 1.60 | 81.88 |
| 37 | Pedro Porro | Spurs | DEF | 94.2 | 66.9 | 66.7 | 71 | 1.56 | 81.70 |
| 38 | Mateus Fernandes | Spurs | MID | 75.9 | 90.2 | 66.1 | 84 | 0.78 | 81.12 |
| 39 | Marcos Senesi | Spurs | DEF | 90.9 | 83.8 | 54.6 | 63 | 1.48 | 80.98 |
| 40 | Moisés Caicedo | Chelsea | MID | 97.6 | 43.2 | 72.4 | 92 | 1.55 | 80.97 |
| 41 | Ollie Watkins | Aston Villa | FWD | 91.7 | 71.2 | 40.9 | 97 | 1.60 | 80.75 |
| 42 | Rayan Cherki | Man City | MID | 97.6 | 80.8 | 60.6 | 36 | 1.72 | 80.12 |
| 43 | Daniel Muñoz | Crystal Palace | DEF | 90.9 | 75.3 | 51.9 | 74 | 1.54 | 80.05 |
| 44 | Ethan Ampadu | Leeds | MID | 75.9 | 88.2 | 51.2 | 96 | 0.95 | 80.01 |
| 45 | Gianluigi Donnarumma | Man City | GK | 100.0 | 56.2 | 56.6 | 65 | 2.23 | 79.92 |
| 46 | Adrien Truffert | Bournemouth | DEF | 77.5 | 89.2 | 52.8 | 77 | 1.49 | 79.89 |
| 47 | Marcus Tavernier | Bournemouth | MID | 68.0 | 92.3 | 59.8 | 83 | 1.34 | 79.70 |
| 48 | Alexander Isak | Liverpool | FWD | 97.7 | 50.0† | 87.9 | 48 | 1.69 | 79.57 |
| 49 | Viktor Gyökeres | Arsenal | FWD | 97.7 | 36.5 | 60.2 | 90 | 2.45 | 79.45 |
| 50 | Reece James | Chelsea | DEF | 96.2 | 78.4 | 76.8 | 20 | 1.58 | 79.43 |
| 51 | Sandro Tonali | Spurs | MID | 94.9 | 41.7 | 83.8 | 70 | 1.78 | 79.27 |
| 52 | Maxence Lacroix | Chelsea | DEF | 90.9 | 49.7 | 83.3 | 76 | 1.26 | 79.19 |
| 53 | Florian Wirtz | Liverpool | MID | 97.6 | 53.0 | 65.3 | 64 | 1.98 | 79.00 |
| 54 | Kiernan Dewsbury-Hall | Everton | MID | 82.8 | 82.1 | 70.0 | 55 | 1.21 | 78.80 |
| 55 | Nico O'Reilly | Man City | DEF | 94.2 | 74.3 | 62.4 | 36 | 2.02 | 78.66 |
| 56 | Martin Ødegaard | Arsenal | MID | 97.6 | 33.3 | 72.0 | 83 | 2.11 | 78.66 |
| 57 | Rúben Dias | Man City | DEF | 98.5 | 51.4 | 67.1 | 54 | 2.23 | 78.55 |
| 58 | Riccardo Calafiori | Arsenal | DEF | 90.9 | 76.7 | 74.0 | 23 | 1.94 | 78.41 |
| 59 | Kai Havertz | Arsenal | FWD | 83.3 | 50.0† | 91.3 | 61 | 1.86 | 78.20 |
| 60 | Alexis Mac Allister | Liverpool | MID | 91.9 | 26.5 | 88.6 | 87 | 1.80 | 78.13 |
| 61 | Dean Henderson | Crystal Palace | GK | 90.6 | 54.7 | 78.7 | 68 | 1.24 | 78.08 |
| 62 | Marcus Rashford | Man Utd | MID | 87.2 | 50.0† | 88.8 | 54 | 1.81 | 77.75 |
| 63 | Ben White | Arsenal | DEF | 84.6 | 50.0† | 82.7 | 61 | 2.11 | 77.69 |
| 64 | Evanilson | Bournemouth | FWD | 71.2 | 63.5 | 69.7 | 86 | 1.97 | 77.68 |
| 65 | Alisson | Liverpool | GK | 97.1 | 50.0† | 54.0 | 75 | 2.04 | 77.51 |
| 66 | Pedro Neto | Chelsea | MID | 82.8 | 65.2 | 92.2 | 39 | 1.43 | 77.34 |
| 67 | Tyrick Mitchell | Crystal Palace | DEF | 70.5 | 73.6 | 58.9 | 98 | 1.26 | 77.27 |
| 68 | Hugo Ekitiké | Liverpool | FWD | 95.5 | 76.9 | 59.5 | 31 | 1.66 | 77.00 |
| 69 | Youri Tielemans | Man Utd | MID | 94.9 | 56.6 | 58.4 | 70 | 1.48 | 76.72 |
| 70 | Alex Scott | Bournemouth | MID | 82.8 | 82.9 | 65.3 | 41 | 1.44 | 76.64 |
| 71 | Alex Iwobi | Fulham | MID | 75.9 | 67.7 | 58.1 | 93 | 1.20 | 76.28 |
| 72 | Malick Thiaw | Newcastle | DEF | 84.6 | 58.8 | 76.7 | 57 | 1.59 | 76.16 |
| 73 | Jeremie Frimpong | Liverpool | DEF | 84.6 | 50.0† | 78.7 | 61 | 1.94 | 76.15 |
| 74 | Enzo Le Fée | Sunderland | MID | 75.9 | 81.2 | 53.2 | 73 | 1.33 | 76.11 |
| 75 | Luka Vuskovic | Brighton | DEF | 84.6 | 50.0† | 72.4 | 85 | 1.18 | 75.96 |
| 76 | Mohammed Kudus | Spurs | MID | 82.8 | 55.3 | 86.1 | 55 | 1.44 | 75.88 |
| 77 | Benjamin Sesko | Man Utd | FWD | 87.9 | 53.8 | 69.3 | 62 | 1.72 | 75.66 |
| 78 | Emiliano Martínez | Aston Villa | GK | 94.9 | 51.6 | 43.8 | 88 | 1.60 | 75.63 |
| 79 | Amad Diallo | Man Utd | MID | 68.0 | 87.8 | 82.8 | 30 | 1.56 | 75.53 |
| 80 | Lisandro Martínez | Man Utd | DEF | 90.9 | 50.0† | 92.5 | 28 | 1.84 | 75.43 |
| 81 | Nicolas Jackson | Chelsea | FWD | 71.2 | 50.0† | 84.1 | 77 | 1.84 | 75.27 |
| 82 | Giorgi Mamardashvili | Liverpool | GK | 92.8 | 50.0† | 66.9 | 70 | 1.24 | 75.25 |
| 83 | João Gomes | Aston Villa | MID | 59.1 | 63.0 | 86.5 | 93 | 0.95 | 74.72 |
| 84 | Virgil van Dijk | Liverpool | DEF | 99.2 | 55.1 | 25.8 | 83 | 2.02 | 74.65 |
| 85 | Granit Xhaka | Sunderland | MID | 94.9 | 70.1 | 11.7 | 84 | 2.03 | 74.60 |
| 86 | Nico González | Man City | MID | 82.8 | 74.4 | 56.3 | 45 | 1.87 | 74.55 |
| 87 | Joelinton | Newcastle | MID | 75.9 | 55.3 | 72.2 | 75 | 1.56 | 74.33 |
| 88 | Bart Verbruggen | Brighton | GK | 87.0 | 34.4 | 79.4 | 81 | 1.43 | 74.24 |
| 89 | Dominic Solanke | Spurs | FWD | 71.2 | 50.0† | 80.3 | 92 | 1.11 | 74.15 |
| 90 | Cole Palmer | Chelsea | MID | 94.9 | 42.1 | 83.1 | 41 | 1.69 | 74.14 |
| 91 | Patrick Dorgu | Man Utd | DEF | 62.1 | 90.5 | 59.1 | 68 | 1.20 | 74.09 |
| 92 | Ferdi Kadıoğlu | Brighton | DEF | 77.5 | 43.6 | 74.9 | 76 | 2.04 | 74.05 |
| 93 | Ismaïla Sarr | Crystal Palace | MID | 82.8 | 41.9 | 89.3 | 67 | 1.17 | 73.95 |
| 94 | Matthijs de Ligt | Man Utd | DEF | 90.9 | 50.0† | 72.7 | 45 | 1.78 | 73.83 |
| 95 | Omar Marmoush | Man City | FWD | 87.9 | 50.0† | 86.4 | 39 | 1.50 | 73.79 |
| 96 | Yankuba Minteh | Brighton | MID | 75.9 | 72.6 | 59.9 | 56 | 1.69 | 73.74 |
| 97 | Joachim Andersen | Fulham | DEF | 70.5 | 54.4 | 69.6 | 93 | 1.30 | 73.68 |
| 98 | Eberechi Eze | Arsenal | MID | 91.9 | 35.7 | 88.9 | 52 | 1.46 | 73.65 |
| 99 | Jack Grealish | Man City | MID | 87.2 | 83.1 | 40.5 | 32 | 2.10 | 73.57 |
| 100 | Murillo | Nott'm Forest | DEF | 90.9 | 34.1 | 69.3 | 85 | 1.30 | 73.44 |
| 106 | Harry Wilson | Leeds | MID | 82.8 | 76.1 | 57.6 | 40 | 1.35 | 72.42 |
| 113 | Robin Roefs | Sunderland | GK | 87.0 | 53.1 | 57.4 | 63 | 1.36 | 71.35 |
| 114 | Neco Williams | Nott'm Forest | DEF | 77.5 | 74.3 | 53.7 | 54 | 1.24 | 71.27 |
| 116 | Dango Ouattara | Brentford | MID | 68.0 | 63.0 | 64.9 | 73 | 1.31 | 70.91 |
| 118 | Tino Livramento | Newcastle | DEF | 84.6 | 50.0† | 81.8 | 34 | 1.43 | 70.58 |
| 119 | Caoimhín Kelleher | Brentford | GK | 83.3 | 50.0 | 81.6 | 31 | 1.70 | 70.56 |
| 174 | Konstantinos Tzolakis | Hull City | GK | 50.7† | 50.0† | 83.5 | 47 | 2.26 | 64.96 |
| 191 | Daizen Maeda | Ipswich Town | MID | 49.2† | 50.0† | 55.3 | 77 | 2.39 | 63.60 |
| 194 | Leif Davis | Ipswich Town | DEF | 44.9† | 50.0† | 75.0 | 94 | 0.58 | 62.78 |
| 201 | Milan van Ewijk | Coventry City | DEF | 30.6 | 50.0† | 79.5 | 99 | 1.28 | 62.34 |
| 203 | Dara O'Shea | Ipswich Town | DEF | 44.9† | 50.0† | 69.4 | 98 | 0.60 | 62.27 |
| 210 | Gustavo Hamer | Coventry City | MID | 49.2† | 50.0† | 63.5 | 100 | 0.42 | 61.96 |
| 223 | Carl Rushworth | Coventry City | GK | 63.8 | 50.0† | 80.9 | 7 | 2.07 | 61.27 |
| 224 | Hidemasa Morita | Hull City | MID | 59.1 | 50.0† | 37.2 | 71 | 2.12 | 60.98 |
| 228 | Jack Butland | Hull City | GK | 60.9 | 50.0† | 35.7 | 69 | 2.06 | 60.62 |
The ranking begins by turning unlike football evidence into comparable measures within each position. A goalkeeper is judged against goalkeepers, a defender against defenders and so on. This matters because an 82 can mean something different across roles, while Transfermarkt values and FotMob ratings also have position-specific distributions. Four measures are therefore expressed as position percentiles from zero to 100. Points-per-Game (PPG) remains on the familiar zero-to-three league scale in the table, but is converted to the same percentage scale when it enters the weighted score.
Ability carries 30%, the largest single weight, because the official EA rating provides the broadest consistent assessment of established senior quality across the 580-player registry. Technique, physical capacity, defending, goalkeeping and role-specific attributes have already been combined into one comparable opinion. Using the within-position percentile prevents the ranking from assuming that a centre-back and a winger should have the same attribute profile.
Perf+ carries 25% and balances observed match performance with performance beyond reputation. One half is the player's raw FotMob percentile within his position. For the other half, the model predicts FotMob rating from EA, position and availability, then ranks the remaining difference. The raw half keeps elite output visible; the residual half prevents the table from rewarding the same established reputation twice. A player must therefore combine a strong match level, unusually strong evidence for his profile, or a credible amount of both.
Upside carries 20% and treats market value as evidence about future usefulness rather than a second ability rating. Half is the raw Transfermarkt value percentile within position. Half is the value left after age, position, EA and FotMob are accounted for. Transfermarkt value reflects scarcity, demand, contract expectations and anticipated development as well as current football quality.
Avail+ carries 15% because quality only affects a season when it reaches the pitch. Domestic-league minutes are divided by the number of covered seasons and compared with a 3,420-minute campaign. Half the score is the direct availability percentile within position. Half is the availability left after age, position and Ability are accounted for. The first half rewards players who repeatedly sustain minutes; the second recognises those who do so more often than comparable peers. It captures selection, fitness and continuity together, without pretending the data can separate those causes cleanly.
PPG (Points-per-Game) carries the final 10% and supplies team environment. For every player-club-season from 2021/22 to 2025/26, league points are divided by matches played; those club figures are then averaged using the player's league minutes as weights. The measure follows a player across transfers, so it reflects the quality of the teams in which his minutes were actually earned rather than assigning everyone the badge of his current club. Its smaller weight is deliberate. Strong teammates and institutions shape a player's evidence, but club success should provide context rather than overwhelm individual quality.
Ability anchors the level already established; Perf+, Upside and Avail+ each divide their evidence evenly between absolute level and what remains beyond expectation; PPG records the competitive environment around those minutes. Their weighted contributions are added, then every completed score is divided by the league's highest score and multiplied by 100. That final rescaling fixes the leader at 100 without changing the order or the distance between players. Crucially, the five measures are not five independent votes for the same idea.
This also explains why the ordering can differ from a conventional list of famous names without allowing an over-performing outsider to leap ahead on surprise alone. Absolute performance, value and availability always retain half of their respective measures.
† Ability uses the position peer mean; Perf+ or Upside uses the neutral midpoint of 50. These rows remain in the ranking but increase the uncertainty assigned to the relevant squad.
From players to clubs
For each club, the squad component builds a valid 1-4-4-2 core, adds four depth players and retains an elite-tail term from its top three players. The blend is 70% core, 20% depth and 10% elite quality. That construction prevents a club with several highly rated attackers but an incomplete defence from receiving the same squad score as a balanced team.
The historical component uses five seasons of points per game and goal difference per game, standardised within season and division, with recent years weighted more heavily. Championship seasons are standardised within the Championship and shifted before entering the Premier League scale, rather than comparing raw second-tier points with top-flight points. The club base is then a 50:50 blend of historical and current-squad strength, so a transfer-heavy summer can move a club without erasing what repeated league performance says about it.
Figure 2. Five-season historical strength against the adjusted current-squad score; bubble size is published-list representation and darker colour means a more reliable forecast.
Both axes are standard scores, so a one-unit movement means one league standard deviation rather than one point or one million euros. Bubble area encodes the count of selected players in the Top 100. The zero lines separate clubs rated above or below the league mean by history and by the current squad.
The upper-right group is strong by both definitions and is consequently robust to modest changes in weighting. The more interesting clubs are those away from the diagonal. They tell us where a forecast is relying on a proposition: that a newly assembled squad will outperform its club history, or that an established structure will extract more than the apparent individual talent suggests.
The intensity of the blue corresponds forecast reliability rather than team quality, the darker the blue the less likely for variance, the lighter the more variable the final result. A light Spurs bubble therefore reflects a wide range of plausible points and finishes, not a claim that Spurs are necessarily weak; dark means the model has more power to narrow the outcome, while light means it has less.
The Foundations Engine
The Foundations Engine starts from the 50:50 historical/squad club standard score. Before each simulated season, every club receives a persistent Gaussian season shock with base magnitude K = 0.42. “Persistent” matters: the same latent good or bad season affects all 38 fixtures, producing correlated results instead of pretending every surprise is an isolated coin flip. A sensitivity pass at K = 0.20, 0.42 and 0.70 tests how much the table depends on that volatility judgement.
For each home-away fixture, the engine converts the two shocked strengths and a home term into win, draw and loss probabilities using a three-outcome softmax. If the latent scores are z_H, z_D and z_A, the probability of outcome j is p(j) = exp(z_j) / Σ_k exp(z_k). Softmax is used because the three probabilities must be positive and sum to one, while strength differences can still have a nonlinear effect. A calibrated coefficient of 0.50 controls how sharply a quality gap becomes a match advantage.
The model plays every ordered fixture in each of 10,000 seasons, awards three points for a win and one for a draw, and stores the entire points distribution. It is intentionally sparse: it asks how far stable structural quality can take us before adding narrative variables. Its intervals therefore capture match randomness and a correlated season state, but not named transfer, coaching or workload mechanisms.
Figure 3. Foundations Engine expected points and 10–90% simulation intervals, with the K sensitivity result alongside.
The dots are Monte Carlo means; the horizontal whiskers are empirical 10th and 90th percentiles. The model's leading pair is stable because their underlying squad and historical scores are both high. Increasing K does not simply add identical noise to the final points column; it creates season-long states in which challengers can repeatedly perform above expectation. That is why volatility affects the chance of an upset season more strongly than it affects the mean order.
The Foundations Engine should be read as the clean base case. It is valuable precisely because its assumptions are limited and inspectable. Where it disagrees sharply with the richer engines, the question becomes which additional variable is responsible for this variance?
The Disruption Engine
The Disruption Engine begins from the same structural base as the Foundaiton Engine and then decomposes uncertainty into independent variables. It includes a base season term, a larger coach term for changed managers, a transfer term scaled by squad churn, a heavy-tailed promotion or second-year term and a data-quality term and finally the impact of Eruopean football.
Promotion uncertainty uses a Student-t draw rather than a normal draw. The heavier tails allow rare but plausible outcomes—an unexpectedly competitive promoted side or a collapse—to occur more often than a Gaussian assumption would permit. European participation adds both a season-level workload effect and intermittent match-level fatigue. Stadium-specific home bonuses preserve the possibility that home advantage is heterogeneous rather than one league-wide constant.
After those contextual states are drawn, the engine uses the same calibrated three-outcome match mechanism and simulates the full schedule 10,000 times.
Figure 4. Disruption Engine points distributions and the relative scale of its coach, transfer, promotion, workload and data-quality shocks.
The interval plot is again empirical Monte Carlo output, while the component panel reports the standard deviation assigned to each latent mechanism. Variances, not signed effects, are the object of comparison: a transfer window can improve or weaken a season, so the model samples direction while the chart displays magnitude. Independent components add in variance space, which is why several modest shocks can create a materially wider season distribution without any single factor dominating.
The contextual engine remains close to Foundations at the top because Manchester City and Arsenal are supported by deep player layers and recent performance. Further down, its intervals widen where promotion status, churn or missing observations make the baseline less secure. That widening is a result, not a flaw: the correct response to weak contextual knowledge is a broader range.
The Disruption Engine samples each factor separately instead of hiding every unknown inside one residual term. Their magnitudes come from football context, and their combined variance feeds directly into each club's forecast interval.
The Momentum Engine
The Momentum Engine is a chronological supervised-learning model built at match level. A histogram gradient-boosting classifier estimates home-win, draw and away-win probabilities from pre-match Elo difference, rolling points-per-game difference, rolling goal-difference difference, venue-specific performance, rest-day difference, division and season progress. Gradient boosting fits a sequence of shallow decision trees to residual error, which allows nonlinear thresholds and interactions without requiring a manually specified formula for every relationship.
Every feature is computed only from information available before the match. The 2025/26 season is held out chronologically rather than sampled randomly, avoiding leakage from later matches into earlier predictions. On that holdout, multiclass log loss is 1.058 compared with 1.082 for the unconditional outcome-frequency baseline. Log loss is preferred to accuracy because it rewards calibrated probability assignments and heavily penalises confident errors; a 0.40/0.30/0.30 forecast and a 0.90/0.05/0.05 forecast should not receive the same credit when both select the same outcome.
For season simulation, the model is refitted on all five training seasons, the league is played in chronological rounds, and Elo and rolling-form state are updated after every simulated result. A heavy-tailed regime shock allows team trajectories to move beyond ordinary match noise. Probability temperature is calibrated at 0.65 so the distribution of simulated champion totals matches the historical scoring environment.
Figure 5. Momentum Engine points distributions and its chronological holdout comparison against a frequency baseline.
The holdout bars compare proper scoring rules—multiclass log loss and Brier score. The simulation then uses recursive prediction: a sampled match changes future Elo and form features, so forecast errors and hot or cold runs propagate through the schedule. This feedback is why the Momentum Engine can differ materially from a static strength model even when both begin with similar teams.
The largest disagreements are informative. Momentum is notably higher on Bournemouth and lower on Spurs and Chelsea than the two structural engines. Those gaps say the recent match-state patterns and nonlinear interactions learned by the classifier are telling a different story from squad/history strength. The article preserves that conflict rather than averaging it away at the point of explanation.
The holdout improves on the frequency baseline, while the consensus gives Momentum a 25% weight. Its role is to challenge the base case with a genuinely different mechanism rather than dominate it.
Where the engines disagree
Figure 6. Three model means for every club; the connecting line is the distance from the lowest to the highest engine. No consensus marker is shown.
For club i, the displayed distance is max_m(P_im) − min_m(P_im), where m indexes the three engines and P is mean simulated points. It is a range statistic, deliberately simple and robust to the arbitrary ordering of models. Removing the consensus point keeps this diagnostic focused on model geometry, the distance or "disagreement" between the three different models.
Manchester City's three means are separated by only 0.3 points. Arsenal's are separated by 2.1. At the other extreme, Spurs spans 10.8 points, Coventry City 10.3 and Bournemouth 10.3. Those are not rounding errors. They identify clubs whose outlook depends strongly on whether one believes structural strength, contextual shocks or recursively updated form is the better description of 2026/27.
Recall that “Foundations” means persistent club quality, “Disruption” means explicit season context, and “Momentum” means learned dynamic match state. The wide spread clubs are as interesting as the narrow spread.
The final table therefore contains only what the forecast can support cleanly: expected points from each engine, the consensus expected points and confidence. Full title, top-four and relegation probability columns remain out of the table because threshold summaries can look authoritative while remaining sensitive to small modelling changes near the cut-off. The final graphic uses title share only for the leading three clubs, as a compact test of whether their simulated ranges genuinely overlap.
Figure 7. Ten-season champion-points calibration, and the consensus confidence classes derived from mixture variance plus model distance that are carried into the final table.
| Rank | Club | Foundations | Disruption | Momentum | Consensus | Confidence |
|---|---|---|---|---|---|---|
| 1 | Man City | 86.5 | 86.8 | 86.9 | 86.8 | High (80%: 76–97) |
| 2 | Arsenal | 85.9 | 85.7 | 87.7 | 86.3 | High (80%: 76–96) |
| 3 | Liverpool | 74.6 | 75.7 | 77.9 | 75.9 | High (80%: 63–88) |
| 4 | Man Utd | 66.9 | 67.4 | 71.4 | 68.2 | Medium (80%: 55–81) |
| 5 | Chelsea | 65.9 | 65.8 | 58.0 | 63.7 | Low (80%: 50–77) |
| 6 | Aston Villa | 57.4 | 58.3 | 58.4 | 58.0 | Medium (80%: 45–71) |
| 7 | Newcastle | 54.9 | 57.2 | 52.1 | 55.1 | Low (80%: 41–69) |
| 8 | Brighton | 52.5 | 51.9 | 56.8 | 53.3 | Medium (80%: 40–67) |
| 9 | Spurs | 55.7 | 54.8 | 44.9 | 52.6 | Low (80%: 38–67) |
| 10 | Bournemouth | 51.0 | 49.2 | 59.5 | 52.5 | Low (80%: 39–67) |
| 11 | Brentford | 47.9 | 48.6 | 48.6 | 48.4 | High (80%: 36–61) |
| 12 | Nott'm Forest | 45.7 | 44.5 | 50.1 | 46.4 | Low (80%: 34–60) |
| 13 | Leeds | 44.0 | 46.4 | 49.6 | 46.3 | Low (80%: 33–59) |
| 14 | Crystal Palace | 47.3 | 44.8 | 45.4 | 45.8 | Medium (80%: 33–59) |
| 15 | Fulham | 43.9 | 44.7 | 44.0 | 44.4 | Medium (80%: 32–57) |
| 16 | Everton | 44.6 | 43.7 | 45.3 | 44.4 | High (80%: 32–57) |
| 17 | Sunderland | 38.5 | 37.4 | 37.4 | 37.9 | High (80%: 26–51) |
| 18 | Ipswich Town | 33.2 | 33.0 | 33.4 | 33.2 | Medium (80%: 20–47) |
| 19 | Coventry City | 28.7 | 30.1 | 39.0 | 31.7 | Low (80%: 20–45) |
| 20 | Hull City | 20.4 | 18.9 | 21.0 | 19.9 | High (80%: 11–30) |
High, Medium and Low describe the tightness of the forecast, not the quality of the club or its chance of a particular finish. High is the lowest third of the combined uncertainty index, Medium the middle third and Low the widest third. The bracketed 80% range is the 10th–90th percentile of the consensus season draws. Hull City can therefore have High confidence because the engines agree on a low band, while Chelsea can have Low confidence because its engines and simulated seasons leave a wider range of outcomes.
What the forecast says now
Figure 8. Consensus expected points inside the middle 50% and likely 10–90% season ranges; the leading three labels show their share of draws with the highest points total.
The pale extent is the likely 10–90% range, the solid centre is the middle 50%, and the dot is expected points. Colour carries the same confidence classes as the table. Title share is calculated from the 10,000 consensus draws by identifying the highest points total in each draw and splitting tied highs evenly; it is a simulation summary, not a promise that transfer, injury and tactical information outside the snapshot cannot move the race.
Manchester City leads the calibrated consensus on 86.8 expected points, with Arsenal only half a point behind on 86.3 and Liverpool on 75.9. City's likely range is 76–97 points, Arsenal's is 76–96 and Liverpool's is 63–88. All three can win according to the model: their title shares are 45.4%, 42.0% and 8.5%. The first two are effectively a leading pair rather than a clear favourite and challenger, while Liverpool needs more of its upper-tail seasons to coincide with weaker seasons for both. A recent champion benchmark averaging 91.8 can coexist with favourites below 90 because the identity of the champion varies across simulations and the season maximum is higher than any one club's unconditional mean.
The middle of the table is less orderly. Manchester United holds fourth on 68.2 while Chelsea remains fifth on 63.7 because Momentum is materially lower on Chelsea than the structural engines. Brighton, Spurs and Bournemouth sit within one point of one another while Spurs and Bournemouth have two of the league's largest model distances; Aston Villa is three points above Newcastle with materially tighter agreement. These are precisely the cases where reporting one decimal place without an uncertainty label would be most misleading.
At the bottom, the consensus places Sunderland, Ipswich Town, Coventry City and Hull City in the most difficult band, but it does not publish a relegation probability. Their intervals overlap several established clubs and the models do not agree equally about all of them. The responsible conclusion is comparative vulnerability, not a false claim that August has resolved three discrete relegation places.
The evidence in one view
Figure 9. A large-format synthesis board that brings the forecast's five principal pieces of evidence into one readable argument.
The board follows the same visual structure as the rest of the analytical series. It begins with the three-engine forecast, then compresses the player layer, history against current-squad strength, model distance and the final points ranges into one sequence. The closing box restates the article's claim rather than adding a new result.
Taken together, the views show why the forecast cannot be reduced to a single ordered table. Player quality supplies the present, club history supplies persistence, the engines supply competing causal stories, and the ranges preserve the seasons in which those stories do not resolve the same way. Manchester City remains the call, but visible uncertainty is part of that call rather than a qualification hidden beneath it.
Sources
The source notebook records the snapshot files, matching rules, feature construction, chronological holdout, calibration grids, random seeds and simulation counts. The inputs came from EA Sports FC ratings, Transfermarkt squad pages and valuations, FotMob Premier League player ratings, the structured Transfermarkt dataset and football-data.co.uk match results.
Using three explicitly different models makes the forecast's dependence on assumptions visible. Where they converge, confidence rises. Where they separate, the distance is part of the result.