Primeira Liga

· Portugal

Strength. Context. What's next.

League Strength League Strength uses the mean Elo of this league's clubs on a separate fixed 0–100 scale. L90 Strength rates each club from its own Elo with a different calibration. League Strength is not the average L90 Strength, and the two scores are not directly comparable.64 / 100Avg L90 Strength 37 · mean Elo 1560
Competitive Index30 / 100How open the title race is
Matches played81 / 306Season progress 26%

Fixtures & Forecasts

Match results, upcoming fixtures and pre-match predictions.

All fixtures →

Matchweek 10

MatchDateHomeScoreAway1X2xG (forecast)TOTAL xGBTTSOver 2.5Weather
Casa Pia Sporting CP Fri, Oct 3020:15 Casa Pia Sporting CP 14%|21%|65% 0.85|2.05 2.90 50% 55% —
Moreirense Estrela Sat, Oct 3115:30 Moreirense Estrela 45%|26%|29% 1.56|1.20 2.76 56% 52% 23°C
FC Porto Estoril Sat, Oct 3120:30 FC Porto Estoril 78%|15%|7% 2.64|0.70 3.34 47% 65% 16°C
Arouca Nacional Sun, Nov 115:30 Arouca Nacional 62%|22%|16% 2.02|0.92 2.94 53% 56% 22°C
Maritimo Santa Clara Sun, Nov 118:00 Maritimo Santa Clara 25%|27%|48% 1.05|1.55 2.60 52% 48% 15°C
Academico Viseu Rio Ave Sun, Nov 118:00 Academico Viseu Rio Ave 59%|23%|18% 1.88|0.96 2.84 53% 54% 18°C
SC Braga Famalicao Sun, Nov 120:30 SC Braga Famalicao 51%|26%|23% 1.62|1.01 2.63 52% 49% 11°C
Benfica Alverca Mon, Nov 220:15 Benfica Alverca 82%|12%|6% 3.01|0.73 3.74 50% 72% 18°C
GIL Vicente Guimaraes Mon, Nov 220:15 GIL Vicente Guimaraes 45%|27%|28% 1.49|1.12 2.61 53% 48% 16°C
Forecast fit Good / Close Fair Low / Poor Not evaluated

xG (forecast) shows LOAD90 expected goals as home | away. TOTAL xG is their sum: the expected total goals in the match. 1X2 shows home win (1) | draw (X) | away win (2) probabilities; bold marks the most likely outcome before the match and the actual outcome after it. BTTS and Over 2.5 are LOAD90 probabilities. xG below a final score is the actual match xG, home – away. Missing data is shown as —.

Forecast evaluation · how to read the colours

1X2 fit in the 1X2 column evaluates the saved home / draw / away probabilities against the actual outcome using Brier score: Σ(probability − actual outcome)², with 1 for the actual outcome and 0 for the other two. It does not grade the total goals or demand an exact score: 1–0 and 5–1 receive the same 1X2 fit for the same forecast. xG margin fit on forecast xG compares who was expected to dominate, and by how much, with the actual match xG: |(λ home − λ away) − (xG home − xG away)|, where a margin is home minus away. It is direction-aware: a favourite that really dominated is not marked down just for creating more or less than forecast in total, while the wrong direction gives a large gap. It does not depend on the final score or on total xG (see TOTAL xG fit). A low 1X2 fit and close xG margin fit can occur together; finishing variation may be one explanation.

TOTAL xG fit compares the displayed forecast total with the final goal count: |TOTAL xG − (home goals + away goals)|. This describes distance from the expected mean, not the probability of the exact score. The expected total is not a guaranteed result; a large difference in one match does not establish a model error. Separate frozen reference forecast_total_fit_v1: 250 retrospective forecasts from the same dates. Close: difference ≤ 0.65 goals; Poor: difference ≥ 2.00 goals; Fair: between them. This fit does not require actual match xG.

BTTS and Over 2.5 colours evaluate their own Yes/No outcomes using binary Brier score. Green/teal → amber → red means closer → less close. Good / Close is the lowest-error quarter of the reference; Low / Poor is the highest-error quarter. Fair is between them. Hover over a coloured metric for its values. Without a valid pre-match snapshot or both actual xG values, the corresponding indicator stays neutral.

xG margin fit uses its own frozen reference forecast_xg_margin_fit_v1: 137 retrospective LOAD90 forecasts with actual match xG, 15 Aug–20 Sep 2026. Close: gap ≤ 0.38; Poor: gap ≥ 1.41; Fair: between them. It supersedes the older per-team xG scale of forecast_fit_v1 for the xG (forecast) column.

Fixed reference forecast_fit_v1: 250 retrospective LOAD90 forecasts, 15 Aug–20 Sep 2026; actual xG available for 137 matches. This is a retrospective colour scale, not evidence of live forecast accuracy. One match cannot establish whether a probability model is well calibrated.

League table & season forecast

Current standings, with the season ahead in the same view.

View League Table →

Swipe to explore the season forecast →

#ClubRatingPWDLGFGAGDPtsProj. ptsLikely finish 80% rangeTitleTop 4Rel.FormClub details
1– 79 9 900214 +17 27 81 1–3 51% >99% 0%
League record9 W · 0 D · 0 L21 scored · 4 conceded
Attack / Defence68 / 80Fixed 0–100 scales
Next match load0Context index · all competitions
Next 5 · match loadOpen a match for details
2– 83 9 711268 +18 22 79 1–3 43% >99% 0%
League record7 W · 1 D · 1 L26 scored · 8 conceded
Attack / Defence86 / 82Fixed 0–100 scales
Next match load10Context index · all competitions
Next 5 · match loadOpen a match for details
3– 80 9 5312111 +10 18 71 2–3 6% 99% 0%
League record5 W · 3 D · 1 L21 scored · 11 conceded
Attack / Defence67 / 73Fixed 0–100 scales
Next match load0Context index · all competitions
Next 5 · match loadOpen a match for details
4– 34 9 531136 +7 18 53 4–9 0% 25% 0%
League record5 W · 3 D · 1 L13 scored · 6 conceded
Attack / Defence29 / 52Fixed 0–100 scales
Next match load12Context index · all competitions
Next 5 · match loadOpen a match for details
5– 36 9 522127 +5 17 52 4–10 0% 22% 0%
League record5 W · 2 D · 2 L12 scored · 7 conceded
Attack / Defence33 / 47Fixed 0–100 scales
Next match load0Context index · all competitions
Next 5 · match loadOpen a match for details
6▲ 35 9 5221311 +2 17 52 4–10 0% 20% <1%
League record5 W · 2 D · 2 L13 scored · 11 conceded
Attack / Defence32 / 39Fixed 0–100 scales
Next match load0Context index · all competitions
Next 5 · match loadOpen a match for details
7▼ 33 9 42387 +1 14 49 5–11 0% 8% <1%
League record4 W · 2 D · 3 L8 scored · 7 conceded
Attack / Defence29 / 51Fixed 0–100 scales
Next match load0Context index · all competitions
Next 5 · match loadOpen a match for details
8– 29 9 3241313 +0 11 43 7–14 0% 1% 1%
League record3 W · 2 D · 4 L13 scored · 13 conceded
Attack / Defence28 / 36Fixed 0–100 scales
Next match load0Context index · all competitions
Next 5 · match loadOpen a match for details
9– 54 9 324911 -2 11 52 4–10 0% 20% 0%
League record3 W · 2 D · 4 L9 scored · 11 conceded
Attack / Defence35 / 58Fixed 0–100 scales
Next match load5Context index · all competitions
Next 5 · match loadOpen a match for details
10▲ 28 9 3241116 -5 11 42 7–14 0% 1% 2%
League record3 W · 2 D · 4 L11 scored · 16 conceded
Attack / Defence21 / 28Fixed 0–100 scales
Next match load0Context index · all competitions
Next 5 · match loadOpen a match for details
11▲ 41 9 2431411 +3 10 45 6–13 0% 3% <1%
League record2 W · 4 D · 3 L14 scored · 11 conceded
Attack / Defence27 / 44Fixed 0–100 scales
Next match load0Context index · all competitions
Next 5 · match loadOpen a match for details
12▼ 18 9 2431417 -3 10 35 10–17 0% <1% 13%
League record2 W · 4 D · 3 L14 scored · 17 conceded
Attack / Defence22 / 24Fixed 0–100 scales
Next match load6Context index · all competitions
Next 5 · match loadOpen a match for details
13▲ 29 9 2251010 +0 8 40 8–15 0% 1% 3%
League record2 W · 2 D · 5 L10 scored · 10 conceded
Attack / Defence31 / 42Fixed 0–100 scales
Next match load0Context index · all competitions
Next 5 · match loadOpen a match for details
14▼ 15 9 225919 -10 8 31 12–18 0% 0% 34%
League record2 W · 2 D · 5 L9 scored · 19 conceded
Attack / Defence13 / 17Fixed 0–100 scales
Next match load5Context index · all competitions
Next 5 · match loadOpen a match for details
15▲ 19 9 2161018 -8 7 31 12–18 0% <1% 38%
League record2 W · 1 D · 6 L10 scored · 18 conceded
Attack / Defence16 / 18Fixed 0–100 scales
Next match load12Context index · all competitions
Next 5 · match loadOpen a match for details
16▲ 20 9 216517 -12 7 34 11–17 0% <1% 22%
League record2 W · 1 D · 6 L5 scored · 17 conceded
Attack / Defence15 / 27Fixed 0–100 scales
Next match load0Context index · all competitions
Next 5 · match loadOpen a match for details
17▼ 19 9 216821 -13 7 32 12–18 0% 0% 33%
League record2 W · 1 D · 6 L8 scored · 21 conceded
Attack / Defence15 / 20Fixed 0–100 scales
Next match load0Context index · all competitions
Next 5 · match loadOpen a match for details
18– 20 9 027515 -10 2 28 13–18 0% 0% 55%
League record0 W · 2 D · 7 L5 scored · 15 conceded
Attack / Defence21 / 24Fixed 0–100 scales
Next match load0Context index · all competitions
Next 5 · match loadOpen a match for details
80% finish rangeMedian finishCompare positions →Ordered by current league position▲ Up · ▼ Down · – Unchanged · Since the start of the latest played matchweek
- Champions League (Group Stage)- Champions League (3rd Qualif. round)- Europa League (2nd Qualif. round)- Europa Conference League (2nd Qualif. round)- Relegation play-offs- Relegation to Liga Portugal 2

Projected points and positions from 5,000 season simulations. Relegation means the bottom 2 (play-offs not modelled). Updated 1 hour ago. Pure football forecast, no betting market input.

League position comparison

Actual standings by matchweek · Primeira Liga

All 18 clubs · MW 9

ClubPosition · MW 9

First place is at the top. All clubs share the same matchweek cutoffs; partial rounds are marked. Postponed results enter later snapshots.

View position data for all clubs
League positions by matchweek
MWFC PortoBenficaSporting CPSanta ClaraAroucaAcademico ViseuGIL VicenteAlvercaSC BragaMoreirenseFamalicaoEstrelaGuimaraesMaritimoNacionalCasa PiaRio AveEstoril
1161211253181081471649151713
2 · Partial246711181310151291635181714
3 · Partial172451261513161411938181017
4152431561691114812710181317
5123451071681314612911181517
6123458912711136141015181617
7123457910612138141115171618
8123457689121310151116171418
9123456789101112131415161718