The EFL Championship is famously the hardest league in Europe to predict: 46 rounds, relegated Premier League squads colliding with promoted upstarts, and a playoff lottery at the top. That chaos is measurable β our Elo ratings and Poisson goal model quantify how compressed the field really is, and 10,000 simulations of the remaining schedule show how wide the plausible outcomes are for every club, from automatic promotion to the drop zone.
| Pos | Team | Pld | Pts | Proj Pts | Title % | Top 4 % | Europe % | Releg. % |
|---|---|---|---|---|---|---|---|---|
| 1.69 | Millwall FC | 3 | 6 | 96 | 62.6% | 96.1% | 99.0% | 0% |
| 3.12 | West Bromwich Albion FC | 2 | 6 | 88 | 20.2% | 79.9% | 92.2% | 0% |
| 5.08 | Charlton Athletic FC | 3 | 9 | 81 | 5.1% | 49.9% | 73.2% | 0% |
| 5.29 | Queens Park Rangers FC | 3 | 7 | 81 | 4.5% | 46.5% | 70.7% | 0% |
| 5.5 | Wolverhampton Wanderers FC | 2 | 4 | 80 | 3.8% | 43.6% | 68.3% | 0% |
| 6.8 | Bolton Wanderers FC | 3 | 4 | 77 | 1.8% | 26.5% | 51.7% | 0% |
| 7.79 | Swansea City AFC | 2 | 4 | 74 | 0.9% | 18.6% | 39.0% | 0% |
| 8.58 | Watford FC | 3 | 5 | 72 | 0.5% | 13.0% | 30.0% | <0.1% |
| 9.86 | Blackburn Rovers FC | 3 | 4 | 69 | 0.2% | 7.2% | 19.4% | <0.1% |
| 10.03 | Southampton FC | 3 | 6 | 69 | 0.2% | 6.7% | 18.3% | <0.1% |
| 10.82 | Birmingham City FC | 3 | 5 | 67 | 0.1% | 4.3% | 12.6% | 0.1% |
| 10.86 | Middlesbrough FC | 2 | 3 | 67 | 0.1% | 4.3% | 12.6% | 0.1% |
| 12.21 | Sheffield United FC | 3 | 3 | 64 | <0.1% | 1.9% | 6.5% | 0.3% |
| 13.9 | Portsmouth FC | 3 | 3 | 60 | 0% | 0.6% | 2.5% | 0.9% |
| 14.29 | Cardiff City FC | 3 | 3 | 59 | <0.1% | 0.6% | 2.2% | 1.2% |
| 15.48 | West Ham United FC | 3 | 2 | 56 | 0% | 0.2% | 0.9% | 2.9% |
| 16.6 | Wrexham AFC | 3 | 2 | 54 | 0% | 0.1% | 0.4% | 5.4% |
| 17.5 | Derby County FC | 2 | 1 | 51 | 0% | <0.1% | 0.2% | 9.0% |
| 18.91 | Burnley FC | 3 | 1 | 48 | 0% | 0% | <0.1% | 18.8% |
| 19.5 | Stoke City FC | 2 | 0 | 46 | 0% | 0% | <0.1% | 25.6% |
| 20.52 | Bristol City FC | 3 | 4 | 43 | 0% | 0% | <0.1% | 39.4% |
| 21.23 | Lincoln City FC | 3 | 3 | 40 | 0% | 0% | 0% | 52.7% |
| 21.59 | Preston North End FC | 3 | 0 | 39 | 0% | 0% | 0% | 60.2% |
| 22.85 | Norwich City FC | 3 | 3 | 34 | 0% | 0% | 0% | 83.4% |
The frozen projection from before matchday 1 β kept unchanged all season so you can judge how the model's pre-season read held up.
| Pos | Team | Pld | Pts | Proj Pts | Title % | Top 4 % | Europe % | Releg. % |
|---|---|---|---|---|---|---|---|---|
| 2.67 | West Ham United FC | 3 | 2 | 82 | 45.2% | 84.4% | 91.9% | <0.1% |
| 4.66 | Southampton FC | 3 | 6 | 76 | 17.8% | 61.9% | 76.5% | 0.1% |
| 4.87 | Stoke City FC | 2 | 0 | 76 | 16.4% | 59.5% | 74.5% | 0.1% |
| 8.25 | Millwall FC | 3 | 6 | 69 | 4.5% | 29.3% | 45.2% | 1.2% |
| 9.52 | Wolverhampton Wanderers FC | 2 | 4 | 67 | 2.5% | 20.9% | 35.3% | 2.1% |
| 9.94 | Wrexham AFC | 3 | 2 | 66 | 2.1% | 18.7% | 32.0% | 2.5% |
| 11 | Derby County FC | 2 | 1 | 65 | 1.5% | 14.1% | 25.6% | 4.0% |
| 11.19 | Middlesbrough FC | 2 | 3 | 65 | 1.5% | 13.5% | 24.9% | 3.8% |
| 11.38 | Cardiff City FC | 3 | 3 | 64 | 1.4% | 12.9% | 23.2% | 4.1% |
| 11.43 | Lincoln City FC | 3 | 3 | 64 | 1.1% | 12.7% | 23.5% | 4.7% |
| 11.46 | Bolton Wanderers FC | 3 | 4 | 64 | 1.3% | 12.5% | 23.0% | 4.7% |
| 11.73 | West Bromwich Albion FC | 2 | 6 | 64 | 1.1% | 11.1% | 21.3% | 4.9% |
| 11.75 | Norwich City FC | 3 | 3 | 64 | 1.1% | 12.2% | 22.4% | 5.1% |
| 12.47 | Sheffield United FC | 3 | 3 | 63 | 0.8% | 9.3% | 18.8% | 6.4% |
| 12.8 | Burnley FC | 3 | 1 | 62 | 0.7% | 8.1% | 17.1% | 7.3% |
| 13.8 | Swansea City AFC | 2 | 4 | 61 | 0.5% | 5.8% | 12.3% | 9.2% |
| 14.86 | Watford FC | 3 | 5 | 59 | 0.3% | 4.4% | 9.9% | 13.6% |
| 15.92 | Blackburn Rovers FC | 3 | 4 | 57 | 0.1% | 2.4% | 6.5% | 18.0% |
| 17.17 | Portsmouth FC | 3 | 3 | 55 | 0.1% | 1.6% | 4.0% | 24.4% |
| 17.31 | Birmingham City FC | 3 | 5 | 55 | 0.1% | 1.5% | 3.8% | 25.3% |
| 17.72 | Bristol City FC | 3 | 4 | 54 | <0.1% | 1.4% | 3.5% | 29.4% |
| 18.57 | Queens Park Rangers FC | 3 | 7 | 53 | 0.1% | 0.9% | 2.2% | 35.4% |
| 18.67 | Preston North End FC | 3 | 0 | 53 | <0.1% | 0.8% | 2.3% | 36.1% |
| 20.87 | Charlton Athletic FC | 3 | 9 | 48 | <0.1% | 0.1% | 0.4% | 57.6% |
Every club's current Elo β the same rating our model reads at predict time; higher = stronger, and it moves only with results.
| Rank | Club | Elo | Trend |
|---|---|---|---|
| 1 | Brighton | 1729 | 46 |
| 2 | Burnley | 1707 | 24 |
| 3 | Nott'm Forest | 1692 | 19 |
| 4 | Newcastle | 1677 | 19 |
| 5 | Man City | 1671 | 44 |
| 6 | Leeds | 1661 | 49 |
| 7 | Wolves | 1621 | 7 |
| 8 | Stoke City FC | 1608 | 180 |
| 9 | Brentford | 1608 | 40 |
| 10 | Crystal Palace FC | 1607 | 29 |
| 11 | Sheffield United FC | 1587 | 29 |
| 12 | Coventry City FC | 1581 | 18 |
| 13 | Bournemouth | 1580 | 54 |
| 14 | Aston Villa | 1580 | 17 |
| 15 | Southampton FC | 1570 | 33 |
| 16 | Ipswich | 1568 | 11 |
| 17 | Hull City AFC | 1566 | 104 |
| 18 | Ipswich Town FC | 1565 | 37 |
| 19 | West Ham United FC | 1560 | 34 |
| 20 | Fulham | 1553 | 35 |
| 21 | West Bromwich Albion FC | 1549 | 2 |
| 22 | Blackburn | 1545 | 49 |
| 23 | Millwall FC | 1543 | 2 |
| 24 | Swansea City AFC | 1534 | 9 |
| 25 | Middlesbrough FC | 1532 | 44 |
| 26 | Coventry | 1497 | 6 |
| 27 | Wrexham AFC | 1486 | 28 |
| 28 | Leicester | 1483 | 19 |
| 29 | Sheffield Wednesday FC | 1482 | 126 |
| 30 | Bristol City FC | 1480 | 6 |
| 31 | Leicester City FC | 1473 | 2 |
| 32 | Queens Park Rangers FC | 1470 | 12 |
| 33 | Norwich City FC | 1469 | 14 |
| 34 | Oxford United FC | 1465 | 48 |
| 35 | Derby County FC | 1462 | 23 |
| 36 | Watford FC | 1462 | 18 |
| 37 | Blackburn Rovers FC | 1447 | 3 |
| 38 | Sunderland | 1442 | 100 |
| 39 | Gillingham | 1439 | 1 |
| 40 | Birmingham City FC | 1436 | 61 |
| 41 | Luton | 1433 | 21 |
| 42 | Charlton Athletic FC | 1432 | 60 |
| 43 | Norwich | 1425 | 27 |
| 44 | Wycombe | 1423 | 39 |
| 45 | Oxford | 1417 | 16 |
| 46 | Bury | 1411 | 40 |
| 47 | Derby | 1407 | 35 |
| 48 | Hull | 1406 | 28 |
| 49 | Portsmouth FC | 1404 | 6 |
| 50 | Notts County | 1401 | 8 |
| 51 | Crewe | 1397 | 57 |
| 52 | Plymouth | 1397 | 32 |
| 53 | Oldham | 1396 | 2 |
| 54 | Portsmouth | 1387 | 8 |
| 55 | Preston | 1385 | 54 |
| 56 | Preston North End FC | 1381 | 46 |
| 57 | Wigan | 1380 | 9 |
| 58 | Burton | 1378 | 34 |
| 59 | Walsall | 1377 | 42 |
| 60 | Yeovil | 1365 | 42 |
| 61 | Huddersfield | 1362 | 18 |
| 62 | Birmingham | 1359 | 55 |
| 63 | Cardiff | 1359 | 32 |
| 64 | Doncaster | 1359 | 44 |
| 65 | Colchester | 1358 | 4 |
| 66 | Reading | 1357 | 12 |
| 67 | Scunthorpe | 1350 | 3 |
| 68 | Swindon | 1349 | 14 |
| 69 | Blackpool | 1349 | 34 |
| 70 | Peterboro | 1349 | 45 |
| 71 | Milton Keynes Dons | 1345 | 39 |
| 72 | Southend | 1345 | 49 |
| 73 | Grimsby | 1343 | 40 |
| 74 | Port Vale | 1323 | 27 |
| 75 | Tranmere | 1322 | 20 |
| 76 | Wimbledon | 1298 | 19 |
| 77 | Stockport | 1298 | 12 |
| 78 | Barnsley | 1298 | 51 |
| 79 | Bradford | 1289 | 30 |
| 80 | Rotherham | 1264 | 7 |
| 81 | Bolton | 1248 | 47 |
81 clubs
The last completed season, for context while the new campaign is thin on games.
| Pos | Team | Pld | Pts | GD |
|---|---|---|---|---|
| 1 | Coventry City FC | 11 | 30 | +22 |
| 2 | Southampton FC | 15 | 30 | +16 |
| 3 | Millwall FC | 14 | 27 | +10 |
| 4 | Hull City AFC | 16 | 25 | +1 |
| 5 | Ipswich Town FC | 13 | 24 | +10 |
| 6 | Norwich City FC | 12 | 23 | +8 |
| 7 | Wrexham AFC | 13 | 23 | +3 |
| 8 | Middlesbrough FC | 14 | 20 | +9 |
| 9 | Derby County FC | 12 | 18 | -1 |
| 10 | Swansea City AFC | 12 | 18 | -2 |
| 11 | Birmingham City FC | 13 | 18 | -2 |
| 12 | West Bromwich Albion FC | 12 | 17 | +5 |
| 13 | Sheffield United FC | 12 | 15 | 0 |
| 14 | Oxford United FC | 12 | 15 | 0 |
| 15 | Blackburn Rovers FC | 11 | 14 | -3 |
| 16 | Leicester City FC | 12 | 13 | -2 |
| 17 | Charlton Athletic FC | 12 | 13 | -3 |
| 18 | Portsmouth FC | 12 | 12 | -8 |
| 19 | Queens Park Rangers FC | 12 | 12 | -9 |
| 20 | Bristol City FC | 12 | 11 | -6 |
| 21 | Stoke City FC | 12 | 11 | -8 |
| 22 | Watford FC | 12 | 11 | -13 |
| 23 | Preston North End FC | 12 | 8 | -12 |
| 24 | Portsmouth FC | 3 | 7 | +3 |
| 25 | Southampton FC | 2 | 6 | +5 |
| 26 | Ipswich Town FC | 3 | 6 | +1 |
| 27 | Sheffield Wednesday FC | 12 | 5 | -15 |
| 28 | Oxford United FC | 2 | 4 | +2 |
| 29 | Preston North End FC | 2 | 4 | +1 |
| 30 | Swansea City AFC | 2 | 4 | +1 |
| 31 | Bristol City FC | 2 | 4 | +1 |
| 32 | Derby County FC | 2 | 3 | +1 |
| 33 | Blackburn Rovers FC | 3 | 3 | 0 |
| 34 | Sheffield United FC | 2 | 3 | 0 |
| 35 | Coventry City FC | 3 | 3 | 0 |
| 36 | Norwich City FC | 2 | 3 | -1 |
| 37 | Queens Park Rangers FC | 2 | 2 | 0 |
| 38 | Sheffield Wednesday FC | 2 | 2 | 0 |
| 39 | West Bromwich Albion FC | 2 | 2 | 0 |
| 40 | Middlesbrough FC | 2 | 1 | -1 |
| 41 | Charlton Athletic FC | 2 | 1 | -1 |
| 42 | Hull City AFC | 2 | 1 | -1 |
| 43 | Leicester City FC | 2 | 1 | -1 |
| 44 | Millwall FC | 2 | 1 | -1 |
| 45 | Stoke City FC | 2 | 1 | -2 |
| 46 | Watford FC | 2 | 1 | -2 |
| 47 | Birmingham City FC | 1 | 0 | -1 |
| 48 | Wrexham AFC | 1 | 0 | -4 |
Every club carries an Elo rating that moves only with results β beat a stronger side and it rises, drop points to a weaker one and it falls. A Poisson goal model (the same engine behind our football totals and handicap predictions, with a shots-on-target-based xG proxy) turns the two teams' ratings into a full scoreline distribution for each remaining fixture.
We then play out the rest of the season 10,000 times, drawing a result for every fixture from those distributions and re-building the table each time. The percentages above are simple counts across those simulated seasons: how often a club finished first, in the top four, in a European spot, or in the relegation places.
The model only knows results and shot data β it cannot see transfers, injuries, managerial changes or squad depth until they show up in performances, so early-season projections lean heavily on last season's level. Probabilities are estimates, not promises: a 5% relegation chance still happens one season in twenty. We publish the projections in full; the value bets our model finds on individual matches are part of the paid plans and are never shown here.
33 settled value bets on EFL Championship matches so far.
Every club carries a results-driven Elo rating; a Poisson goal model turns both teams' ratings into a scoreline distribution for each remaining fixture. We play out the rest of the season 10,000 times and count how often each club wins the title, finishes in Europe, or gets relegated.
The pre-season projection is frozen shortly before matchday 1 and kept unchanged all season as a reference point. The live projection re-simulates nightly as results come in.
No β the model only knows results and shot data. Squad depth, managerial changes and injuries only show up once they show up in results, so early-season projections lean heavily on last season's level.
Yes β the same Elo and Poisson engine also powers our value bets on individual matches. This table projection is entirely free; the value bets on individual matches are part of the paid plans.