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.