The model makes Paris Saint Germain the title favourite, first in 68.6% of 20,000 simulated seasons, ahead of Monaco on 17.5% and Lyon on 7.1%. On expected points that is Paris Saint Germain 73.3, Monaco 64.8, Lyon 60.0. Three clubs finish in the top four more often than not: Paris Saint Germain 98.0%, Monaco 81.2%, Lyon 63.7%.
At the other end, Le Havre carries the highest relegation risk at 50.7%, then Estac Troyes on 50.5% and Nice on 47.1%. The bottom club averages 33.2 points to Paris Saint Germain's 73.3.
Here's the deal, mate: this simulation gives you a spread of outcomes, not one single answer. It's like looking at a map with multiple routes, not just one. It's great for understanding how much a club's position could swing. But remember, it doesn't know about the real-world stuff that makes football unpredictable: injuries, red cards, or that one player who decides to have a game of his life. It's all about the numbers and the patterns they make, not the chaos of real matches. So, use it to get a feel for the range of possibilities, but don't forget to factor in the human element. It's a tool, not a crystal ball.
What has changed since August
The pre-season projection was run before a ball was kicked. 45 matches later, these are the clubs the model has most changed its mind about. Movement is in expected finishing position, which is measured against the rest of the division, so it reflects a changed view rather than simply games being played.
Rising
- Paris FC up 3.1 places, expected points 45.9 to 53.5. 11 points from 5 games. Title chance up from 0.2% to 1.5%. Relegation risk down from 7.9% to 0.7%.
- Monaco up 2.5 places, expected points 55.7 to 64.8. 13 points from 5 games. Title chance up from 1.9% to 17.5%. Relegation risk down from 0.9% to 0.0%.
- Lyon up 1.7 places, expected points 54.7 to 60.0. 11 points from 5 games. Title chance up from 1.4% to 7.1%. Relegation risk down from 0.8% to 0.1%.
- Angers up 1.7 places, expected points 35.0 to 38.9. 7 points from 5 games. Relegation risk down from 43.4% to 22.4%.
- Lille up 1.1 places, expected points 52.8 to 55.9. 10 points from 5 games. Title chance up from 0.8% to 2.5%. Relegation risk down from 1.3% to 0.3%.
Falling
- Lens down 2.7 places, expected points 61.9 to 53.1. 4 points from 5 games. Title chance down from 7.0% to 1.5%. Relegation risk up from 0.1% to 1.0%.
- Marseille down 2.6 places, expected points 50.7 to 44.5. 3 points from 5 games. Relegation risk up from 2.8% to 8.6%.
- Toulouse down 1.5 places, expected points 45.6 to 42.2. 5 points from 5 games. Relegation risk up from 8.4% to 12.9%.
- Le Havre down 1.4 places, expected points 37.1 to 33.2. 2 points from 5 games. Relegation risk up from 34.0% to 50.7%.
- Lorient down 1.0 places, expected points 42.9 to 40.5. 5 points from 5 games. Relegation risk up from 14.1% to 18.1%.
Compare with the full pre-season table, exactly as the model had it in August.
Every club, every finishing position
| Club | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | xPts |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Paris Saint Germain | 68.64 | 19.91 | 6.94 | 2.53 | 1.03 | 0.53 | 0.22 | 0.10 | 0.05 | 0.02 | 0.01 | 0.01 | 0.01 | 73.3 | |||||
| Monaco | 17.49 | 32.57 | 19.33 | 11.79 | 7.20 | 4.79 | 2.86 | 1.76 | 0.91 | 0.65 | 0.27 | 0.15 | 0.11 | 0.05 | 0.03 | 0.03 | 0.01 | 64.8 | |
| Lyon | 7.07 | 18.50 | 21.40 | 16.74 | 11.91 | 8.27 | 6.13 | 3.75 | 2.54 | 1.60 | 0.89 | 0.59 | 0.29 | 0.15 | 0.09 | 0.06 | 0.01 | 0.01 | 60.0 |
| Lille | 2.49 | 9.30 | 14.57 | 15.92 | 14.36 | 11.87 | 9.27 | 7.31 | 5.17 | 3.64 | 2.37 | 1.52 | 0.94 | 0.63 | 0.37 | 0.17 | 0.07 | 0.04 | 55.9 |
| Paris FC | 1.48 | 6.00 | 9.75 | 13.18 | 13.94 | 12.92 | 11.24 | 8.98 | 6.94 | 4.81 | 3.72 | 2.58 | 1.86 | 1.28 | 0.62 | 0.43 | 0.21 | 0.04 | 53.5 |
| Lens | 1.46 | 5.88 | 10.72 | 12.70 | 13.18 | 12.52 | 10.93 | 9.35 | 7.04 | 4.93 | 3.72 | 2.61 | 1.88 | 1.27 | 0.77 | 0.57 | 0.31 | 0.15 | 53.1 |
| Rennes | 0.69 | 3.90 | 7.18 | 9.72 | 11.42 | 11.91 | 11.14 | 10.22 | 8.43 | 6.95 | 5.32 | 4.06 | 2.96 | 2.46 | 1.64 | 1.09 | 0.66 | 0.26 | 51.2 |
| Strasbourg | 0.46 | 2.34 | 5.28 | 7.51 | 9.84 | 11.04 | 11.61 | 10.48 | 9.55 | 8.12 | 6.44 | 5.07 | 3.87 | 3.05 | 2.31 | 1.59 | 0.95 | 0.51 | 49.2 |
| Marseille | 0.11 | 0.76 | 1.92 | 3.40 | 5.08 | 7.35 | 8.60 | 9.72 | 10.23 | 9.72 | 9.41 | 7.66 | 6.97 | 5.78 | 4.67 | 3.95 | 2.86 | 1.80 | 44.5 |
| Toulouse | 0.06 | 0.33 | 0.91 | 1.93 | 3.25 | 4.47 | 6.49 | 7.62 | 9.09 | 9.50 | 9.88 | 9.89 | 8.77 | 8.11 | 6.77 | 5.51 | 4.45 | 2.97 | 42.2 |
| Lorient | 0.03 | 0.16 | 0.70 | 1.36 | 2.34 | 3.38 | 4.99 | 6.80 | 7.76 | 8.73 | 9.38 | 9.43 | 9.40 | 9.21 | 8.24 | 7.52 | 5.97 | 4.57 | 40.5 |
| Stade Brestois 29 | 0.01 | 0.13 | 0.52 | 1.17 | 1.84 | 2.98 | 4.13 | 5.63 | 6.65 | 8.64 | 8.62 | 9.61 | 9.72 | 9.43 | 9.12 | 8.41 | 7.50 | 5.91 | 39.5 |
| Angers | 0.10 | 0.22 | 0.67 | 1.35 | 2.25 | 3.27 | 4.98 | 6.59 | 7.99 | 8.97 | 9.99 | 10.89 | 10.51 | 9.84 | 9.11 | 7.56 | 5.73 | 38.9 | |
| Le Mans | 0.01 | 0.06 | 0.27 | 0.59 | 1.31 | 2.38 | 3.29 | 4.77 | 6.04 | 7.49 | 8.78 | 9.19 | 9.63 | 9.56 | 10.09 | 9.69 | 9.24 | 7.64 | 38.4 |
| Auxerre | 0.01 | 0.04 | 0.18 | 0.37 | 0.95 | 1.54 | 2.47 | 3.46 | 4.65 | 5.97 | 7.48 | 8.42 | 9.13 | 10.06 | 11.19 | 11.79 | 11.35 | 10.95 | 36.9 |
| Nice | 0.01 | 0.03 | 0.16 | 0.45 | 0.69 | 1.15 | 1.75 | 2.98 | 3.89 | 5.35 | 6.92 | 8.04 | 9.94 | 11.48 | 13.47 | 16.00 | 17.67 | 34.1 | |
| Estac Troyes | 0.02 | 0.02 | 0.12 | 0.29 | 0.50 | 1.14 | 1.67 | 2.71 | 3.65 | 4.81 | 6.12 | 7.75 | 9.08 | 11.65 | 13.56 | 16.99 | 19.93 | 33.7 | |
| Le Havre | 0.01 | 0.03 | 0.14 | 0.29 | 0.63 | 1.07 | 1.65 | 2.67 | 3.70 | 4.57 | 6.17 | 7.81 | 9.42 | 11.11 | 13.05 | 15.85 | 21.83 | 33.2 |
Each cell is the percentage of 20,000 simulated seasons in which that club finished in that position, so every row adds up to 100%. A blank cell is under 0.005%, not impossible. The xPts column is the club's average points total across those seasons.
View the same grid as a shaded heatmap, which is easier to scan than the table above.
How it's built
The table above is where the division actually stands after 45 matches, finished off 20,000 times over. Points already won are treated as certain, and only the 261 fixtures left to play are simulated, from each club's attacking and defending strength: a blend of shots-adjusted Elo, last season's goal rates and how the club has actually played this season, the last of those counting for more the longer the season runs. Scorelines are drawn from the same negative-binomial and Dixon-Coles model the live BetSignals signals use. It knows nothing about upcoming fixture difficulty, injuries or suspensions.
_Generated from the BetSignals season simulation, 20,000 runs._