Arsenal
Season projection
5,000 simulated seasons. Every remaining match is played out with a goals model calibrated to this week's published win probabilities, and each club's rating is re-drawn every run from its own posterior distribution, so nine games of form aren't treated as certain.
What if the rating is wrong?
Ratings, with error bars
Every club's rating as a Bayesian posterior: the hollow dot is the preseason prior, the filled dot is where nine games of results have moved it, and the bar is one standard deviation either side. Where the bars overlap, the model can't separate the clubs yet. The simulation draws each club's rating from exactly this distribution every season.
The magic numbers
How often a points total was enough in the simulated seasons. Read it like this: find a total on the bottom, and the curve tells you the share of seasons where that total won the title, made the top four, or stayed up. The marker is this club's projected total.
Fixture wall
Opponent, venue and day on each tile. The bottom number is difficulty from 0 to 100, or the score once a match is played. Tap a tile for the breakdown and match odds.
Games that decide the season
Stretches and load
Head to head
Projected points game by game if each club takes its expected points from every fixture. Rings mark the two clubs meeting.
The gap, simulated
Where the seasons land
| Month | Club | Opponent | Edge |
|---|
Projected table
Average finish across the simulated seasons. Range is the 10th to 90th percentile of final points. Volatility is the Shannon entropy of the club's finishing-position distribution, scaled so 0 is a certain finish and 1 is every position equally likely. Tap a club to open it.
| # | Club | Pts | Proj | Range | Title | Top 4 | Drop | Run-in | Volatility |
|---|
Run-in difficulty, all clubs
Average difficulty of each club's remaining league games, hardest first.
The maths
1. Difficulty index
s̃opp is the opponent's rating scaled to 0 to 1 across the league. R(rest) is 15 for 3 days or fewer, then 10, 6, 3 for 4, 5, 6 days, and 0 beyond. Square brackets are indicator terms: 1 if true, 0 if not.
2. Club rating (Bayesian posterior)
A normal prior centred on the preseason tier with variance σ0² = 0.285, updated by n games of observed points per game with per-game variance σg² = 1.71 (the variance of a 3/1/0 outcome at typical win, draw and loss rates). After nine games the results carry 60% of the weight and the posterior standard deviation is 0.34 points per game. As the season goes on, the weight on results rises and the error bars shrink on their own; nothing is hand-tuned week to week.
3. Match model (Poisson goals with the Dixon-Coles correction)
Independent Poisson goals under-predict 0-0 and 1-1 and over-predict 1-0 and 0-1; Dixon and Coles (1997) fixed that with the τ adjustment to the four low-scoring cells, and ρ = −0.13 is the standard value from the football literature (not fitted here, since scoreline data isn't loaded). The home and away goal averages 1.55 and 1.25 are the long-run Premier League figures and were held fixed. The single fitted constant, 0.37, was chosen by least squares against the win, draw and loss probabilities published for the 6 to 8 November round; the fit's root mean square error is 6.5 percentage points per outcome, most of it from rating disagreements with the market rather than the functional form. Expected points for a fixture are 3P(win) + P(draw).
4. Season simulation
Each season draws every club's rating from its own posterior, then plays all 290 remaining fixtures from the match model and ranks the table (ties broken at random, since goal difference isn't modelled). Every probability on this page is a frequency over those seasons, so it carries Monte Carlo error: the standard error of a probability p is √(p(1−p)/K), about 0.7 percentage points at p = 0.65 and 0.3 points at p = 0.05. Differences smaller than that are noise.
5. Leverage
Both conditional probabilities are read directly from the simulated seasons, so leverage captures everything downstream of the result, including the points the opponent fails to take. It is not a marginal effect of three points; a win over a direct rival is worth more than a win over a relegation side, and this measures that.
6. Rating sensitivity
The season is re-simulated 1,500 times with the selected club's rating shifted by −0.3, −0.15, +0.15 and +0.3 points per game, all other clubs unchanged. A shift of 0.3 is about one posterior standard deviation, so the outer rows are a one-sigma miss in either direction and the spread of the five numbers is the honest width of the projection.
7. Volatility
The Shannon entropy of the club's finishing-position distribution πc, normalised by the entropy of a uniform spread over 20 places. It answers "how settled is this club's season?" on a 0 to 1 scale.
8. Head-to-head joint distribution
The heat map counts how often each pair of final totals occurs across the seasons. The correlation r between two rivals' totals is usually slightly negative when they still have to play each other and near zero otherwise. The fan chart shows the 10th, 25th, 50th, 75th and 90th percentiles of the points gap after every match date, which is the honest answer to "how big a lead is safe".
Fixtures from the Premier League's published list, with dates changed to match the live scores feed where known. Table, results and Champions League dates from the live scores feed. Results shown for Arsenal's games and the most recent round only. Rest days count league games and, for Arsenal, Man City, Liverpool and Aston Villa, Champions League games. Europa League, Conference League, domestic cups and Champions League knockout rounds aren't included, so spring looks lighter here than it will be. Dates can still move for TV. The preseason tiers are the author's judgment, not a published rating.