Porto
Primeira Liga · 9 seasons
| Season | Matches played. | Goals scored (actual). | Expected goals for: goals our model (TrueGoals) says this team's performances typically produce. | Expected goals against: same, for goals conceded. | Expected goal difference (xGF minus xGA). | Actual league points. | Expected points: points the team “should” have won based on xG, via match simulation. | Actual points minus expected points. Positive = over-performing its underlying numbers (may regress); negative = under-performing. |
|---|---|---|---|---|---|---|---|---|
| 2025/26 | 34 | 66 | 53.5 | 21.2 | +32.3 | 88 | 68.0 | +20.0 |
| 2024/25 | 34 | 65 | 54.7 | 25.7 | +29.0 | 71 | 63.4 | +7.6 |
| 2023/24 | 34 | 63 | 50.0 | 20.9 | +29.0 | 72 | 66.9 | +5.1 |
| 2022/23 | 34 | 73 | 54.9 | 20.9 | +34.0 | 85 | 67.8 | +17.2 |
| 2021/22 | 34 | 86 | 62.6 | 20.8 | +41.8 | 91 | 72.9 | +18.1 |
| 2020/21 | 34 | 74 | 55.2 | 24.7 | +30.5 | 80 | 66.8 | +13.2 |
| 2019/20 | 34 | 74 | 54.5 | 21.7 | +32.8 | 82 | 67.9 | +14.1 |
| 2018/19 | 34 | 74 | 55.8 | 19.6 | +36.2 | 85 | 69.8 | +15.2 |
| 2017/18 | 34 | 82 | 65.9 | 21.7 | +44.2 | 88 | 73.4 | +14.6 |
| 2025/26 | 17 | 33 | 28.0 | 9.4 | +18.7 | 45 | 35.1 | +9.9 |
| 2024/25 | 17 | 39 | 32.3 | 11.3 | +21.0 | 42 | 35.5 | +6.5 |
| 2023/24 | 17 | 35 | 29.6 | 9.3 | +20.2 | 37 | 36.8 | +0.2 |
| 2022/23 | 17 | 44 | 30.5 | 9.4 | +21.1 | 45 | 36.3 | +8.7 |
| 2021/22 | 17 | 50 | 35.4 | 8.4 | +27.0 | 47 | 39.9 | +7.1 |
| 2020/21 | 17 | 40 | 30.8 | 10.0 | +20.9 | 42 | 37.3 | +4.7 |
| 2019/20 | 17 | 44 | 31.9 | 9.4 | +22.5 | 46 | 37.4 | +8.6 |
| 2018/19 | 17 | 41 | 33.2 | 8.6 | +24.7 | 45 | 38.7 | +6.3 |
| 2017/18 | 17 | 52 | 36.5 | 11.1 | +25.5 | 49 | 38.6 | +10.4 |
| 2025/26 | 17 | 33 | 25.4 | 11.8 | +13.6 | 43 | 32.9 | +10.1 |
| 2024/25 | 17 | 26 | 22.4 | 14.3 | +8.1 | 29 | 27.9 | +1.1 |
| 2023/24 | 17 | 28 | 20.4 | 11.6 | +8.8 | 35 | 30.1 | +4.9 |
| 2022/23 | 17 | 29 | 24.5 | 11.5 | +13.0 | 40 | 31.5 | +8.5 |
| 2021/22 | 17 | 36 | 27.2 | 12.4 | +14.8 | 44 | 33.1 | +10.9 |
| 2020/21 | 17 | 34 | 24.3 | 14.7 | +9.6 | 38 | 29.5 | +8.5 |
| 2019/20 | 17 | 30 | 22.7 | 12.3 | +10.3 | 36 | 30.5 | +5.5 |
| 2018/19 | 17 | 33 | 22.6 | 11.1 | +11.5 | 40 | 31.0 | +9.0 |
| 2017/18 | 17 | 30 | 29.4 | 10.7 | +18.7 | 39 | 34.8 | +4.2 |
Recent form
- 2025/26
- Wvs Santa Clara1–016 May 2026xG 1.6–0.0
- L@ AVS1–310 May 2026xG 1.0–1.5
- Wvs Alverca1–02 May 2026xG 1.0–0.9
- W@ Estrela2–126 Apr 2026xG 1.1–0.9
- Wvs Tondela2–019 Apr 2026xG 2.3–0.8
- W@ Estoril3–112 Apr 2026xG 1.4–0.9
- Dvs Famalicao2–24 Apr 2026xG 1.2–1.7
- W@ Sp Braga2–122 Mar 2026xG 0.7–0.4
- Wvs Moreirense3–015 Mar 2026xG 3.1–0.5
- D@ Benfica2–28 Mar 2026xG 1.7–1.2
First half / second half
Half-time position → full-time result (2025/26)
- Led at HT2018W 2D 0Lleads held 90%
- Level at HT1210W 2D 0L
- Behind at HT20W 0D 2Lcomeback rate —
| Season | Pld | Goals scored in the first half. | Goals scored in the second half (full-time minus half-time). | Goals conceded in the first half. | Goals conceded in the second half. | Share of the team's goals scored in the second half. Shown only when there are enough goals to be meaningful. | Comebacks: matches the team was trailing at half-time but ended up winning or drawing. | Leads lost: matches the team was leading at half-time but ended up drawing or losing. |
|---|---|---|---|---|---|---|---|---|
| 2025/26 | 34 | 29 | 37 | 4 | 14 | 56% | 0 | 2 |
| 2024/25 | 34 | 25 | 40 | 15 | 15 | 62% | 4 | 0 |
| 2023/24 | 34 | 27 | 36 | 13 | 14 | 57% | 2 | 1 |
| 2022/23 | 34 | 38 | 35 | 11 | 11 | 48% | 2 | 1 |
| 2021/22 | 34 | 40 | 46 | 14 | 8 | 53% | 3 | 0 |
| 2020/21 | 34 | 32 | 42 | 17 | 12 | 57% | 3 | 2 |
| 2019/20 | 34 | 33 | 41 | 10 | 12 | 55% | 1 | 1 |
| 2018/19 | 34 | 36 | 38 | 7 | 13 | 51% | 0 | 2 |
| 2017/18 | 34 | 40 | 42 | 11 | 7 | 51% | 2 | 1 |
| 2016/17 | 34 | 29 | 42 | 11 | 8 | 59% | 3 | 2 |
| 2015/16 | 34 | 31 | 36 | 15 | 15 | 54% | 1 | 1 |
| 2014/15 | 34 | 32 | 42 | 5 | 8 | 57% | 1 | 2 |
| 2013/14 | 30 | 24 | 33 | 12 | 13 | 58% | 1 | 1 |
| 2012/13 | 30 | 29 | 41 | 10 | 4 | 59% | 2 | 1 |
| 2011/12 | 30 | 24 | 45 | 7 | 12 | 65% | 1 | 1 |
| 2010/11 | 30 | 36 | 37 | 5 | 11 | 51% | 2 | 2 |
| 2009/10 | 30 | 29 | 41 | 13 | 13 | 59% | 3 | 0 |
| 2008/09 | 30 | 22 | 39 | 9 | 9 | 64% | 3 | 2 |
| 2007/08 | 26 | 21 | 30 | 4 | 7 | 59% | 1 | 2 |
| 2006/07 | 30 | 29 | 36 | 6 | 14 | 55% | 3 | 1 |
| 2005/06 | 34 | 22 | 32 | 6 | 10 | 59% | 1 | 1 |
| 2004/05 | 34 | 19 | 20 | 12 | 14 | 51% | 4 | 3 |
| 2003/04 | 33 | 30 | 31 | 8 | 10 | 51% | 0 | 3 |
| 2002/03 | 11 | 13 | 9 | 5 | 4 | 41% | 1 | 2 |
| 2001/02 | 34 | 27 | 39 | 16 | 18 | 59% | 3 | 1 |
| 2000/01 | 34 | 34 | 39 | 11 | 16 | 53% | 1 | 1 |
Home advantage
Home edge (PPG) by season — home vs away results, descriptive.
This season (2025/26)
- Home1714W 3D 0L2.65 PPG
- Away1714W 1D 2L2.53 PPG
| Season | HP | Home win percentage. | Home points per game (3 for a win, 1 for a draw). | Away points per game. | Home edge: home points per game minus away points per game — the size of the team's home advantage. Caveated when either home or away matches are few. | Home goal difference per game. | Away goal difference per game. |
|---|---|---|---|---|---|---|---|
| 2025/26 | 17 | 82% | 2.65 | 2.53 | +0.12 | +1.59 | +1.24 |
| 2024/25 | 17 | 76% | 2.47 | 1.71 | +0.76 | +1.65 | +0.41 |
| 2023/24 | 17 | 65% | 2.18 | 2.06 | +0.12 | +1.29 | +0.82 |
| 2022/23 | 17 | 88% | 2.65 | 2.35 | +0.29 | +1.94 | +1.06 |
| 2021/22 | 17 | 88% | 2.76 | 2.59 | +0.18 | +2.29 | +1.47 |
| 2020/21 | 17 | 76% | 2.47 | 2.24 | +0.24 | +1.47 | +1.18 |
| 2019/20 | 17 | 88% | 2.71 | 2.12 | +0.59 | +2.18 | +0.88 |
| 2018/19 | 17 | 88% | 2.65 | 2.35 | +0.29 | +1.88 | +1.29 |
| 2017/18 | 17 | 94% | 2.88 | 2.29 | +0.59 | +2.47 | +1.29 |
| 2016/17 | 17 | 82% | 2.65 | 1.82 | +0.82 | +2.06 | +1.00 |
| 2015/16 | 17 | 71% | 2.24 | 2.06 | +0.18 | +1.29 | +0.88 |
| 2014/15 | 17 | 88% | 2.71 | 2.12 | +0.59 | +2.24 | +1.35 |
| 2013/14 | 15 | 87% | 2.67 | 1.40 | +1.27 | +1.93 | +0.20 |
| 2012/13 | 15 | 93% | 2.87 | 2.33 | +0.53 | +2.20 | +1.53 |
| 2011/12 | 15 | 87% | 2.73 | 2.27 | +0.47 | +2.20 | +1.13 |
| 2010/11 | 15 | 93% | 2.87 | 2.73 | +0.13 | +2.13 | +1.67 |
| 2009/10 | 15 | 80% | 2.60 | 1.93 | +0.67 | +1.80 | +1.13 |
| 2008/09 | 15 | 60% | 2.13 | 2.53 | -0.40 | +1.07 | +1.80 |
| 2007/08 | 12 | 83% | 2.58 | 2.50 | +0.08 | +1.67 | +1.43 |
| 2006/07 | 15 | 87% | 2.60 | 2.00 | +0.60 | +1.93 | +1.07 |
| 2005/06 | 17 | 76% | 2.47 | 2.18 | +0.29 | +1.47 | +0.76 |
| 2004/05 | 17 | 41% | 1.59 | 2.06 | -0.47 | +0.24 | +0.53 |
| 2003/04 | 16 | 100% | 3.00 | 1.82 | +1.18 | +2.00 | +0.65 |
| 2002/03 | 6 | 83% | 2.67 | 2.20 | +0.47 | +1.50 | +0.80 |
| 2001/02 | 17 | 71% | 2.29 | 1.71 | +0.59 | +1.29 | +0.59 |
| 2000/01 | 17 | 88% | 2.76 | 1.71 | +1.06 | +2.18 | +0.53 |
Corners
Corners per game by season — actual counts, shown where available.
This season (2025/26)
- Home1796 for / 50 against5.6 CF/g
- Away1796 for / 51 against5.6 CF/g
| Season | Pld | Corners won (total). | Corners conceded (total). | Corners won per game. | Corners conceded per game. | Home corners won per game. | Away corners won per game. |
|---|---|---|---|---|---|---|---|
| 2025/26 | 34 | 192 | 101 | 5.6 | 3.0 | 5.6 | 5.6 |
| 2024/25 | 34 | 186 | 113 | 5.5 | 3.3 | 6.3 | 4.6 |
| 2023/24 | 34 | 259 | 123 | 7.6 | 3.6 | 8.6 | 6.6 |
| 2022/23 | 34 | 198 | 122 | 5.8 | 3.6 | 6.0 | 5.6 |
| 2021/22 | 34 | 221 | 105 | 6.5 | 3.1 | 6.9 | 6.1 |
| 2020/21 | 34 | 200 | 110 | 5.9 | 3.2 | 6.4 | 5.4 |
| 2019/20 | 34 | 206 | 104 | 6.1 | 3.1 | 6.4 | 5.7 |
| 2018/19 | 34 | 233 | 108 | 6.9 | 3.2 | 7.6 | 6.1 |
| 2017/18 | 34 | 234 | 118 | 6.9 | 3.5 | 7.6 | 6.2 |