La Liga is usually framed as a two-horse race, but the numbers tell a subtler story: Real Madrid and Barcelona set the pace, Atlético hover in between, and a tactical, low-scoring mid-table makes goal totals and margins tighter than in England or Germany. Our Poisson goal model is built for exactly that scoring environment; combined with Elo ratings updated after every match, it re-simulates the remaining fixtures 10,000 times to put honest percentages on the title race, the top four and the relegation battle.
| Pos | Team | Pld | Pts | Proj Pts | Title % | Top 4 % | Europe % | Releg. % |
|---|---|---|---|---|---|---|---|---|
| 1.45 | FC Barcelona | 2 | 6 | 89 | 66.4% | 99.4% | >99.9% | 0% |
| 2.15 | Real Madrid CF | 2 | 6 | 85 | 27.1% | 96.1% | 99.7% | 0% |
| 3.8 | Real Betis Balompié | 3 | 6 | 76 | 3.5% | 71.9% | 94.9% | 0% |
| 4.44 | Deportivo Alavés | 3 | 7 | 73 | 1.6% | 54.9% | 89.0% | 0% |
| 4.69 | Sevilla FC | 3 | 6 | 72 | 1.2% | 47.5% | 86.1% | 0% |
| 6.22 | Club Atlético de Madrid | 3 | 7 | 65 | 0.1% | 15.3% | 55.7% | <0.1% |
| 6.96 | CA Osasuna | 2 | 4 | 62 | 0.1% | 7.5% | 36.2% | <0.1% |
| 6.99 | RCD Espanyol de Barcelona | 3 | 3 | 62 | 0% | 7.3% | 35.3% | 0% |
| 10.62 | RC Deportivo La Coruña | 2 | 2 | 48 | 0% | 0.1% | 1.5% | 1.3% |
| 11.01 | Villarreal CF | 3 | 2 | 47 | 0% | 0.1% | 1.1% | 2.1% |
| 12.91 | Real Racing Club de Santander | 3 | 4 | 42 | 0% | 0% | 0.1% | 8.0% |
| 12.94 | Getafe CF | 2 | 3 | 42 | 0% | 0% | 0.1% | 7.5% |
| 13.79 | Rayo Vallecano de Madrid | 2 | 1 | 40 | 0% | 0% | 0.1% | 13.8% |
| 13.89 | RC Celta de Vigo | 2 | 1 | 40 | 0% | 0% | 0.1% | 14.2% |
| 14.38 | Valencia CF | 2 | 1 | 39 | 0% | 0% | <0.1% | 17.8% |
| 16.21 | Málaga CF | 2 | 1 | 35 | 0% | 0% | 0% | 38.4% |
| 16.64 | Real Sociedad de Fútbol | 3 | 3 | 33 | 0% | 0% | 0% | 45.4% |
| 16.8 | Athletic Club | 2 | 0 | 33 | 0% | 0% | 0% | 47.5% |
| 16.83 | Elche CF | 3 | 1 | 33 | 0% | 0% | 0% | 48.0% |
| 17.28 | Levante UD | 3 | 4 | 32 | 0% | 0% | 0% | 56.0% |
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. % |
|---|---|---|---|---|---|---|---|---|
| 1.57 | FC Barcelona | 2 | 6 | 78 | 60.7% | 98.7% | 99.8% | 0% |
| 2.18 | Real Madrid CF | 2 | 6 | 74 | 31.6% | 94.9% | 98.5% | 0% |
| 4.47 | Valencia CF | 2 | 1 | 64 | 4.8% | 63.8% | 82.2% | 0.1% |
| 6.06 | Club Atlético de Madrid | 3 | 7 | 60 | 1.5% | 40.8% | 65.0% | 0.5% |
| 7.62 | Villarreal CF | 3 | 2 | 56 | 0.5% | 23.7% | 47.0% | 1.6% |
| 8.21 | Getafe CF | 2 | 3 | 55 | 0.4% | 19.5% | 40.8% | 2.1% |
| 9.3 | Rayo Vallecano de Madrid | 2 | 1 | 53 | 0.2% | 12.9% | 30.7% | 3.9% |
| 9.78 | Levante UD | 3 | 4 | 52 | 0.1% | 10.3% | 26.4% | 5.0% |
| 10.33 | RC Celta de Vigo | 2 | 1 | 51 | 0.1% | 8.5% | 22.3% | 6.6% |
| 10.55 | Real Betis Balompié | 3 | 6 | 51 | 0.1% | 8.2% | 21.6% | 7.2% |
| 12.33 | Real Sociedad de Fútbol | 3 | 3 | 48 | 0% | 3.3% | 10.9% | 14.2% |
| 12.48 | Deportivo Alavés | 3 | 7 | 48 | 0.1% | 3.5% | 10.8% | 15.1% |
| 12.79 | Elche CF | 3 | 1 | 47 | <0.1% | 2.9% | 9.3% | 16.3% |
| 13.36 | Málaga CF | 2 | 1 | 46 | <0.1% | 2.0% | 7.5% | 20.4% |
| 13.39 | Real Racing Club de Santander | 3 | 4 | 46 | <0.1% | 2.1% | 7.6% | 21.2% |
| 13.39 | RC Deportivo La Coruña | 2 | 2 | 46 | <0.1% | 1.8% | 7.3% | 20.5% |
| 14.11 | Athletic Club | 2 | 0 | 45 | 0% | 1.6% | 5.3% | 26.0% |
| 14.24 | Sevilla FC | 3 | 6 | 45 | <0.1% | 1.0% | 4.7% | 26.3% |
| 15.96 | RCD Espanyol de Barcelona | 3 | 3 | 41 | 0% | 0.5% | 2.0% | 43.8% |
| 17.86 | CA Osasuna | 2 | 4 | 37 | 0% | 0.1% | 0.4% | 69.1% |
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 | Barcelona | 1812 | 19 |
| 2 | Real Madrid | 1800 | 15 |
| 3 | Real Madrid CF | 1756 | 17 |
| 4 | FC Barcelona | 1754 | 16 |
| 5 | Ath Madrid | 1708 | 10 |
| 6 | Villarreal | 1706 | 75 |
| 7 | Ath Bilbao | 1693 | 17 |
| 8 | Club Atlético de Madrid | 1640 | 17 |
| 9 | Betis | 1636 | 11 |
| 10 | Valencia CF | 1623 | 17 |
| 11 | Getafe CF | 1597 | 15 |
| 12 | Osasuna | 1593 | 39 |
| 13 | Celta | 1589 | 34 |
| 14 | Villarreal CF | 1579 | 44 |
| 15 | Vallecano | 1573 | 38 |
| 16 | Valencia | 1573 | 5 |
| 17 | Levante UD | 1565 | 2 |
| 18 | Real Betis Balompié | 1560 | 44 |
| 19 | Deportivo Alavés | 1559 | 66 |
| 20 | Rayo Vallecano de Madrid | 1553 | 11 |
| 21 | Alaves | 1543 | 48 |
| 22 | RC Celta de Vigo | 1528 | 1 |
| 23 | Sociedad | 1528 | 24 |
| 24 | Leganes | 1515 | 33 |
| 25 | Espanol | 1515 | 48 |
| 26 | Levante | 1515 | 46 |
| 27 | Compostela | 1513 | 36 |
| 28 | Mallorca | 1510 | 37 |
| 29 | Sevilla FC | 1509 | 23 |
| 30 | Real Sociedad de Fútbol | 1500 | 22 |
| 31 | RCD Mallorca | 1497 | 5 |
| 32 | Girona | 1496 | 9 |
| 33 | Extremadura | 1492 | 6 |
| 34 | Sevilla | 1491 | 26 |
| 35 | Elche CF | 1490 | 23 |
| 36 | Getafe | 1487 | 35 |
| 37 | Huesca | 1483 | 7 |
| 38 | Xerez | 1483 | 25 |
| 39 | Oviedo | 1476 | 19 |
| 40 | Cadiz | 1470 | 15 |
| 41 | RCD Espanyol de Barcelona | 1464 | 35 |
| 42 | Real Oviedo | 1460 | 65 |
| 43 | Sp Gijon | 1457 | 41 |
| 44 | Merida | 1452 | 16 |
| 45 | Tenerife | 1450 | 16 |
| 46 | Athletic Club | 1450 | 52 |
| 47 | Elche | 1448 | 55 |
| 48 | Eibar | 1440 | 20 |
| 49 | La Coruna | 1440 | 6 |
| 50 | Girona FC | 1431 | 17 |
| 51 | Gimnastic | 1430 | 17 |
| 52 | Numancia | 1427 | 11 |
| 53 | Zaragoza | 1426 | 5 |
| 54 | CA Osasuna | 1421 | 11 |
| 55 | Almeria | 1420 | 25 |
| 56 | Lerida | 1419 | 60 |
| 57 | Recreativo | 1416 | 51 |
| 58 | Las Palmas | 1412 | 72 |
| 59 | Hercules | 1409 | 6 |
| 60 | Albacete | 1398 | 8 |
| 61 | Santander | 1383 | 33 |
| 62 | Murcia | 1381 | 38 |
| 63 | Malaga | 1381 | 23 |
| 64 | Granada | 1375 | 18 |
| 65 | Salamanca | 1364 | 27 |
| 66 | Cordoba | 1339 | 57 |
| 67 | Logrones | 1325 | 11 |
| 68 | Valladolid | 1310 | 39 |
68 clubs
The last completed season, for context while the new campaign is thin on games.
| Pos | Team | Pld | Pts | GD |
|---|---|---|---|---|
| 1 | FC Barcelona | 14 | 36 | +20 |
| 2 | Real Madrid CF | 14 | 26 | +8 |
| 3 | Rayo Vallecano de Madrid | 15 | 25 | +6 |
| 4 | Villarreal CF | 14 | 24 | +7 |
| 5 | Club Atlético de Madrid | 14 | 24 | +1 |
| 6 | Levante UD | 14 | 24 | +1 |
| 7 | Valencia CF | 14 | 23 | +3 |
| 8 | Getafe CF | 14 | 22 | +2 |
| 9 | RC Celta de Vigo | 14 | 20 | 0 |
| 10 | Real Betis Balompié | 14 | 19 | +1 |
| 11 | RCD Mallorca | 14 | 18 | 0 |
| 12 | Elche CF | 14 | 18 | -4 |
| 13 | Deportivo Alavés | 14 | 17 | -3 |
| 14 | Sevilla FC | 14 | 17 | -6 |
| 15 | Real Sociedad de Fútbol | 14 | 15 | -1 |
| 16 | Athletic Club | 14 | 14 | -8 |
| 17 | Real Oviedo | 15 | 13 | -11 |
| 18 | Girona FC | 14 | 12 | -2 |
| 19 | CA Osasuna | 14 | 12 | -6 |
| 20 | RCD Espanyol de Barcelona | 14 | 11 | -8 |
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.
19 settled value bets on La Liga 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.