Club ratings (work in progress)
These are our own club ratings. We started them on 29 October 2026 and we are still testing and calibrating them. The method, the numbers and this page will change, sometimes a lot, and without notice. Treat every number here as a draft.
- They are not predictions and not betting advice.
- They already feed the Couchcall score in the leagues below: the strength of both clubs in every match, and the favourite in a match with no bookmaker line yet. Once a line exists, the market sets the favourite.
- Ratings move with results. If you are saving a recent match, a club’s rating can give away how it went.
An Elo rating for every club in 6 competitions, updated every morning from the previous day’s results. Ratings as of 4 November 2026.
Premier League20 clubs rated
Work in progress. Not calibrated yet; these numbers will change as we test the method.
| # | Club | Rating | Quality in the score | Rated matches |
|---|---|---|---|---|
| 1 | Arsenal | 2019 | 1.00 | 1,262 |
| 2 | Man City | 1884 | 0.96 | 1,124 |
| 3 | Aston Villa | 1832 | 0.92 | 1,073 |
| 4 | Liverpool | 1827 | 0.87 | 1,253 |
| 5 | Bournemouth | 1795 | 0.83 | 540 |
| 6 | Brighton | 1792 | 0.79 | 643 |
| 7 | Brentford | 1739 | 0.75 | 528 |
| 8 | Chelsea | 1731 | 0.70 | 1,227 |
| 9 | Man Utd | 1729 | 0.66 | 1,259 |
| 10 | Newcastle | 1711 | 0.62 | 1,023 |
| 11 | Leeds | 1692 | 0.58 | 832 |
| 12 | Spurs | 1692 | 0.54 | 1,146 |
| 13 | Everton | 1686 | 0.49 | 1,027 |
| 14 | Nottm Forest | 1683 | 0.45 | 828 |
| 15 | Fulham | 1672 | 0.41 | 1,085 |
| 16 | C Palace | 1639 | 0.37 | 792 |
| 17 | Sunderland | 1582 | 0.33 | 768 |
| 18 | Coventry | 1529 | 0.28 | 474 |
| 19 | Ipswich | 1516 | 0.24 | 685 |
| 20 | Hull | 1452 | 0.20 | 797 |
La Liga20 clubs rated
Work in progress. Not calibrated yet; these numbers will change as we test the method.
| # | Club | Rating | Quality in the score | Rated matches |
|---|---|---|---|---|
| 1 | Barcelona | 1943 | 1.00 | 1,242 |
| 2 | Real Madrid | 1917 | 0.96 | 1,250 |
| 3 | Atlético | 1789 | 0.92 | 1,127 |
| 4 | Betis | 1710 | 0.87 | 929 |
| 5 | Villarreal | 1629 | 0.83 | 1,092 |
| 6 | Real Sociedad | 1609 | 0.79 | 919 |
| 7 | Athletic | 1599 | 0.75 | 1,066 |
| 8 | Rayo | 1591 | 0.70 | 517 |
| 9 | Celta Vigo | 1571 | 0.66 | 774 |
| 10 | Valencia | 1567 | 0.62 | 1,092 |
| 11 | Sevilla | 1556 | 0.58 | 1,126 |
| 12 | Levante | 1544 | 0.54 | 593 |
| 13 | Alavés | 1537 | 0.49 | 467 |
| 14 | Elche | 1533 | 0.45 | 238 |
| 15 | Espanyol | 1525 | 0.41 | 898 |
| 16 | Osasuna | 1515 | 0.37 | 811 |
| 17 | Getafe | 1504 | 0.33 | 828 |
| 18 | Deportivo | 1480 | 0.28 | 629 |
| 19 | Málaga | 1404 | 0.24 | 593 |
| 20 | Racing | 1397 | 0.20 | 391 |
Bundesliga18 clubs rated
Work in progress. Not calibrated yet; these numbers will change as we test the method.
| # | Club | Rating | Quality in the score | Rated matches |
|---|---|---|---|---|
| 1 | Bayern | 2011 | 1.00 | 1,126 |
| 2 | Dortmund | 1804 | 0.95 | 1,043 |
| 3 | Leverkusen | 1744 | 0.91 | 1,052 |
| 4 | RB Leipzig | 1702 | 0.86 | 497 |
| 5 | Stuttgart | 1676 | 0.81 | 934 |
| 6 | Freiburg | 1666 | 0.77 | 765 |
| 7 | Hoffenheim | 1599 | 0.72 | 653 |
| 8 | Mainz | 1588 | 0.67 | 742 |
| 9 | Frankfurt | 1577 | 0.62 | 845 |
| 10 | Bremen | 1576 | 0.58 | 916 |
| 11 | Augsburg | 1572 | 0.53 | 630 |
| 12 | Hamburg | 1521 | 0.48 | 863 |
| 13 | Union Berlin | 1520 | 0.43 | 608 |
| 14 | Gladbach | 1518 | 0.39 | 878 |
| 15 | Elversberg | 1514 | 0.34 | 90 |
| 16 | Paderborn | 1488 | 0.29 | 498 |
| 17 | Cologne | 1488 | 0.25 | 734 |
| 18 | Schalke | 1458 | 0.20 | 944 |
UEFA Champions League34 clubs rated
Work in progress. Not calibrated yet; these numbers will change as we test the method.
| # | Club | Rating | Quality in the score | Rated matches |
|---|---|---|---|---|
| 1 | Arsenal | 2019 | 1.00 | 1,262 |
| 2 | Bayern | 2011 | 0.98 | 1,126 |
| 3 | PSG | 1993 | 0.95 | 1,111 |
| 4 | Barcelona | 1943 | 0.93 | 1,242 |
| 5 | Real Madrid | 1917 | 0.90 | 1,250 |
| 6 | Man City | 1884 | 0.88 | 1,124 |
| 7 | Inter Milan | 1845 | 0.85 | 1,168 |
| 8 | Aston Villa | 1832 | 0.83 | 1,073 |
| 9 | Liverpool | 1827 | 0.81 | 1,253 |
| 10 | Dortmund | 1804 | 0.78 | 1,043 |
| 11 | Atlético | 1789 | 0.76 | 1,127 |
| 12 | AS Roma | 1770 | 0.73 | 1,169 |
| 13 | Como | 1764 | 0.71 | 122 |
| 14 | Sporting | 1760 | 0.69 | 780 |
| 15 | Club Brugge | 1738 | 0.66 | 886 |
| 16 | Man Utd | 1729 | 0.64 | 1,259 |
| 17 | Betis | 1710 | 0.61 | 929 |
| 18 | RB Leipzig | 1702 | 0.59 | 497 |
| 19 | FC Porto | 1698 | 0.56 | 837 |
| 20 | PSV | 1695 | 0.54 | 839 |
| 21 | Napoli | 1685 | 0.52 | 875 |
| 22 | Galatasaray | 1683 | 0.49 | 785 |
| 23 | Stuttgart | 1676 | 0.47 | 934 |
| 24 | Bodo/Glimt | 1661 | 0.44 | 60 |
| 25 | Lens | 1636 | 0.42 | 622 |
| 26 | Villarreal | 1629 | 0.39 | 1,092 |
| 27 | Lille | 1625 | 0.37 | 1,065 |
| 28 | Fenerbahce | 1596 | 0.34 | 814 |
| 29 | Feyenoord | 1571 | 0.32 | 738 |
| 30 | Shakhtar | 1566 | 0.30 | 213 |
| 31 | LASK Linz | 1468 | 0.27 | 48 |
| 32 | AEK Athens | 1439 | 0.25 | 103 |
| 33 | Slavia Prague | 1438 | 0.22 | 124 |
| 34 | S Bratislava | 1300 | 0.20 | 108 |
Not rated yet (fewer than 20 matches in our record), so the score uses points per game for: Sabah, Viking FK.
EFL Championship23 clubs rated
Work in progress. Not calibrated yet; these numbers will change as we test the method.
| # | Club | Rating | Quality in the score | Rated matches |
|---|---|---|---|---|
| 1 | West Ham | 1595 | 1.00 | 979 |
| 2 | Southampton | 1520 | 0.96 | 821 |
| 3 | Wolves | 1508 | 0.93 | 799 |
| 4 | Boro | 1462 | 0.89 | 1,099 |
| 5 | Birmingham | 1412 | 0.85 | 1,016 |
| 6 | Burnley | 1411 | 0.82 | 785 |
| 7 | Swansea | 1404 | 0.78 | 804 |
| 8 | West Brom | 1391 | 0.74 | 880 |
| 9 | Norwich City | 1388 | 0.71 | 789 |
| 10 | Millwall | 1387 | 0.67 | 659 |
| 11 | Sheffield Utd | 1378 | 0.64 | 586 |
| 12 | Portsmouth | 1369 | 0.60 | 501 |
| 13 | Wrexham | 1366 | 0.56 | 59 |
| 14 | QPR | 1344 | 0.53 | 819 |
| 15 | Bristol City | 1328 | 0.49 | 750 |
| 16 | Stoke | 1328 | 0.46 | 811 |
| 17 | Blackburn | 1321 | 0.42 | 1,067 |
| 18 | Derby | 1278 | 0.38 | 836 |
| 19 | Cardiff | 1267 | 0.34 | 785 |
| 20 | Watford | 1255 | 0.31 | 835 |
| 21 | Charlton | 1233 | 0.27 | 563 |
| 22 | Preston | 1208 | 0.24 | 659 |
| 23 | Bolton | 1197 | 0.20 | 743 |
Not rated yet (fewer than 20 matches in our record), so the score uses points per game for: Lincoln City.
2. Bundesliga18 clubs rated
Work in progress. Not calibrated yet; these numbers will change as we test the method.
| # | Club | Rating | Quality in the score | Rated matches |
|---|---|---|---|---|
| 1 | Wolfsburg | 1535 | 1.00 | 910 |
| 2 | Hertha | 1481 | 0.95 | 860 |
| 3 | 1. FC Nürnberg | 1442 | 0.91 | 809 |
| 4 | Heidenheim | 1434 | 0.86 | 426 |
| 5 | St. Pauli | 1420 | 0.81 | 636 |
| 6 | Kaiserslautern | 1405 | 0.77 | 637 |
| 7 | Hannover | 1401 | 0.72 | 834 |
| 8 | Magdeburg | 1386 | 0.67 | 160 |
| 9 | Bochum | 1373 | 0.62 | 794 |
| 10 | Bielefeld | 1353 | 0.58 | 622 |
| 11 | Darmstadt | 1336 | 0.53 | 418 |
| 12 | Holstein Kiel | 1336 | 0.48 | 296 |
| 13 | Karlsruher | 1323 | 0.43 | 535 |
| 14 | Greuther Furth | 1300 | 0.39 | 601 |
| 15 | D Dresden | 1300 | 0.34 | 316 |
| 16 | E Braunschweig | 1274 | 0.29 | 398 |
| 17 | Cottbus | 1258 | 0.25 | 352 |
| 18 | Osnabruck | 1226 | 0.20 | 161 |
How the ratings work
Work in progress. Every setting below is a first choice and may change after calibration.
Each club has one number. After every match, points move from one club to the other: 20 times the margin weight times the difference between the result (1 for a win, half for a draw, 0 for a loss) and the result the ratings expected. The home side gets 80 points of home advantage in that expectation; a neutral ground gets none. The margin weight is 1 for a one-goal win, 1.5 for two goals and (11 + goals) / 8 for three or more, the rule the World Football Elo Ratings use for national teams.
Each league is close to a closed pool: its clubs mostly play each other, so the pool’s average stays near where its clubs started. A club starts at 1500 the first time it appears in one of the big five leagues, at 1300 in the top flight of the Netherlands, Portugal, Belgium, Scotland or Turkey, at 1350 in the English or German second tier, and at 1300 when we first see it in a European competition. Strength then moves between pools in two ways: clubs going up and down between tiers carry their rating with them, and European matches, which count 1.5 times as much as a league match. The starting values and that weight were chosen by how well the ratings predicted European matches from 2014-15 on, the matches that test whether the leagues sit right against each other.
The record starts in the 2001-02 season for the five biggest leagues and the Champions League, in 2004-05 for the Europa League, in 2008-09 for the English and German second tiers and the top flights of the Netherlands, Portugal, Belgium, Scotland and Turkey, and in 2021-22 for the Conference League. European qualifying rounds are included, because that is where clubs from smaller leagues meet each other and the big clubs.
In the Couchcall score. The ratings put every league on one scale, but for now the score’s quality term still compares a club with the rest of its own league, as the table did before: quality runs from 0.2 for the lowest-rated club in the league to 1 for the highest, by place in the league’s rating order, so a strong second-tier club scores like a strong top-flight club. On the shared scale (0 at 1250, about a weak club in the English or German second tier today; 1 at 1786, about a contender in one of the big five leagues) second-tier matches would lose about 16 points. Whether to switch is still open. When a match has no bookmaker line, the rating difference also sets the favourite and the closeness term. A club with fewer than 20 rated matches uses points per game instead. How the score works.
How we test it. Graded on 57,200 matches from the 2014-15 season on, before each match was played, the expected result scores 0.159 on the Brier scale (0 is perfect; always predicting the average result scores 0.183). That is a first check, not a calibration.
What is not settled yet
- The settings (the step size, home advantage, starting values) come from a first search, not a calibration against bookmaker prices.
- Ratings do not fall back towards the average between seasons, so a summer of transfers takes weeks to show.
- Clubs from leagues outside our record only meet it in European matches, so their ratings rest on few games.
- The Veikkausliiga, Liiga, the SHL and the NHL are not rated yet; those scores still use points per game.
- Italian, French, Dutch, Portuguese, Belgian, Scottish and Turkish league matches, and the Europa League and Conference League, reach the ratings only when we rebuild the record by hand. Until the next rebuild, those clubs move with their Champions League results alone.
- Most of the 2023-24 season of the 2. Bundesliga and of the Scottish Premiership is missing from our record.
- Clubs from leagues we do not record start from one shared value, whatever their league’s strength.
We will say here when the ratings have been calibrated. Until then, read them as a draft.