FC Porto

1st · Primeira Liga · 24 points · Matches played: 8

League leaders · Table & Fixtures →

L90 Strength L90 Strength is LOAD90’s own club strength rating on a fixed 0–100 scale, built from its Elo rating. League Strength uses the mean Elo of a league's clubs and a separate league calibration, so the two scores are not directly comparable.

-1.9 is current form. We look at the goals the team scores and concedes and at the quality of its chances (expected goals, xG) over recent matches. If attack and defence are playing above what the Elo rating predicts, L90 Strength goes up for the forecast; if below, it goes down.

Base L90 Strength changed +1.2 over the last 5 matches; that is already inside the number.
79.9-1.9
World Rank 15th Global, by Elo
Primeira Liga Rank 3rd L90 Strength

Compare clubs

Choose a second club to explore what separates them.

Our take

A top side, and in form.

FC Porto build on a top-three attack and back it with a top-three defence. Across the 8 league matches with forecasts, they have collected around 7 more points than our pre-match forecasts predicted. The toughest of the next 5 matches is the visit of Napoli.

They are among the busiest attacks in the league, with 16 shots a game. They are clinical in front of goal (15% of shots scored). They have won every league game so far, home and away.

  • Title 51% · Top 4 >99%Likely 1st · 81 projected points
  • Next 5: about 10 of 15 points Toughest vs Napoli · , 55% to win
  • 4 out, none key3% of squad weight missing
  • 24 pts vs 17.4 expected+6.6 vs pre-match expectations · 8 matches with forecasts

Key insights

Automatic descriptive highlights for FC Porto. Each metric is ordered within its own type; types alternate to keep the selection varied. Up to six distinct signals for this club in each category.

Result statistics require at least five known completed matches. They use the last ten recorded results across all competitions, or the last eight away results. Future, special and invalid results are excluded; missing results can interrupt real-world sequences, so streaks refer to recorded results. 10+ means at least ten within the window.

Bars run oldest to newest. Height shows goals scored, or goals conceded in conceding cards, on the same 0–6 scale. Six or more goals use maximum height; zero retains a small marker. Colour shows the result: teal = win, amber = draw, red = loss. In event and streak cards, solid bars mark the event and faded bars mark its absence. Hover for the date, full score and event. xG and points cards compare their two inputs, not a fabricated history.

xG Difference uses observed Playing style averages; window size is not xG coverage and the two metrics can have different denominators. Points minus xPts uses the same covered current-league matches and stored forecasts as Club strength, including labelled historical reconstructions.

Headlines insights

All qualifying highlights · metric types alternate, not a combined ranking

Attack insights

All qualifying highlights · metric types alternate, not a combined ranking

Defence insights

All qualifying highlights · metric types alternate, not a combined ranking

Streaks

Not enough recorded data for this category yet.

The full picture, with the evidence behind every signal.View all Club insights →

Season

League position and season results.

Overview

2026-2027
UEFA Champions League · League phaseView table →
Position
30th/ 36
Points
00.00 PPG
Played
2
League gap
6pts behind leader
0.0%Win %
Wins0
Draws0
Losses2

Expected metrics · 2 of 2 matches covered

Goals For
21.00 / game
xG 1.09 0.91 more goals than expected. vs 2 goals
Goals Against
52.50 / game
xGA 4.00 1.00 more conceded than expected. vs 5 conceded
Goal Difference
-3-1.50 / game
xGD -2.91 Goal difference is 0.09 lower than expected. vs -3 GD
Clean Sheets
00% of games

League phase standings

UEFA Champions League · 2026-2027

Full standings →

Swipe to explore the league table →

Full UEFA Champions League table, FC Porto highlighted
#ClubRatingPWDLGDPtsForm
1– Paris Saint Germain 90 2200 +7 6
2▲ Aston Villa 84 2200 +7 6
3– Barcelona 93 2200 +7 6
4▲ VfB Stuttgart 68 2200 +5 6
5▲ Liverpool 84 2200 +4 6
6– Sporting CP 84 2200 +4 6
7▲ Arsenal 94 2200 +4 6
8▲ Real Betis 72 2200 +2 6
9▲ Real Madrid 89 2200 +2 6
10▼ Bayern München 94 2110 +5 4
11▲ Shakhtar Donetsk 58 2110 +2 4
12▼ Como 67 2101 +2 3
13▼ Manchester United 79 2101 +2 3
14▲ Villarreal 67 2101 +1 3
15▲ Atletico Madrid 81 2101 +1 3
16▲ Club Brugge KV 76 2101 +0 3
17▼ Manchester City 91 2101 +0 3
18▼ Borussia Dortmund 81 2101 +0 3
19▼ Lens 58 2101 -1 3
20▼ AEK Athens FC 53 2101 -1 3
21▲ RB Leipzig 68 2101 -2 3
22▲ Sabah FA 26 2101 -2 3
23▲ Feyenoord 61 2101 -3 3
24▲ Bodo/Glimt 60 2101 -4 3
25▼ AS Roma 74 2011 -1 1
26▼ PSV Eindhoven 74 2011 -1 1
27▲ Viking 16 2011 -2 1
28▼ Fenerbahce 64 2011 -6 1
29▼ Inter 84 2002 -2 0
30▲ FC Porto 80 2002 -3 0
31▼ Slavia Praha 40 2002 -3 0
32▼ Napoli 63 2002 -3 0
33▼ Lask Linz 39 2002 -4 0
34▼ Lille 56 2002 -4 0
35▼ Galatasaray 64 2002 -5 0
36▼ Slovan Bratislava 20 2002 -8 0

36 clubs · ▲ Up · ▼ Down · – Unchanged · Since the start of the latest played matchday.

League position over time

Position by matchday

Higher is better. One point per matchday; partial rounds are marked. Postponed games count when played. Hover, tap or focus a point for details.

View position history
FC Porto league position by matchweek
MDResults through (UTC)PositionPtsP
110 Sep 20263101
214 Oct 20263002

Squad 33 players · this season, all competitions · 2 out

Top scorer
Gabri Veiga5 goals (1 pen)
Most assists
Pepê5 assists
Best rated
Gabri Veiga7.41 avg rating
Most minutes
Diogo Costa900 min
Key to the model
Diogo CostaStarter · weight 1.93

Stats are this season in all competitions. Model role is how much the availability model weighs each player before the game with PSV Eindhoven: core, starter, rotation or depth, from several seasons of minutes and ratings.

Performance

Strength, recent form and playing style.

Strength Primeira Liga · 18 clubs

L90 Strength3rd of 18
80 Elo 1853 · World #15
Current Strength
80 With absences before 20 Oct: -3 Elo
Attack3rd of 18
74 Scores 1.98 per match against an average top-five side
Defence3rd of 18
79 Concedes 1.12 per match against an average top-five side

In forecast League average

L90 Strength comes from Elo; Attack and Defence from goals scored and conceded, expected goals (xG) and shots on target, all on fixed 0–100 scales shared by every league. These are the numbers the forecast uses.

Strong at both ends Defence first Attack first Struggling Attack → Defence → FC Porto: attack 74, defence 79, L90 Strength 80 Benfica: attack 81, defence 81, L90 Strength 82 Sporting CP: attack 75, defence 81, L90 Strength 84 Santa Clara: attack 29, defence 53, L90 Strength 34 Arouca: attack 28, defence 37, L90 Strength 34 GIL Vicente: attack 32, defence 50, L90 Strength 34 Academico Viseu: attack 28, defence 31, L90 Strength 32 Alverca: attack 38, defence 42, L90 Strength 30 SC Braga: attack 41, defence 59, L90 Strength 56 Estrela: attack 24, defence 27, L90 Strength 20 Maritimo: attack 15, defence 20, L90 Strength 16 Moreirense: attack 17, defence 27, L90 Strength 25 Famalicao: attack 24, defence 36, L90 Strength 38 Rio Ave: attack 18, defence 21, L90 Strength 21 Guimaraes: attack 28, defence 39, L90 Strength 27 Nacional: attack 15, defence 13, L90 Strength 17 Casa Pia: attack 13, defence 25, L90 Strength 18 Estoril: attack 21, defence 29, L90 Strength 22
Every Primeira Liga club on the Attack and Defence scales. Dashed lines are the league average. Tap a crest to open that club.

Form last 5 for the index · last 9 listed

84
Form index · 2nd of 18 in league
Points, last 5
12
Median top-5 club
7.4
Own forecasts
10.1 +1.9
Table1st L90 Strength3rd Form2nd

Table position in line with their strength.

Form compares points with what a median top-five club (L90 Strength 50) would take from the same fixtures, so wins over strong sides count for more; 50 is a typical run. "Own forecasts" is the gap to this club's pre-match expectations. Form is context: in our tests it did not improve the forecast.

  • L14 OctA · Real Betis2–31.4 xPts
  • W10 OctA · Maritimo2–12.4 xPts
  • W20 SepH · Benfica3–11.4 xPts
  • W12 SepA · Casa Pia4–12.3 xPts
  • W4 SepH · Moreirense2–12.5 xPts
  • W29 AugA · Academico Viseu3–02.1 xPts
  • W23 AugH · Arouca2–02.2 xPts
  • W15 AugA · Rio Ave2–02.1 xPts
  • W9 AugH · Alverca2–02.3 xPts

Trends last 9, all competitions

Scored 9/9
Clean sheet 4/9
Conceded 2+ 1/9
Over 2.5 6/9
Both teams scored 5/9

Playing style vs Primeira Liga average

PORLeagueRank
Goals scored 2.50 1.37 2nd
Goals conceded 0.50 1.37 1st
xG 2.24 1.26 2nd
xG allowed 0.78 1.23 5th
Scored in 100% 73% 1st
Clean sheets 50% 28% 3rd
PORLeagueRank
Shots 16.25 12.17 3rd
Shots on target 6.50 4.15 2nd
On target share 40% 33% 3rd
Box share 71% 61% 2nd
Conversion 15% 11% 2nd
PORLeagueRank
Shots allowed 10.25 12.12 7th
On target allowed 2.75 4.11 4th
Blocks 2.75 3.19 12th
Save rate 77% 67% 3rd
PORLeagueRank
Possession 55% 50% 5th
Passes 426 426 8th
Pass accuracy 85% 83% 5th
PORLeagueRank
Fouls 13.88 12.61 14th
Fouls suffered 10.50 12.59 16th
Yellow cards 1.00 2.13 1st
Red cards 0.00 0.05 1st
This league season, per match · 8 games. Rank among 18 clubs; for conceded, allowed, fouls and cards the lowest ranks 1st.
PORLeagueRank
Goals scored 2.20 1.31 3rd
Goals conceded 0.90 1.35 3rd
xG 1.75 1.15 2nd
xG allowed 1.13 1.30 7th
Scored in 90% 71% 3rd
Clean sheets 40% 28% 3rd
PORLeagueRank
Shots 14.60 11.88 3rd
Shots on target 6.33 3.99 1st
On target share 39% 33% 3rd
Box share 72% 60% 1st
Conversion 15% 11% 2nd
PORLeagueRank
Shots allowed 11.90 12.49 10th
On target allowed 3.90 4.13 8th
Blocks 2.80 3.33 12th
Save rate 74% 69% 6th
PORLeagueRank
Possession 52% 50% 7th
Passes 416 417 8th
Pass accuracy 84% 83% 6th
PORLeagueRank
Fouls 13.60 12.49 14th
Fouls suffered 11.50 12.54 14th
Yellow cards 1.20 2.18 1st
Red cards 0.00 0.06 1st
Last 10 matches, all competitions, per match · 10 games. Rank among 18 clubs; for conceded, allowed, fouls and cards the lowest ranks 1st.

Home and away this league season

Home3.00pts per game4-0-0 · 2.2–0.5 goals · 4 games
Away3.00pts per game4-0-0 · 2.8–0.5 goals · 4 games

Goal timing this league season · 8 games

3 0-15
1 2 16-30
6 1 31-45
4 1 46-60
2 61-75
4 76-90

scored conceded, per 15 minutes

In forecastVia Att/DefContextLeague average

Possession adjusts the LOAD90 forecast directly. Goals, xG and shots on target feed the Attack and Defence ratings. The rest describes how the team plays and does not change the forecast.

Team rankings Primeira Liga · 8 games · rank of 18

Attack

GF 20 2nd / 18
GF/G 2.50 2nd / 18
xG/G 2.24 2nd / 18
G − xG +0.26 5th / 18

Defence

GA 4 1st / 18
GA/G 0.50 1st / 18
xGA/G 0.78 5th / 18
xGA − GA +0.28 3rd / 18

Overall

Pts 24 1st / 18
xPts 17.4 3rd / 18
PPG 3.00 1st / 18
TR 7.05 2nd / 18
GD +16 2nd / 18
xGD +11.7 2nd / 18
W 8 1st / 18
L 0 1st / 18

Scorelines

  • 2–0×3
  • 2–1×2
  • 3–0×1
  • 4–1×1
  • 3–1×1

Goals per game both teams

0% 0
0% 1
38% 2
38% 3
13% 4
13% 5+

Totals club · league

Over 1.5
100%75%
Over 2.5
63%56%
Over 3.5
25%36%
Both scored
50%51%
Clean sheet
50%27%
Failed to score
0%27%
ClubLeague average

This league season only. xPts adds up our pre-match win and draw chances (pure EloLambda, the same numbers as Form). xG and TR come from match data and describe the season so far; none of these rankings change the forecast directly.