xgEdge

Sunday, 23/08/2026 at 20:45

Full time
Match report · Serie A

Torino 1:2 Milan

Torino Home 1.29 xG · 8 shots
Milan Away 2.15 xG · 19 shots
12 The scoreline reflected the chances

Torino were the model's likeliest winner before kick-off at 34%. Milan won 2–1. The biggest difference was Milan's attack: 2.15 xG against 1.26 projected (+0.89).

Goals

  1. 64' Alphadjo Cissè Milan · 0.10 xG chance 0–1
  2. 67' Adrien Rabiot Milan · 0.33 xG chance 0–2
  3. 90' Che Adams Torino · 0.08 xG chance 1–2

The model against the result

priced before kick-off
Torino
34%
Draw
32%
Milan
34% What happened

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

Projected vs produced

Expected goals
Torino The model projected 1.27 Produced 1.29 Difference +0.02
Milan The model projected 1.26 Produced 2.15 Difference +0.89

Milan produced 0.89 xG more than projected

Projected before kick-off Produced on the night

The shots behind it

Torino Milan
Shots
8
19
On target
1
4
Inside the box
7
19
xG per shot
0.13
0.08
Open play xG
0.64
1.51
Set-piece xG
0.39
0.10
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.01 for Torino and 1.61 for Milan.

Shot map

Both teams shown attacking the same goal for comparison.

Torino · Zakaria Aboukhlal · 84' · No goal · 7 m · 0.35 xG Milan · Adrien Rabiot · 67' · Goal · 4 m · 0.33 xG Torino · Pietro Comuzzo · 79' · No goal · 10 m · 0.29 xG Milan · Alphadjo Cissè · 2' · No goal · 2 m · 0.15 xG Milan · Gonçalo Ramos · 72' · No goal · 4 m · 0.15 xG Torino · Giovanni Simeone · 63' · No goal · 15 m · 0.13 xG Milan · Koni De Winter · 58' · No goal · 4 m · 0.10 xG Milan · Alphadjo Cissè · 64' · Goal · 13 m · 0.10 xG Torino · Alieu Njie · 74' · No goal · 5 m · 0.10 xG Milan · Samuel Chukwueze · 30' · No goal · 10 m · 0.08 xG Milan · Samuel Chukwueze · 30' · No goal · 9 m · 0.08 xG Torino · Che Adams · 90' · Goal · 13 m · 0.08 xG Milan · Ruben Loftus-Cheek · 21' · No goal · 8 m · 0.07 xG Milan · Ruben Loftus-Cheek · 25' · No goal · 6 m · 0.07 xG Milan · Alexis Saelemaekers · 69' · No goal · 15 m · 0.07 xG Milan · Gonçalo Ramos · 69' · No goal · 14 m · 0.07 xG Milan · Gonçalo Ramos · 3' · No goal · 8 m · 0.06 xG Milan · Pervis Estupiñán · 23' · No goal · 9 m · 0.06 xG Milan · Gonçalo Ramos · 58' · No goal · 10 m · 0.06 xG Milan · Ruben Loftus-Cheek · 6' · No goal · 16 m · 0.04 xG Torino · Giovanni Simeone · 9' · No goal · 10 m · 0.04 xG Milan · Alphadjo Cissè · 28' · No goal · 15 m · 0.04 xG Milan · Ruben Loftus-Cheek · 46' · No goal · 11 m · 0.03 xG Milan · Gonçalo Ramos · 54' · No goal · 10 m · 0.03 xG Milan · Alphadjo Cissè · 32' · No goal · 2 m · 0.02 xG Torino · Saúl Coco · 53' · No goal · 8 m · 0.02 xG Torino · Kian Fitz-Jim · 83' · No goal · 26 m · 0.02 xG

All shots

27 shots · 2.64 xG

Hover, focus or tap a shot to read it.

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

Recent form

Last 6 · xG per match
Torino

1.42 xG created 1.62 xGA

  • D 0.14 created, 0.64 conceded against Cremonese
  • D 2.46 created, 1.60 conceded against Inter
  • L 0.83 created, 2.00 conceded against Udinese
  • W 3.26 created, 2.24 conceded against Sassuolo
  • L 0.99 created, 1.32 conceded against Cagliari
  • D 0.85 created, 1.92 conceded against Juventus
Milan

1.24 xG created 1.38 xGA

  • W 0.85 created, 0.71 conceded against Hellas Verona
  • D 0.65 created, 0.52 conceded against Juventus
  • L 0.24 created, 1.58 conceded against Sassuolo
  • L 2.21 created, 1.38 conceded against Atalanta
  • W 1.75 created, 1.32 conceded against Genoa
  • L 1.74 created, 2.78 conceded against Cagliari

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

Head to head

Torino: 0 won · 0 drawn · 2 lost

Pre-match model & market record

7 opportunities flagged2 won5 lost

  • Lost
  • Lost
  • Lost
  • Lost
  • Lost
  • Won
  • Won
View pre-match record
The outcomes the model flagged on Torino against Milan before kick-off, in the order they ranked, with the price, the edge and what became of each.
Selection Price Edge Result
Torino to win 4.75 +63.1% Lost
Torino 2+ goals 3.50 +29.6% Lost
Milan not to score 5.00 +26.3% Lost
Milan at most 1 goal 1.91 +20.6% Lost
Draw 3.70 +16.9% Lost
Torino to score 1.53 +14.8% Won
Both teams to score 1.80 +4.1% Won

Pre-match model vs market

Outcome Model Market Difference Fair odds
Torino 34.3% 20.0% +14.3 pp 2.91
Draw 31.6% 25.7% +5.9 pp 3.16
Milan 34.1% 54.3% −20.2 pp 2.94

Other markets

Outcome Model Market Difference Fair odds
Torino to score 74.9% 60.8% +14.1 pp 1.34
Torino not to score 25.1% 39.2% −14.1 pp 3.98
Milan to score 74.7% 81.1% −6.3 pp 1.34
Milan not to score 25.3% 18.9% +6.3 pp 3.96
Both teams to score 57.8% 52.0% +5.8 pp 1.73
Both teams not to score 42.2% 48.0% −5.8 pp 2.37
Torino 2+ goals 37.0% 26.9% +10.1 pp 2.70
Torino at most 1 goal 63.0% 73.1% −10.1 pp 1.59
Milan 2+ goals 36.8% 51.5% −14.7 pp 2.72
Milan at most 1 goal 63.2% 48.5% +14.7 pp 1.58
Over 1.5 goals 76.4% 74.5% +2.0 pp 1.31
Under 1.5 goals 23.6% 25.5% −2.0 pp 4.24
Over 2.5 goals 47.6% 50.0% −2.4 pp 2.10
Under 2.5 goals 52.4% 50.0% +2.4 pp 1.91

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)
Torino sample
20 matches
Milan sample
20 matches
Computed
6 hours before kick-off
Prices taken
2 days 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.