xgEdge

Friday, 04/09/2026 at 20:00

Full time
Match report · Eredivisie

Sparta Rotterdam 2:2 PEC Zwolle

Sparta Rotterdam Home 2.23 xG · 21 shots
PEC Zwolle Away 1.07 xG · 15 shots
22 Sparta Rotterdam had the better chances, but it finished level

Sparta Rotterdam were the model's likeliest winner before kick-off at 42%. It finished 2–2. The biggest difference was Sparta Rotterdam's attack: 2.23 xG against 1.63 projected (+0.60). PEC Zwolle produced 1.07 xG against 1.35 projected (−0.28).

Goals

  1. 21' Ibrahim Cissoko PEC Zwolle · 0.07 xG chance 0–1
  2. 24' Milan Zonneveld Sparta Rotterdam · 0.11 xG chance 1–1
  3. 69' Isaac Babadi Sparta Rotterdam · 0.23 xG chance 2–1
  4. 80' Koen Kostons PEC Zwolle · 0.03 xG chance 2–2

The model against the result

priced before kick-off
Sparta Rotterdam
42%
Draw
28% What happened
PEC Zwolle
29%

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

Projected vs produced

Expected goals
Sparta Rotterdam The model projected 1.63 Produced 2.23 Difference +0.60
PEC Zwolle The model projected 1.35 Produced 1.07 Difference -0.28

Sparta Rotterdam produced 0.60 xG more than projected

Projected before kick-off Produced on the night

The shots behind it

Sparta Rotterdam PEC Zwolle
Shots
21
15
On target
8
6
Inside the box
15
10
xG per shot
0.11
0.07
Open play xG
1.79
0.77
Set-piece xG
0.50
0.32
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.23 for Sparta Rotterdam and 1.07 for PEC Zwolle.

Shot map

Both teams shown attacking the same goal for comparison.

Sparta Rotterdam · Milan Zonneveld · 60' · No goal · 5 m · 0.36 xG PEC Zwolle · Tobias Sommer · 55' · No goal · 7 m · 0.29 xG Sparta Rotterdam · Marvin Young · 51' · No goal · 7 m · 0.25 xG Sparta Rotterdam · Lushendry Edward Martes · 61' · No goal · 8 m · 0.25 xG Sparta Rotterdam · Isaac Babadi · 69' · Goal · 10 m · 0.23 xG PEC Zwolle · Dylan Mbayo · 41' · No goal · 4 m · 0.15 xG Sparta Rotterdam · Milan Zonneveld · 73' · No goal · 12 m · 0.15 xG Sparta Rotterdam · Milan Zonneveld · 15' · No goal · 7 m · 0.13 xG Sparta Rotterdam · Casper Terho · 62' · No goal · 13 m · 0.13 xG Sparta Rotterdam · Andrej Kostić · 89' · No goal · 7 m · 0.12 xG PEC Zwolle · Simon Graves · 2' · No goal · 8 m · 0.11 xG Sparta Rotterdam · Milan Zonneveld · 24' · Goal · 7 m · 0.11 xG Sparta Rotterdam · Shunsuke Mito · 17' · No goal · 11 m · 0.10 xG Sparta Rotterdam · Milan Zonneveld · 54' · No goal · 3 m · 0.09 xG PEC Zwolle · Nick Viergever · 59' · No goal · 7 m · 0.08 xG PEC Zwolle · Ibrahim Cissoko · 21' · Goal · 20 m · 0.07 xG Sparta Rotterdam · Shunsuke Mito · 39' · No goal · 19 m · 0.07 xG PEC Zwolle · Simon Graves · 1' · No goal · 16 m · 0.06 xG PEC Zwolle · Ibrahim Cissoko · 19' · No goal · 6 m · 0.06 xG PEC Zwolle · Dylan Mbayo · 40' · No goal · 5 m · 0.05 xG Sparta Rotterdam · Shunsuke Mito · 53' · No goal · 18 m · 0.05 xG Sparta Rotterdam · Shunsuke Mito · 66' · No goal · 15 m · 0.05 xG PEC Zwolle · Koen Kostons · 7' · No goal · 6 m · 0.04 xG PEC Zwolle · Dylan Mbayo · 49' · No goal · 15 m · 0.04 xG Sparta Rotterdam · Mitchell Van Bergen · 51' · No goal · 11 m · 0.04 xG Sparta Rotterdam · Casper Terho · 56' · No goal · 23 m · 0.04 xG PEC Zwolle · Ryan Thomas · 35' · No goal · 22 m · 0.03 xG Sparta Rotterdam · Shunsuke Mito · 66' · No goal · 22 m · 0.03 xG Sparta Rotterdam · Mitchell Van Bergen · 71' · No goal · 20 m · 0.03 xG PEC Zwolle · Damian van der Haar · 76' · No goal · 25 m · 0.03 xG PEC Zwolle · Koen Kostons · 80' · Goal · 9 m · 0.03 xG PEC Zwolle · Sydney van Hooijdonk · 83' · No goal · 19 m · 0.03 xG PEC Zwolle · Thijs Oosting · 9' · No goal · 27 m · 0.02 xG Sparta Rotterdam · Mitchell Van Bergen · 25' · No goal · 16 m · 0.02 xG Sparta Rotterdam · Mitchell Van Bergen · 39' · No goal · 14 m · 0.02 xG Sparta Rotterdam · Casper Terho · 43' · No goal · 21 m · 0.02 xG

All shots

36 shots · 3.38 xG

Hover, focus or tap a shot to read it.

  • Sparta Rotterdam
  • PEC Zwolle
  • Filled = goal
  • Dot area = xG (the smallest chances drawn at a minimum size)

Recent form

Last 6 · xG per match
Sparta Rotterdam

1.48 xG created 2.16 xGA

  • L 0.86 created, 3.92 conceded against FC Twente
  • L 1.76 created, 0.95 conceded against Excelsior
  • L 1.01 created, 3.53 conceded against Feyenoord
  • W 2.55 created, 1.40 conceded against SC Telstar
  • D 1.73 created, 1.92 conceded against FC Utrecht
  • L 0.97 created, 1.21 conceded against Excelsior
PEC Zwolle

1.06 xG created 1.94 xGA

  • W 0.62 created, 1.00 conceded against Heracles Almelo
  • L 0.80 created, 3.21 conceded against Feyenoord
  • L 0.59 created, 1.97 conceded against AFC Ajax
  • L 0.80 created, 2.62 conceded against FC Twente
  • W 1.55 created, 0.85 conceded against SC Heerenveen
  • L 1.98 created, 1.98 conceded against NEC Nijmegen

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

Head to head

Sparta Rotterdam: 0 won · 1 drawn · 1 lost

Pre-match model & market record

2 opportunities flagged1 won1 lost

  • Lost
  • Won
View pre-match record
The outcomes the model flagged on Sparta Rotterdam against PEC Zwolle before kick-off, in the order they ranked, with the price, the edge and what became of each.
Selection Price Edge Result
PEC Zwolle to win 4.00 +17.3% Lost
Draw 3.70 +4.7% Won

Pre-match model vs market

Outcome Model Market Difference Fair odds
Sparta Rotterdam 42.4% 51.0% −8.6 pp 2.36
Draw 28.3% 25.5% +2.8 pp 3.54
PEC Zwolle 29.3% 23.6% +5.8 pp 3.41

Other markets

Outcome Model Market Difference Fair odds
Both teams to score 65.3% 64.5% +0.8 pp 1.53
Both teams not to score 34.7% 35.5% −0.8 pp 2.89
Over 1.5 goals 83.8% 82.8% +1.0 pp 1.19
Under 1.5 goals 16.2% 17.2% −1.0 pp 6.17
Over 2.5 goals 59.2% 61.0% −1.9 pp 1.69
Under 2.5 goals 40.8% 39.0% +1.9 pp 2.45

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)
Sparta Rotterdam sample
20 matches
PEC Zwolle sample
20 matches
Computed
5 hours before kick-off
Prices taken
5 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.