xgEdge

Friday, 04/09/2026 at 21:15

Full time
Match report · Liga Portugal

FC Porto 2:1 Moreirense

FC Porto Home 2.90 xG · 23 shots
Moreirense Away 0.85 xG · 7 shots
21 The scoreline reflected the chances

FC Porto were the model's likeliest winner before kick-off at 67%. They won 2–1. The biggest difference was FC Porto's attack: 2.90 xG against 1.77 projected (+1.13). Moreirense produced 0.85 xG against 0.55 projected (+0.30).

Goals

  1. 20' Dinis Pinto Moreirense · 0.14 xG chance 0–1
  2. 37' Jan Bednarek FC Porto · 0.03 xG chance 1–1
  3. 58' William Gomes FC Porto · 0.47 xG chance 2–1

The model against the result

priced before kick-off
FC Porto
67% What happened
Draw
24%
Moreirense
8%

Data coverage Both teams have the full 20-match model window available.

Projected vs produced

Expected goals
FC Porto The model projected 1.77 Produced 2.90 Difference +1.13
Moreirense The model projected 0.55 Produced 0.85 Difference +0.30

FC Porto produced 1.13 xG more than projected

Projected before kick-off Produced on the night

The shots behind it

FC Porto Moreirense
Shots
23
7
On target
9
2
Inside the box
14
5
xG per shot
0.13
0.13
Open play xG
1.93
0.88
Set-piece xG
1.03
0.01
Penalties
—
—
Shot-level xG may differ from the published match total

The provider publishes the match total separately from its shot-by-shot values. Those values are rounded to two decimals and, leaving out penalties and own goals, add up to its non-penalty xG: 2.90 for FC Porto and 0.88 for Moreirense.

Shot map

Both teams shown attacking the same goal for comparison.

FC Porto · Alberto Costa · 51' · No goal · 2 m · 0.71 xG FC Porto · Victor Froholdt · 67' · No goal · 3 m · 0.65 xG FC Porto · William Gomes · 58' · Goal · 4 m · 0.47 xG Moreirense · Yan Maranhão · 85' · No goal · 4 m · 0.46 xG Moreirense · Dinis Pinto · 20' · Goal · 10 m · 0.14 xG FC Porto · André Silva · 69' · No goal · 3 m · 0.13 xG FC Porto · André Silva · 31' · No goal · 5 m · 0.12 xG FC Porto · Borja Sainz · 90' · No goal · 10 m · 0.10 xG FC Porto · André Silva · 33' · No goal · 7 m · 0.09 xG Moreirense · Dinis Pinto · 57' · No goal · 13 m · 0.09 xG Moreirense · Yan Maranhão · 83' · No goal · 16 m · 0.09 xG FC Porto · William Gomes · 51' · No goal · 20 m · 0.08 xG Moreirense · Dinis Pinto · 85' · No goal · 14 m · 0.08 xG FC Porto · Santiago Giménez · 90' · No goal · 10 m · 0.08 xG FC Porto · Pablo Rosario · 7' · No goal · 19 m · 0.07 xG FC Porto · Pepê · 47' · No goal · 9 m · 0.07 xG FC Porto · Gabri Veiga · 45' · No goal · 20 m · 0.05 xG FC Porto · Borja Sainz · 90' · No goal · 13 m · 0.05 xG FC Porto · Gabri Veiga · 19' · No goal · 14 m · 0.04 xG FC Porto · Santiago Giménez · 90' · No goal · 26 m · 0.04 xG FC Porto · William Gomes · 35' · No goal · 15 m · 0.03 xG FC Porto · Jan Bednarek · 37' · Goal · 11 m · 0.03 xG FC Porto · William Gomes · 42' · No goal · 19 m · 0.03 xG FC Porto · William Gomes · 50' · No goal · 23 m · 0.03 xG FC Porto · Pablo Rosario · 62' · No goal · 20 m · 0.03 xG FC Porto · Alberto Costa · 81' · No goal · 19 m · 0.03 xG FC Porto · André Silva · 56' · No goal · 11 m · 0.02 xG Moreirense · Landerson · 57' · No goal · 28 m · 0.02 xG Moreirense · Kiko · 43' · No goal · 29 m · 0.01 xG FC Porto · Gabri Veiga · 63' · No goal · 22 m · 0.01 xG

All shots

30 shots · 3.85 xG

Hover, focus or tap a shot to read it.

  • FC Porto
  • Moreirense
  • Filled = goal
  • Dot area = xG (the smallest chances drawn at a minimum size)

Recent form

Last 6 · xG per match
FC Porto

2.16 xG created 0.80 xGA

  • L 3.06 created, 0.75 conceded against AVS - Futebol SAD
  • W 0.85 created, 0.47 conceded against Santa Clara
  • W 2.59 created, 1.66 conceded against FC Alverca
  • W 1.97 created, 0.58 conceded against Rio Ave
  • W 3.00 created, 0.54 conceded against FC Arouca
  • W 1.47 created, 0.80 conceded against Académico Viseu FC
Moreirense

0.65 xG created 1.76 xGA

  • W 1.68 created, 2.75 conceded against CF Estrela Amadora
  • L 0.29 created, 1.39 conceded against Tondela
  • D 0.96 created, 2.03 conceded against AVS - Futebol SAD
  • D 0.21 created, 1.50 conceded against Sporting Braga
  • L 0.49 created, 2.14 conceded against FC Arouca
  • W 0.28 created, 0.77 conceded against Casa Pia

xG created xG conceded (xGA) W / D / L: the match result

Head to head

FC Porto: 2 won · 0 drawn · 0 lost

Pre-match model & market record

4 opportunities flagged0 won4 lost

  • Lost
  • Lost
  • Lost
  • Lost
View pre-match record
The outcomes the model flagged on FC Porto against Moreirense before kick-off, in the order they ranked, with the price, the edge and what became of each.
Selection Price Edge Result
Moreirense to win 21.00 +74.8% Lost
Draw 7.00 +70.3% Lost
Under 2.5 goals 2.30 +34.0% Lost
Under 1.5 goals 4.50 +29.3% Lost

Pre-match model vs market

Outcome Model Market Difference Fair odds
FC Porto 67.4% 82.1% −14.8 pp 1.48
Draw 24.3% 13.4% +10.9 pp 4.11
Moreirense 8.3% 4.5% +3.9 pp 12.01

Other markets

Outcome Model Market Difference Fair odds
Both teams to score 39.6% 37.5% +2.1 pp 2.52
Both teams not to score 60.4% 62.5% −2.1 pp 1.66
Over 1.5 goals 71.3% 79.2% −7.9 pp 1.40
Under 1.5 goals 28.7% 20.8% +7.9 pp 3.48
Over 2.5 goals 41.7% 59.0% −17.2 pp 2.40
Under 2.5 goals 58.3% 41.0% +17.2 pp 1.72

Prices and probabilities are the ones stored before kick-off; nothing here is recalculated. Edge is the model's probability times the price, minus one, so a flagged outcome that lost is the ordinary case rather than a contradiction.

Model details

Show
Fit window
the last 20 matches, recency weighted (a match 107 days old counts half)
FC Porto sample
20 matches
Moreirense sample
20 matches
Computed
6 hours before kick-off
Prices taken
6 hours before kick-off

Limitations

The model reads expected goals and nothing else. It does not know the lineups, who is injured or suspended, what either side has to play for, the weather, or how congested the schedule around this match is.