xgEdge

Saturday, 29/08/2026 at 18:30

Full time
Match report · Serie A

Monza 2:3 Udinese

Monza Home 1.70 xG · 14 shots
Udinese Away 0.98 xG · 12 shots
23 The result went against the chances

Monza were the model's likeliest winner before kick-off at 46%. Udinese won 3–2. Both teams produced xG close to their pre-match projections.

Goals

  1. 32' Jakub Piotrowski Udinese · 0.19 xG chance 0–1
  2. 37' Andrea Colpani Monza · 0.24 xG chance 1–1
  3. 45' Hassane Kamara Udinese · 0.01 xG chance – Scored in the same minute as another goal, so the score after it is not shown.
  4. 45' Jürgen Ekkelenkamp Udinese · 0.04 xG chance – Scored in the same minute as another goal, so the score after it is not shown.
  5. 63' Gustavo Varela Monza · 0.20 xG chance 2–3

The model against the result

priced before kick-off
Monza
46%
Draw
31%
Udinese
23% What happened

Data coverage One of these teams has only 1 match in the model window, short of the 10 the model wants. Read the projection as a direction rather than as a number.

Projected vs produced

Expected goals
Monza The model projected 1.47 Produced 1.70 Difference +0.23
Udinese The model projected 1.01 Produced 0.98 Difference -0.03

Projected before kick-off Produced on the night

The shots behind it

Monza Udinese
Shots
14
12
On target
5
5
Inside the box
11
10
xG per shot
0.12
0.07
Open play xG
1.53
0.71
Set-piece xG
0.14
0.18
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: 1.64 for Monza and 0.89 for Udinese.

Shot map

Both teams shown attacking the same goal for comparison.

Monza · Patrick Cutrone · 27' · No goal · 4 m · 0.38 xG Monza · Andrea Carboni · 28' · No goal · 4 m · 0.31 xG Monza · Andrea Colpani · 37' · Goal · 9 m · 0.24 xG Monza · Gustavo Varela · 63' · Goal · 8 m · 0.20 xG Udinese · Jakub Piotrowski · 32' · Goal · 10 m · 0.19 xG Monza · Andrea Colpani · 12' · No goal · 12 m · 0.14 xG Udinese · Jakub Piotrowski · 45' · No goal · 6 m · 0.13 xG Udinese · Jürgen Ekkelenkamp · 58' · No goal · 13 m · 0.11 xG Monza · Andrea Carboni · 71' · No goal · 7 m · 0.11 xG Udinese · Unai Gómez · 48' · No goal · 15 m · 0.10 xG Udinese · Jürgen Ekkelenkamp · 32' · No goal · 16 m · 0.08 xG Monza · Gustavo Varela · 60' · No goal · 22 m · 0.08 xG Udinese · Jakub Piotrowski · 29' · No goal · 9 m · 0.06 xG Udinese · Idrissa Gueye · 68' · No goal · 15 m · 0.06 xG Monza · Manga Foe Ondoa · 8' · No goal · 14 m · 0.05 xG Udinese · Unai Gómez · 44' · No goal · 16 m · 0.05 xG Udinese · Keinan Davis · 54' · No goal · 10 m · 0.05 xG Monza · Michael Folorunsho · 90' · No goal · 10 m · 0.05 xG Monza · Samuele Birindelli · 28' · No goal · 5 m · 0.04 xG Udinese · Jürgen Ekkelenkamp · 45' · Goal · 18 m · 0.04 xG Monza · Gustavo Varela · 20' · No goal · 24 m · 0.02 xG Monza · Dany Mota · 87' · No goal · 1 m · 0.02 xG Monza · Michael Folorunsho · 90' · No goal · 25 m · 0.02 xG Monza · Manga Foe Ondoa · 6' · No goal · 30 m · 0.01 xG Udinese · Keinan Davis · 9' · No goal · 10 m · 0.01 xG Udinese · Hassane Kamara · 45' · Goal · 30 m · 0.01 xG

All shots

26 shots · 2.56 xG

Hover, focus or tap a shot to read it.

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

Recent form

Last 6 · xG per match
Monza

1.23 xG created 1.05 xGA

  • L 1.23 created, 1.05 conceded against Inter
Udinese

1.54 xG created 1.41 xGA

  • D 1.93 created, 2.46 conceded against Lazio
  • W 2.00 created, 0.83 conceded against Torino
  • W 2.47 created, 1.47 conceded against Cagliari
  • L 0.35 created, 0.45 conceded against Cremonese
  • L 0.37 created, 1.76 conceded against Napoli
  • D 2.14 created, 1.50 conceded against Como

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

Pre-match model & market record

8 opportunities flagged5 won3 lost

  • Lost
  • Won
  • Won
  • Lost
  • Lost
  • Won
  • Won
  • Won
View pre-match record
The outcomes the model flagged on Monza against Udinese before kick-off, in the order they ranked, with the price, the edge and what became of each.
Selection Price Edge Result
Monza to win 3.00 +38.8% Lost
Monza 2+ goals 3.00 +33.7% Won
Monza to score 1.40 +11.5% Won
Udinese at most 1 goal 1.50 +9.7% Lost
Udinese not to score 3.25 +8.8% Lost
Both teams to score 1.95 +6.9% Won
Over 1.5 goals 1.40 +5.2% Won
Over 2.5 goals 2.20 +1.7% Won

Pre-match model vs market

Outcome Model Market Difference Fair odds
Monza 46.3% 31.8% +14.5 pp 2.16
Draw 30.6% 30.8% −0.2 pp 3.27
Udinese 23.1% 37.4% −14.3 pp 4.32

Other markets

Outcome Model Market Difference Fair odds
Monza to score 79.7% 66.3% +13.4 pp 1.26
Monza not to score 20.3% 33.7% −13.4 pp 4.92
Udinese to score 66.5% 70.9% −4.4 pp 1.50
Udinese not to score 33.5% 29.1% +4.4 pp 2.99
Both teams to score 54.8% 48.0% +6.8 pp 1.82
Both teams not to score 45.2% 52.0% −6.8 pp 2.21
Monza 2+ goals 44.6% 31.3% +13.3 pp 2.24
Monza at most 1 goal 55.4% 68.7% −13.3 pp 1.80
Udinese 2+ goals 26.9% 37.5% −10.6 pp 3.72
Udinese at most 1 goal 73.1% 62.5% +10.6 pp 1.37
Over 1.5 goals 75.2% 68.2% +7.0 pp 1.33
Under 1.5 goals 24.8% 31.8% −7.0 pp 4.03
Over 2.5 goals 46.2% 43.1% +3.1 pp 2.16
Under 2.5 goals 53.8% 56.9% −3.1 pp 1.86

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

· 1 warning
Show
Fit window
the last 20 matches, recency weighted (a match 107 days old counts half)
Monza sample
1 match
Udinese sample
20 matches
Computed
9 hours before kick-off
Prices taken
9 hours before kick-off

Warnings

  • Monza has only 1 match in the database. Below 10 matches the estimate is very unreliable.

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.