Season projections, match predictions, and betting odds for 15 leagues and tournaments, updated nightly.
Purely mathematical simulations. Why is this different from betting odds?
Final Season Results
| Final Season Stats | End-of-Season Probabilities | ||||||
|---|---|---|---|---|---|---|---|
| Team | Pts | Goal Diff |
Every Position
↓ 24th1st ↓
|
Relegation | Promotion Playoffs | Direct Promotion | Win League |
|
Leeds
93 pts
|
93.0 | +42 |
|
0% | 0% | ✓ | ✓ |
|
West Brom
83 pts
|
83.0 | +32 |
|
0% | 0% | ✓ | 0% |
|
Brentford
81 pts
|
81.0 | +42 |
|
0% | ✓ | 0% | 0% |
|
Fulham
81 pts
|
81.0 | +16 |
|
0% | ✓ | 0% | 0% |
|
Cardiff City
73 pts
|
73.0 | +10 |
|
0% | ✓ | 0% | 0% |
|
Swansea City
70 pts
|
70.0 | +9 |
|
0% | ✓ | 0% | 0% |
|
Nott'm Forest
70 pts
|
70.0 | +8 |
|
0% | 0% | 0% | 0% |
|
Millwall
68 pts
|
68.0 | +6 |
|
0% | 0% | 0% | 0% |
|
Preston North End
66 pts
|
66.0 | +5 |
|
0% | 0% | 0% | 0% |
|
Derby County
64 pts
|
64.0 | -2 |
|
0% | 0% | 0% | 0% |
|
Blackburn Rovers
63 pts
|
63.0 | +3 |
|
0% | 0% | 0% | 0% |
|
Bristol City
63 pts
|
63.0 | -5 |
|
0% | 0% | 0% | 0% |
|
QPR
58 pts
|
58.0 | -9 |
|
0% | 0% | 0% | 0% |
|
Reading
56 pts
|
56.0 | +1 |
|
0% | 0% | 0% | 0% |
|
Stoke City
56 pts
|
56.0 | -6 |
|
0% | 0% | 0% | 0% |
|
Sheffield Wednesday
56 pts
|
56.0 | -8 |
|
0% | 0% | 0% | 0% |
|
Middlesbrough
53 pts
|
53.0 | -13 |
|
0% | 0% | 0% | 0% |
|
Huddersfield
51 pts
|
51.0 | -18 |
|
0% | 0% | 0% | 0% |
|
Luton
51 pts
|
51.0 | -28 |
|
0% | 0% | 0% | 0% |
|
Birmingham City
50 pts
|
50.0 | -21 |
|
0% | 0% | 0% | 0% |
|
Barnsley
49 pts
|
49.0 | -20 |
|
0% | 0% | 0% | 0% |
|
Charlton Athletic
48 pts
|
48.0 | -15 |
|
✓ | 0% | 0% | 0% |
|
Wigan Athletic
47 pts
|
47.0 | +1 |
|
✓ | 0% | 0% | 0% |
|
Hull City
45 pts
|
45.0 | -30 |
|
✓ | 0% | 0% | 0% |
FootySim uses a custom Monte Carlo simulation engine to project match results and the final outcome of the season.
Betting markets are influenced by public sentiment and financial liability. This model is strictly performance-based. By focusing solely on Elo ratings and xG distributions, this method provides a pure statistical perspective, fueled by on-pitch results rather than media sentiment or betting volume.
Note on Statistical Variance:
1. Team Power (Elo Ratings): Every team is assigned a power rating based on the Elo system. This rating reflects their current real-world strength based on historical results, opponent quality, and recent form.
2. Match Probabilities & xG: For every unplayed fixture, the engine compares the Elo ratings of the two competing teams. This difference dictates the win probabilities, which are then converted into an Expected Goals (xG) metric for each team, anchored to a real-world average of 2.77 goals per match.
3. Scoreline Generation: The engine feeds these xG values into independent Poisson distributions to generate a realistic final scoreline. It also applies a Dixon-Coles adjustment—a statistical modifier that accounts for late-game human psychology (like "parking the bus" or pushing for a late equalizer) to ensure mathematically accurate draw rates.
4. Dynamic Tournament Momentum: The simulation is path-dependent. As the engine simulates through the schedule, teams dynamically gain or lose Elo points after every simulated match. A team that goes on a giant-killing run in the group stage becomes mathematically stronger before the knockout rounds.
5. The 10,000 Simulations: The engine plays out the remainder of the tournament 10,000 times. Every match is decided by a random number generator weighted by these dynamic metrics. It then tallies up where each team finished across all 10,000 simulated universes to generate the final percentage chances and match probabilities shown across the site.
Want to run your own "what-if" scenarios using the exact engine behind these forecasts? Head over to FootySim.io to time-travel through matchdays and simulate alternate realities ⚽
Data Sources: This engine is powered by these incredible community resources: