xgEdge

Saturday, 24/10/2026 at 13:30

Full time
Match report · Championship

Portsmouth 2:1 Millwall

Portsmouth Home 0.82 xG · 8 shots
Millwall Away 0.67 xG · 10 shots
21 The chances were evenly matched

Portsmouth were the model's likeliest winner before kick-off at 37%. They won 2–1. The biggest difference was Millwall's attack: 0.67 xG against 1.19 projected (−0.52). Portsmouth produced 0.82 xG against 1.31 projected (−0.49).

Goals

  1. 6' Jenson Metcalfe Millwall · 0.19 xG chance 0–1
  2. 16' Lyndon Dykes (o.g.) Portsmouth 1–1
  3. 82' Thomas Waddingham Portsmouth · 0.19 xG chance 2–1

The model against the result

priced before kick-off
Portsmouth
37% What happened
Draw
32%
Millwall
31%

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

Projected vs produced

Expected goals
Portsmouth The model projected 1.31 Produced 0.82 Difference -0.49
Millwall The model projected 1.19 Produced 0.67 Difference -0.52

Millwall produced 0.52 xG less than projected

Projected before kick-off Produced on the night

The shots behind it

Portsmouth Millwall
Shots
8
10
On target
2
1
Inside the box
5
5
xG per shot
0.10
0.07
Open play xG
0.63
0.61
Set-piece xG
0.20
0.07
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: 0.82 for Portsmouth and 0.68 for Millwall.

Shot map

Both teams shown attacking the same goal for comparison.

Portsmouth · Marko Milovanović · 19' · No goal · 4 m · 0.30 xG Millwall · Jenson Metcalfe · 6' · Goal · 20 m · 0.19 xG Portsmouth · Thomas Waddingham · 82' · Goal · 9 m · 0.19 xG Millwall · Kyrell Lisbie · 59' · No goal · 13 m · 0.14 xG Portsmouth · Tyrese Shade · 82' · No goal · 14 m · 0.10 xG Millwall · Camiel Neghli · 6' · No goal · 35 m · 0.09 xG Millwall · Kyrell Lisbie · 60' · No goal · 13 m · 0.09 xG Portsmouth · Terry Devlin · 36' · No goal · 2 m · 0.08 xG Portsmouth · Marlon Pack · 45' · No goal · 25 m · 0.07 xG Portsmouth · Regan Poole · 73' · No goal · 9 m · 0.05 xG Millwall · Kyrell Lisbie · 47' · No goal · 13 m · 0.05 xG Millwall · Camiel Neghli · 61' · No goal · 16 m · 0.05 xG Millwall · Jenson Metcalfe · 60' · No goal · 24 m · 0.04 xG Portsmouth · Tyrese Shade · 70' · No goal · 21 m · 0.03 xG Millwall · Lyndon Dykes · 24' · No goal · 20 m · 0.02 xG Millwall · Camiel Neghli · 82' · No goal · 25 m · 0.02 xG Millwall · Jake Cooper · 29' · No goal · 10 m · 0.01 xG Portsmouth · Lyndon Dykes · 16' · Goal · 2 m · 0.00 xG

All shots

18 shots · 1.51 xG

Hover or tap a shot, or step through them with the arrows.

  • Portsmouth
  • Millwall
  • Filled = goal
  • Dot area = xG (the smallest chances drawn at a minimum size)

Recent form

Last 6 · xG per match
Portsmouth

1.21 xG created 1.00 xGA

  • D 0.40 created, 0.82 conceded against Charlton Athletic
  • D 1.60 created, 0.59 conceded against Blackburn Rovers
  • L 1.18 created, 1.28 conceded against Southampton
  • W 2.22 created, 2.01 conceded against Sheffield United
  • W 1.19 created, 0.29 conceded against Norwich City
  • D 0.65 created, 1.01 conceded against Wolverhampton
Millwall

1.67 xG created 1.31 xGA

  • L 1.67 created, 1.23 conceded against Blackburn Rovers
  • D 1.69 created, 1.52 conceded against Middlesbrough
  • D 2.68 created, 1.87 conceded against West Ham United
  • W 1.09 created, 0.65 conceded against Preston North End
  • L 1.05 created, 1.83 conceded against Swansea City
  • D 1.84 created, 0.73 conceded against Lincoln City

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

Head to head

Portsmouth: 2 won · 0 drawn · 0 lost

Pre-match model & market record

1 qualified edge flagged0 won1 lost

  • Lost
View pre-match record
The outcomes the model flagged on Portsmouth against Millwall before kick-off, in the order they ranked, with the price, the edge and what became of each.
Selection Price Edge Result
Draw 3.25 +2.7% Lost

Pre-match model vs market

Outcome Model Market Difference Fair odds
Portsmouth 37.1% 39.2% −2.1 pp 2.69
Draw 31.6% 28.7% +2.9 pp 3.16
Millwall 31.3% 32.1% −0.8 pp 3.20

Other markets

Outcome Model Market Difference Fair odds
Portsmouth to score 75.7% 73.1% +2.6 pp 1.32
Portsmouth not to score 24.3% 26.9% −2.6 pp 4.12
Millwall to score 72.6% 72.3% +0.2 pp 1.38
Millwall not to score 27.4% 27.7% −0.2 pp 3.65
Both teams to score 56.8% 53.7% +3.2 pp 1.76
Both teams not to score 43.2% 46.3% −3.2 pp 2.32
Portsmouth 2+ goals 38.5% 39.2% −0.7 pp 2.60
Portsmouth at most 1 goal 61.5% 60.8% +0.7 pp 1.63
Millwall 2+ goals 34.1% 37.5% −3.4 pp 2.94
Millwall at most 1 goal 65.9% 62.5% +3.4 pp 1.52
Over 1.5 goals 75.7% 72.9% +2.7 pp 1.32
Under 1.5 goals 24.3% 27.1% −2.7 pp 4.11
Over 2.5 goals 46.8% 47.4% −0.6 pp 2.14
Under 2.5 goals 53.2% 52.6% +0.6 pp 1.88

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)
Portsmouth sample
20 matches
Millwall sample
20 matches
Computed
59 minutes before kick-off
Prices taken
1 hour 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.