Football Club Profiles
ELO rating trajectories, Monte Carlo season forecasts and model predictability for 246 clubs across 12 European leagues.
| Club | League | ELO ▾ | ELO pos | Predictability | Winner acc |
|---|---|---|---|---|---|
| Inter | Serie A | 1741 | #1 | On script | 78.1% (32) |
| Roma | Serie A | 1627 | #2 | On script | 75.0% (32) |
| Como | Serie A | 1627 | #3 | In line | 62.5% (32) |
| Juventus | Serie A | 1602 | #4 | In line | 50.0% (32) |
| Napoli | Serie A | 1580 | #5 | In line | 56.2% (32) |
| Milan | Serie A | 1559 | #6 | Chaos club | 46.9% (32) |
| Atalanta | Serie A | 1541 | #7 | Chaos club | 40.6% (32) |
| Lazio | Serie A | 1534 | #8 | Chaos club | 46.9% (32) |
| Fiorentina | Serie A | 1533 | #9 | Chaos club | 40.6% (32) |
| Bologna | Serie A | 1524 | #10 | Chaos club | 56.2% (32) |
| Udinese | Serie A | 1498 | #11 | Chaos club | 31.2% (32) |
| Sassuolo | Serie A | 1470 | #12 | Chaos club | 46.9% (32) |
| Parma | Serie A | 1457 | #13 | Chaos club | 37.5% (32) |
| Torino | Serie A | 1452 | #14 | In line | 56.2% (32) |
| Genoa | Serie A | 1451 | #15 | In line | 53.1% (32) |
| Lecce | Serie A | 1435 | #16 | On script | 56.2% (32) |
| Cagliari | Serie A | 1428 | #17 | In line | 43.8% (32) |
| Cremonese | Serie A | 1386 | #18 | On script | 65.6% (32) |
| Verona | Serie A | 1312 | #19 | In line | 46.9% (32) |
| Pisa | Serie A | 1244 | #20 | In line | 59.4% (32) |
| Bayern Munich | Bundesliga | 1774 | #1 | On script | 78.6% (28) |
| Dortmund | Bundesliga | 1628 | #2 | On script | 60.7% (28) |
| Stuttgart | Bundesliga | 1620 | #3 | On script | 60.7% (28) |
| RB Leipzig | Bundesliga | 1616 | #4 | On script | 71.4% (28) |
| Leverkusen | Bundesliga | 1592 | #5 | In line | 57.1% (28) |
| Hoffenheim | Bundesliga | 1585 | #6 | In line | 60.7% (28) |
| Augsburg | Bundesliga | 1545 | #7 | Chaos club | 53.6% (28) |
| Mainz | Bundesliga | 1483 | #8 | Chaos club | 46.4% (28) |
| Freiburg | Bundesliga | 1479 | #9 | On script | 60.7% (28) |
| Borussia Mönchengladbach | Bundesliga | 1462 | #10 | In line | 53.6% (28) |
| Hamburg | Bundesliga | 1461 | #11 | In line | 53.6% (28) |
| Eintracht Frankfurt | Bundesliga | 1443 | #12 | In line | 53.6% (28) |
| Heidenheim | Bundesliga | 1419 | #13 | In line | 53.6% (28) |
| Union Berlin | Bundesliga | 1414 | #14 | Chaos club | 32.1% (28) |
| Werder Bremen | Bundesliga | 1393 | #15 | In line | 57.1% (28) |
| FC Köln | Bundesliga | 1373 | #16 | In line | 50.0% (28) |
| Wolfsburg | Bundesliga | 1359 | #17 | In line | 46.4% (28) |
| St Pauli | Bundesliga | 1354 | #18 | In line | 50.0% (28) |
| Manchester City | Premier League | 1706 | #1 | On script | 64.5% (31) |
| Arsenal | Premier League | 1678 | #2 | On script | 71.9% (32) |
| Manchester United | Premier League | 1636 | #3 | Chaos club | 40.6% (32) |
| Bournemouth | Premier League | 1618 | #4 | Chaos club | 25.8% (31) |
| Leeds | Premier League | 1540 | #5 | Chaos club | 31.2% (32) |
| Liverpool | Premier League | 1522 | #6 | In line | 53.1% (32) |
| Brighton | Premier League | 1518 | #7 | In line | 43.8% (32) |
| Brentford | Premier League | 1515 | #8 | In line | 46.9% (32) |
| Nottingham Forest | Premier League | 1512 | #9 | In line | 43.8% (32) |
| Newcastle | Premier League | 1496 | #10 | In line | 53.1% (32) |
| Aston Villa | Premier League | 1495 | #11 | In line | 46.9% (32) |
| Sunderland | Premier League | 1482 | #12 | Chaos club | 34.4% (32) |
| Fulham | Premier League | 1467 | #13 | On script | 62.5% (32) |
| Everton | Premier League | 1463 | #14 | In line | 37.5% (32) |
| Crystal Palace | Premier League | 1444 | #15 | In line | 46.9% (32) |
| Chelsea | Premier League | 1443 | #16 | Chaos club | 38.7% (31) |
| West Ham | Premier League | 1437 | #17 | In line | 59.4% (32) |
| Tottenham | Premier League | 1403 | #18 | Chaos club | 38.7% (31) |
| Wolves | Premier League | 1328 | #19 | In line | 53.1% (32) |
| Burnley | Premier League | 1296 | #20 | On script | 62.5% (32) |
| Barcelona | La Liga | 1745 | #1 | On script | 84.4% (32) |
| Real Madrid | La Liga | 1656 | #2 | In line | 68.8% (32) |
| Real Betis | La Liga | 1564 | #3 | In line | 51.6% (31) |
| Atlético Madrid | La Liga | 1557 | #4 | On script | 68.8% (32) |
| Villarreal | La Liga | 1539 | #5 | On script | 59.4% (32) |
| Rayo Vallecano | La Liga | 1533 | #6 | Chaos club | 43.8% (32) |
| Levante | La Liga | 1517 | #7 | On script | 59.4% (32) |
| Valencia | La Liga | 1508 | #8 | In line | 40.6% (32) |
| Alaves | La Liga | 1499 | #9 | Chaos club | 37.5% (32) |
| Celta Vigo | La Liga | 1492 | #10 | Chaos club | 41.9% (31) |
| Getafe | La Liga | 1486 | #11 | In line | 43.8% (32) |
| Elche | La Liga | 1467 | #12 | In line | 53.1% (32) |
| Sevilla | La Liga | 1462 | #13 | In line | 53.1% (32) |
| Real Sociedad | La Liga | 1452 | #14 | Chaos club | 40.6% (32) |
| Mallorca | La Liga | 1450 | #15 | In line | 50.0% (32) |
| Girona | La Liga | 1438 | #16 | Chaos club | 31.2% (32) |
| Espanyol | La Liga | 1426 | #17 | In line | 43.8% (32) |
| Athletic Bilbao | La Liga | 1424 | #18 | In line | 50.0% (32) |
| Osasuna | La Liga | 1413 | #19 | In line | 53.1% (32) |
| Real Oviedo | La Liga | 1372 | #20 | In line | 46.9% (32) |
| Lille | Ligue 1 | 1640 | #1 | In line | 44.0% (25) |
| Paris Saint-Germain | Ligue 1 | 1635 | #2 | On script | 68.0% (25) |
| Lyon | Ligue 1 | 1616 | #3 | In line | 56.0% (25) |
| Rennes | Ligue 1 | 1600 | #4 | Chaos club | 38.5% (26) |
| Monaco | Ligue 1 | 1596 | #5 | Chaos club | 36.0% (25) |
| Lens | Ligue 1 | 1596 | #6 | On script | 60.0% (25) |
| Paris FC | Ligue 1 | 1531 | #7 | – | 33.3% (12) |
| Lorient | Ligue 1 | 1514 | #8 | Chaos club | 24.0% (25) |
| Strasbourg | Ligue 1 | 1507 | #9 | In line | 41.7% (24) |
| Toulouse | Ligue 1 | 1497 | #10 | In line | 42.3% (26) |
| Marseille | Ligue 1 | 1491 | #11 | In line | 56.0% (25) |
| Brest | Ligue 1 | 1456 | #12 | In line | 50.0% (24) |
| Auxerre | Ligue 1 | 1440 | #13 | On script | 52.0% (25) |
| Le Havre | Ligue 1 | 1428 | #14 | In line | 40.0% (25) |
| Nice | Ligue 1 | 1426 | #15 | Chaos club | 32.0% (25) |
| Angers | Ligue 1 | 1374 | #16 | On script | 56.0% (25) |
| Nantes | Ligue 1 | 1366 | #17 | – | 41.7% (12) |
| Metz | Ligue 1 | 1287 | #18 | On script | 68.0% (25) |
| Southampton | Championship | 1692 | #1 | In line | 51.2% (41) |
| Coventry | Championship | 1674 | #2 | On script | 61.0% (41) |
| Ipswich | Championship | 1648 | #3 | In line | 48.8% (41) |
| Millwall | Championship | 1625 | #4 | In line | 43.9% (41) |
| Norwich | Championship | 1583 | #5 | In line | 56.1% (41) |
| Swansea | Championship | 1553 | #6 | In line | 63.4% (41) |
| Middlesbrough | Championship | 1544 | #7 | In line | 39.0% (41) |
| Wrexham | Championship | 1542 | #8 | In line | 34.2% (41) |
| Derby | Championship | 1529 | #9 | In line | 48.8% (41) |
| Portsmouth | Championship | 1517 | #10 | In line | 41.5% (41) |
| Birmingham | Championship | 1515 | #11 | In line | 53.7% (41) |
| Hull | Championship | 1511 | #12 | In line | 39.0% (41) |
| Sheffield United | Championship | 1494 | #13 | In line | 41.5% (41) |
| Blackburn | Championship | 1482 | #14 | Chaos club | 29.3% (41) |
| West Brom | Championship | 1466 | #15 | In line | 51.2% (41) |
| Bristol City | Championship | 1464 | #16 | In line | 41.5% (41) |
| Preston | Championship | 1441 | #17 | In line | 43.9% (41) |
| Oxford | Championship | 1437 | #18 | In line | 46.3% (41) |
| QPR | Championship | 1423 | #19 | In line | 39.0% (41) |
| Charlton | Championship | 1416 | #20 | In line | 43.9% (41) |
| Leicester | Championship | 1416 | #21 | Chaos club | 34.2% (41) |
| Watford | Championship | 1395 | #22 | In line | 41.5% (41) |
| Stoke | Championship | 1368 | #23 | In line | 41.5% (41) |
| Sheffield Wednesday | Championship | 1264 | #24 | On script | 68.3% (41) |
| Lincoln | League One | 1782 | #1 | On script | 58.5% (41) |
| Cardiff | League One | 1626 | #2 | In line | 51.2% (41) |
| Luton | League One | 1621 | #3 | In line | 42.5% (40) |
| Plymouth | League One | 1619 | #4 | In line | 41.5% (41) |
| Mansfield | League One | 1599 | #5 | Chaos club | 29.3% (41) |
| Stevenage | League One | 1572 | #6 | In line | 53.7% (41) |
| Bolton | League One | 1569 | #7 | In line | 46.3% (41) |
| Blackpool | League One | 1548 | #8 | In line | 53.7% (41) |
| Stockport | League One | 1537 | #9 | In line | 43.9% (41) |
| Bradford | League One | 1529 | #10 | In line | 48.8% (41) |
| Huddersfield | League One | 1526 | #11 | In line | 48.8% (41) |
| Doncaster | League One | 1509 | #12 | In line | 52.5% (40) |
| Wycombe | League One | 1479 | #13 | In line | 48.8% (41) |
| Reading | League One | 1476 | #14 | In line | 39.0% (41) |
| Burton | League One | 1463 | #15 | Chaos club | 31.7% (41) |
| Port Vale | League One | 1459 | #16 | In line | 43.9% (41) |
| Wigan | League One | 1459 | #17 | In line | 46.3% (41) |
| Barnsley | League One | 1432 | #18 | In line | 43.9% (41) |
| Leyton Orient | League One | 1420 | #19 | In line | 43.9% (41) |
| Exeter | League One | 1416 | #20 | In line | 51.2% (41) |
| Peterboro | League One | 1385 | #21 | In line | 53.7% (41) |
| AFC Wimbledon | League One | 1376 | #22 | In line | 46.3% (41) |
| Rotherham | League One | 1358 | #23 | In line | 56.1% (41) |
| Northampton | League One | 1240 | #24 | In line | 58.5% (41) |
| Milton Keynes Dons | League Two | 1651 | #1 | In line | 53.7% (41) |
| Barnet | League Two | 1640 | #2 | Chaos club | 36.6% (41) |
| Chesterfield | League Two | 1623 | #3 | Chaos club | 29.3% (41) |
| Grimsby | League Two | 1619 | #4 | In line | 41.5% (41) |
| Bromley | League Two | 1611 | #5 | In line | 58.5% (41) |
| Cambridge | League Two | 1608 | #6 | In line | 43.9% (41) |
| Salford | League Two | 1606 | #7 | In line | 56.1% (41) |
| Bristol Rvs | League Two | 1590 | #8 | On script | 65.8% (41) |
| Notts County | League Two | 1560 | #9 | In line | 60.0% (40) |
| Oldham | League Two | 1509 | #10 | In line | 41.5% (41) |
| Colchester | League Two | 1502 | #11 | In line | 43.9% (41) |
| Fleetwood Town | League Two | 1493 | #12 | In line | 51.2% (41) |
| Crewe | League Two | 1493 | #13 | In line | 46.3% (41) |
| Swindon | League Two | 1489 | #14 | In line | 58.5% (41) |
| Newport County | League Two | 1444 | #15 | In line | 58.5% (41) |
| Harrogate | League Two | 1430 | #16 | In line | 61.0% (41) |
| Shrewsbury | League Two | 1429 | #17 | In line | 47.5% (40) |
| Cheltenham | League Two | 1429 | #18 | In line | 43.9% (41) |
| Walsall | League Two | 1424 | #19 | In line | 39.0% (41) |
| Crawley Town | League Two | 1407 | #20 | In line | 51.2% (41) |
| Gillingham | League Two | 1397 | #21 | In line | 53.7% (41) |
| Accrington | League Two | 1382 | #22 | In line | 56.1% (41) |
| Tranmere | League Two | 1340 | #23 | In line | 53.7% (41) |
| Barrow | League Two | 1326 | #24 | In line | 46.3% (41) |
| Malaga | Segunda División | 1649 | #1 | In line | 51.3% (37) |
| Santander | Segunda División | 1631 | #2 | In line | 54.0% (37) |
| Burgos | Segunda División | 1626 | #3 | In line | 46.0% (37) |
| Las Palmas | Segunda División | 1619 | #4 | In line | 51.3% (37) |
| La Coruna | Segunda División | 1609 | #5 | In line | 51.3% (37) |
| Castellon | Segunda División | 1607 | #6 | In line | 51.3% (37) |
| Eibar | Segunda División | 1577 | #7 | In line | 54.0% (37) |
| Albacete | Segunda División | 1561 | #8 | In line | 37.8% (37) |
| Almeria | Segunda División | 1553 | #9 | On script | 59.5% (37) |
| Ceuta | Segunda División | 1545 | #10 | In line | 54.0% (37) |
| Sp Gijon | Segunda División | 1525 | #11 | In line | 51.3% (37) |
| Cordoba | Segunda División | 1510 | #12 | In line | 48.6% (37) |
| Andorra | Segunda División | 1510 | #13 | In line | 48.6% (37) |
| Sociedad B | Segunda División | 1431 | #14 | In line | 51.3% (37) |
| Mirandes | Segunda División | 1420 | #15 | In line | 56.8% (37) |
| Granada | Segunda División | 1419 | #16 | In line | 48.6% (37) |
| Leganes | Segunda División | 1407 | #17 | In line | 40.5% (37) |
| Valladolid | Segunda División | 1399 | #18 | In line | 43.2% (37) |
| Cultural Leonesa | Segunda División | 1357 | #19 | In line | 51.3% (37) |
| Huesca | Segunda División | 1356 | #20 | In line | 62.2% (37) |
| Zaragoza | Segunda División | 1346 | #21 | In line | 37.8% (37) |
| Cadiz | Segunda División | 1342 | #22 | In line | 51.3% (37) |
| Rodez | Ligue 2 | 1661 | #1 | Chaos club | 17.2% (29) |
| Le Mans | Ligue 2 | 1655 | #2 | In line | 41.4% (29) |
| Troyes | Ligue 2 | 1622 | #3 | On script | 51.7% (29) |
| Reims | Ligue 2 | 1595 | #4 | In line | 48.3% (29) |
| Annecy | Ligue 2 | 1568 | #5 | In line | 44.8% (29) |
| Red Star | Ligue 2 | 1557 | #6 | In line | 42.9% (28) |
| Saint-Étienne | Ligue 2 | 1544 | #7 | In line | 51.7% (29) |
| Montpellier | Ligue 2 | 1531 | #8 | In line | 44.8% (29) |
| Grenoble | Ligue 2 | 1497 | #9 | In line | 34.5% (29) |
| Clermont | Ligue 2 | 1457 | #10 | In line | 41.4% (29) |
| Laval | Ligue 2 | 1454 | #11 | In line | 44.8% (29) |
| Nancy | Ligue 2 | 1447 | #12 | In line | 34.5% (29) |
| Dunkerque | Ligue 2 | 1438 | #13 | In line | 41.4% (29) |
| Pau FC | Ligue 2 | 1435 | #14 | In line | 37.9% (29) |
| Bastia | Ligue 2 | 1434 | #15 | In line | 35.7% (28) |
| Boulogne | Ligue 2 | 1416 | #16 | In line | 34.5% (29) |
| Guingamp | Ligue 2 | 1392 | #17 | In line | 31.0% (29) |
| Amiens | Ligue 2 | 1297 | #18 | On script | 69.0% (29) |
| Schalke 04 | 2. Bundesliga | 1643 | #1 | In line | 48.3% (29) |
| Hannover | 2. Bundesliga | 1608 | #2 | Chaos club | 34.5% (29) |
| Paderborn | 2. Bundesliga | 1588 | #3 | In line | 62.1% (29) |
| Elversberg | 2. Bundesliga | 1565 | #4 | In line | 48.3% (29) |
| Nurnberg | 2. Bundesliga | 1538 | #5 | In line | 37.9% (29) |
| Bochum | 2. Bundesliga | 1510 | #6 | In line | 44.8% (29) |
| Dresden | 2. Bundesliga | 1503 | #7 | In line | 51.7% (29) |
| Kaiserslautern | 2. Bundesliga | 1503 | #8 | In line | 51.7% (29) |
| Hertha | 2. Bundesliga | 1486 | #9 | In line | 48.3% (29) |
| Magdeburg | 2. Bundesliga | 1484 | #10 | In line | 58.6% (29) |
| Holstein Kiel | 2. Bundesliga | 1477 | #11 | In line | 41.4% (29) |
| Bielefeld | 2. Bundesliga | 1470 | #12 | In line | 31.0% (29) |
| Greuther Furth | 2. Bundesliga | 1461 | #13 | In line | 55.2% (29) |
| Darmstadt | 2. Bundesliga | 1461 | #14 | In line | 41.4% (29) |
| Karlsruhe | 2. Bundesliga | 1460 | #15 | In line | 58.6% (29) |
| Braunschweig | 2. Bundesliga | 1459 | #16 | In line | 48.3% (29) |
| Fortuna Dusseldorf | 2. Bundesliga | 1428 | #17 | In line | 55.2% (29) |
| Preußen Münster | 2. Bundesliga | 1357 | #18 | In line | 44.8% (29) |
| Frosinone | Serie B | 1715 | #1 | In line | 60.6% (33) |
| Venezia | Serie B | 1711 | #2 | On script | 66.7% (33) |
| Monza | Serie B | 1632 | #3 | On script | 54.5% (33) |
| Palermo | Serie B | 1626 | #4 | On script | 60.6% (33) |
| Catanzaro | Serie B | 1526 | #5 | In line | 51.5% (33) |
| Mantova | Serie B | 1523 | #6 | In line | 51.5% (33) |
| Juve Stabia | Serie B | 1498 | #7 | In line | 51.5% (33) |
| Avellino | Serie B | 1498 | #8 | In line | 42.4% (33) |
| Modena | Serie B | 1478 | #9 | In line | 33.3% (33) |
| Padova | Serie B | 1475 | #10 | In line | 51.5% (33) |
| Bari | Serie B | 1472 | #11 | In line | 51.5% (33) |
| Sampdoria | Serie B | 1461 | #12 | In line | 51.5% (33) |
| Virtus Entella | Serie B | 1458 | #13 | In line | 45.5% (33) |
| Empoli | Serie B | 1444 | #14 | In line | 42.4% (33) |
| Carrarese | Serie B | 1443 | #15 | In line | 60.6% (33) |
| Pescara | Serie B | 1430 | #16 | In line | 48.5% (33) |
| Spezia | Serie B | 1415 | #17 | In line | 45.5% (33) |
| Reggiana | Serie B | 1400 | #18 | In line | 51.5% (33) |
| Sudtirol | Serie B | 1400 | #19 | Chaos club | 30.3% (33) |
| Cesena | Serie B | 1395 | #20 | In line | 42.4% (33) |
ELO and league position come from the latest computed matchday. The predictability tier grades how easy a club's results are to forecast: we score every as-published match prediction like a weather forecast (confident and right earns the best grade, confident and wrong the worst) and compare the club's season average with its league's. "On script" clubs beat the league average clearly, "Chaos clubs" defy it — the tier needs at least 15 predicted matches. Winner accuracy is the share of predicted matches called correctly (sample in brackets). Full methodology.