Portugal's Primeira Liga is dominated by the big three — Benfica, Porto and Sporting have won every title for decades — yet the gaps between them swing hard year to year, and the race for the European places behind them is consistently tight. Our model ignores reputations: results-driven Elo ratings capture each club's current level, a Poisson goal engine models scorelines, and 10,000 simulations of the remaining fixtures produce title, top-four, Europe and relegation probabilities for all 18 clubs.
| Pos | Team | Pld | Pts | Proj Pts | Title % | Top 4 % | Europe % | Releg. % |
|---|---|---|---|---|---|---|---|---|
| 1.27 | FC Porto | 3 | 9 | 81 | 80.5% | 99.7% | >99.9% | 0% |
| 3.09 | Sporting Clube de Portugal | 4 | 10 | 69 | 8.7% | 83.4% | 97.9% | 0% |
| 3.52 | Sport Lisboa e Benfica | 2 | 4 | 67 | 5.2% | 75.7% | 96.2% | 0% |
| 3.83 | Gil Vicente FC | 2 | 6 | 66 | 3.9% | 68.3% | 94.3% | 0% |
| 4.53 | FC Arouca | 3 | 6 | 63 | 1.6% | 49.9% | 88.4% | 0% |
| 6.78 | CD Santa Clara | 3 | 7 | 55 | 0.1% | 10.3% | 46.0% | 0% |
| 7.15 | Sporting Clube de Braga | 1 | 1 | 53 | 0.1% | 8.1% | 38.8% | <0.1% |
| 8.04 | CS Marítimo | 3 | 7 | 50 | <0.1% | 3.0% | 20.9% | <0.1% |
| 9.3 | CD Nacional | 3 | 4 | 46 | 0% | 0.7% | 8.1% | 0.4% |
| 9.72 | Vitória SC | 3 | 3 | 45 | 0% | 0.5% | 6.0% | 0.7% |
| 10.32 | CF Estrela da Amadora | 2 | 2 | 43 | 0% | 0.3% | 3.4% | 1.7% |
| 13.46 | Académico de Viseu FC | 3 | 2 | 33 | 0% | 0% | <0.1% | 19.6% |
| 13.99 | FC Famalicão | 3 | 1 | 32 | 0% | 0% | <0.1% | 28.0% |
| 14.24 | FC Alverca | 3 | 1 | 31 | 0% | 0% | <0.1% | 31.8% |
| 14.27 | Rio Ave FC | 4 | 3 | 31 | 0% | 0% | 0% | 31.5% |
| 15.15 | Moreirense FC | 2 | 1 | 29 | 0% | 0% | <0.1% | 48.4% |
| 15.65 | GD Estoril Praia | 3 | 1 | 27 | 0% | 0% | 0% | 59.3% |
| 16.67 | Casa Pia AC | 3 | 0 | 24 | 0% | 0% | 0% | 78.6% |
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.32 | FC Porto | 3 | 9 | 73 | 77.9% | 99.3% | 99.9% | 0% |
| 3.18 | Sport Lisboa e Benfica | 2 | 4 | 62 | 11.2% | 81.8% | 94.3% | 0.1% |
| 4.07 | Sporting Clube de Portugal | 4 | 10 | 58 | 5.3% | 67.8% | 87.5% | 0.1% |
| 4.19 | FC Famalicão | 3 | 1 | 58 | 4.2% | 66.0% | 86.1% | 0.1% |
| 6.65 | CD Santa Clara | 3 | 7 | 51 | 0.6% | 28.0% | 56.9% | 1.5% |
| 7.3 | FC Arouca | 3 | 6 | 50 | 0.5% | 21.6% | 48.7% | 2.6% |
| 9.41 | Sporting Clube de Braga | 1 | 1 | 45 | 0.1% | 8.9% | 26.0% | 8.2% |
| 10.76 | Rio Ave FC | 4 | 3 | 43 | 0.1% | 5.0% | 16.3% | 15.0% |
| 10.88 | CS Marítimo | 3 | 7 | 43 | <0.1% | 4.5% | 15.3% | 15.3% |
| 10.89 | Académico de Viseu FC | 3 | 2 | 43 | <0.1% | 4.1% | 14.8% | 15.2% |
| 12.38 | CD Nacional | 3 | 4 | 40 | 0% | 2.1% | 8.6% | 26.5% |
| 12.39 | Vitória SC | 3 | 3 | 40 | <0.1% | 2.0% | 8.0% | 26.5% |
| 12.43 | Gil Vicente FC | 2 | 6 | 40 | <0.1% | 1.9% | 7.8% | 26.4% |
| 12.57 | FC Alverca | 3 | 1 | 40 | <0.1% | 1.8% | 7.2% | 27.8% |
| 12.79 | Moreirense FC | 2 | 1 | 39 | 0% | 1.7% | 6.7% | 30.0% |
| 13.01 | CF Estrela da Amadora | 2 | 2 | 39 | 0% | 1.4% | 6.0% | 32.5% |
| 13.03 | Casa Pia AC | 3 | 0 | 39 | 0% | 1.2% | 6.0% | 32.2% |
| 13.76 | GD Estoril Praia | 3 | 1 | 37 | 0% | 0.7% | 3.8% | 40.0% |
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 | Sp Lisbon | 1911 | 17 |
| 2 | Benfica | 1866 | 1 |
| 3 | Barcelona | 1812 | 19 |
| 4 | FC Porto | 1806 | 7 |
| 5 | Real Madrid | 1800 | 15 |
| 6 | Sp Braga | 1752 | 25 |
| 7 | Sporting Clube de Braga | 1752 | 199 |
| 8 | Ath Madrid | 1708 | 10 |
| 9 | Ath Bilbao | 1693 | 17 |
| 10 | Guimaraes | 1664 | 17 |
| 11 | Vitória SC | 1664 | 161 |
| 12 | Sport Lisboa e Benfica | 1638 | 20 |
| 13 | CD Santa Clara | 1627 | 11 |
| 14 | Sporting Clube de Portugal | 1623 | 48 |
| 15 | FC Famalicão | 1603 | 46 |
| 16 | FC Arouca | 1602 | 56 |
| 17 | Osasuna | 1593 | 39 |
| 18 | Celta | 1589 | 34 |
| 19 | GD Estoril Praia | 1579 | 118 |
| 20 | Estoril | 1579 | 1 |
| 21 | Vallecano | 1573 | 38 |
| 22 | Valencia | 1573 | 5 |
| 23 | Sociedad | 1528 | 24 |
| 24 | Moreirense FC | 1525 | 54 |
| 25 | Est Amadora | 1516 | 8 |
| 26 | CF Estrela da Amadora | 1516 | 61 |
| 27 | Desp. Chaves | 1505 | 65 |
| 28 | Rio Ave FC | 1499 | 44 |
| 29 | Sevilla | 1491 | 26 |
| 30 | Gil Vicente FC | 1487 | 32 |
| 31 | Setubal | 1484 | 28 |
| 32 | Portimonense | 1484 | 17 |
| 33 | Belenenses | 1480 | 7 |
| 34 | CD Nacional | 1479 | 11 |
| 35 | Oviedo | 1476 | 19 |
| 36 | Farense | 1472 | 23 |
| 37 | Pacos Ferreira | 1465 | 23 |
| 38 | Maritimo | 1461 | 17 |
| 39 | FC Alverca | 1461 | 21 |
| 40 | Campomaiorense | 1461 | 11 |
| 41 | CD Tondela | 1460 | 12 |
| 42 | Nacional | 1459 | 7 |
| 43 | Vizela | 1458 | 5 |
| 44 | Campomaior | 1458 | 39 |
| 45 | Sp Gijon | 1457 | 41 |
| 46 | Olhanense | 1456 | 15 |
| 47 | Naval | 1455 | 10 |
| 48 | Chaves | 1452 | 15 |
| 49 | AVS | 1451 | 48 |
| 50 | Tenerife | 1450 | 16 |
| 51 | Estrela | 1449 | 47 |
| 52 | Leca | 1449 | 24 |
| 53 | Trofense | 1444 | 14 |
| 54 | Uniao Madeira | 1441 | 40 |
| 55 | La Coruna | 1440 | 6 |
| 56 | Casa Pia AC | 1438 | 38 |
| 57 | Academica | 1437 | 23 |
| 58 | Beira Mar | 1436 | ±0 |
| 59 | Varzim | 1435 | 22 |
| 60 | Tirsense | 1434 | 6 |
| 61 | Zaragoza | 1426 | 5 |
| 62 | Salgueiros | 1425 | ±0 |
| 63 | Felgueiras | 1421 | ±0 |
| 64 | Boavista | 1420 | 5 |
| 65 | Lerida | 1419 | 57 |
| 66 | Leixoes | 1419 | 29 |
| 67 | Madeira | 1416 | 5 |
| 68 | Feirense | 1401 | 13 |
| 69 | Albacete | 1398 | 8 |
| 70 | Leiria | 1397 | 38 |
| 71 | Espinho | 1389 | 10 |
| 72 | Santander | 1383 | 33 |
| 73 | Penafiel | 1380 | 4 |
| 74 | Logrones | 1325 | 11 |
| 75 | Valladolid | 1310 | 39 |
75 clubs
The last completed season, for context while the new campaign is thin on games.
| Pos | Team | Pld | Pts | GD |
|---|---|---|---|---|
| 1 | FC Porto | 12 | 29 | +12 |
| 2 | Sport Lisboa e Benfica | 12 | 28 | +16 |
| 3 | Sporting Clube de Portugal | 11 | 24 | +20 |
| 4 | FC Famalicão | 11 | 23 | +7 |
| 5 | Sporting Clube de Braga | 12 | 20 | +3 |
| 6 | FC Arouca | 12 | 19 | +4 |
| 7 | CD Santa Clara | 11 | 19 | +4 |
| 8 | FC Alverca | 12 | 14 | -2 |
| 9 | CD Nacional | 12 | 13 | -4 |
| 10 | CD Tondela | 12 | 13 | -7 |
| 11 | Rio Ave FC | 10 | 12 | -4 |
| 12 | AVS | 10 | 11 | -4 |
| 13 | Gil Vicente FC | 12 | 10 | -6 |
| 14 | Vitória SC | 11 | 10 | -6 |
| 15 | GD Estoril Praia | 12 | 9 | -8 |
| 16 | Moreirense FC | 11 | 9 | -11 |
| 17 | Casa Pia AC | 12 | 8 | -10 |
| 18 | CF Estrela da Amadora | 11 | 7 | -4 |
| 19 | Rio Ave FC | 2 | 4 | +2 |
| 20 | Sporting Clube de Portugal | 1 | 3 | +1 |
| 21 | AVS | 2 | 2 | 0 |
| 22 | Moreirense FC | 1 | 1 | 0 |
| 23 | Vitória SC | 1 | 1 | 0 |
| 24 | FC Famalicão | 1 | 1 | 0 |
| 25 | CF Estrela da Amadora | 1 | 0 | -1 |
| 26 | CD Santa Clara | 1 | 0 | -2 |
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.
18 settled value bets on Primeira 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.