xgEdge

Saturday, 12/09/2026 at 20:45

Full time
Match report · Serie A

Atalanta 1:2 Cagliari

Atalanta Home 1.74 xG · 22 shots
Cagliari Away 1.32 xG · 5 shots
12 The result went against the chances

Atalanta were the model's likeliest winner before kick-off at 43%. Cagliari won 2–1. Both teams produced xG close to their pre-match projections.

Goals

  1. 19' Paul Mendy Cagliari · 0.25 xG chance 0–1
  2. 41' Gianluca Scamacca Atalanta · 0.04 xG chance 1–1
  3. 61' Daniel Maldini (pen.) Cagliari · 0.82 xG chance 1–2

The model against the result

priced before kick-off
Atalanta
43%
Draw
29%
Cagliari
28% What happened

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

Projected vs produced

Expected goals
Atalanta The model projected 1.56 Produced 1.74 Difference +0.18
Cagliari The model projected 1.25 Produced 1.32 Difference +0.07

Projected before kick-off Produced on the night

The shots behind it

Atalanta Cagliari
Shots
22
5
On target
4
5
Inside the box
13
3
xG per shot
0.06
0.23
Open play xG
1.09
0.32
Set-piece xG
0.15
0.00
Penalties
0
1
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.26 for Atalanta and 0.31 for Cagliari.

Shot map

Both teams shown attacking the same goal for comparison.

Cagliari · Daniel Maldini · 61' · Goal · 12 m · 0.82 xG Cagliari · Paul Mendy · 19' · Goal · 9 m · 0.25 xG Atalanta · Lazar Samardžić · 76' · No goal · 11 m · 0.20 xG Atalanta · Franck Kessié · 83' · No goal · 5 m · 0.20 xG Atalanta · Nikola Krstović · 84' · No goal · 7 m · 0.18 xG Atalanta · Gianluca Scamacca · 6' · No goal · 16 m · 0.08 xG Atalanta · Lazar Samardžić · 56' · No goal · 15 m · 0.06 xG Atalanta · Franck Kessié · 85' · No goal · 8 m · 0.05 xG Atalanta · Franck Kessié · 35' · No goal · 23 m · 0.04 xG Atalanta · Gianluca Scamacca · 41' · Goal · 13 m · 0.04 xG Atalanta · Lazar Samardžić · 48' · No goal · 13 m · 0.04 xG Atalanta · Giacomo Raspadori · 87' · No goal · 14 m · 0.04 xG Atalanta · Raoul Bellanova · 90' · No goal · 23 m · 0.04 xG Atalanta · Giacomo Raspadori · 90' · No goal · 21 m · 0.04 xG Atalanta · Gianluca Scamacca · 7' · No goal · 12 m · 0.03 xG Atalanta · Lazar Samardžić · 11' · No goal · 18 m · 0.03 xG Atalanta · Jonathan Rowe · 49' · No goal · 15 m · 0.03 xG Atalanta · Jonathan Rowe · 49' · No goal · 17 m · 0.03 xG Atalanta · Jonathan Rowe · 64' · No goal · 24 m · 0.03 xG Cagliari · Adam Obert · 73' · No goal · 8 m · 0.03 xG Cagliari · Alessandro Romano · 15' · No goal · 26 m · 0.02 xG Cagliari · Daniel Maldini · 27' · No goal · 24 m · 0.02 xG Atalanta · Gianluca Scamacca · 31' · No goal · 6 m · 0.02 xG Atalanta · Lorenzo Bernasconi · 83' · No goal · 15 m · 0.02 xG Atalanta · Giacomo Raspadori · 87' · No goal · 20 m · 0.02 xG Atalanta · Éderson · 33' · No goal · 27 m · 0.01 xG Atalanta · Sead Kolašinac · 37' · No goal · 20 m · 0.01 xG

All shots

27 shots · 2.38 xG

Hover, focus or tap a shot to read it.

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

Recent form

Last 6 · xG per match
Atalanta

0.88 xG created 1.75 xGA

  • W 1.38 created, 2.21 conceded against Milan
  • L 0.76 created, 0.69 conceded against Bologna
  • D 1.38 created, 0.85 conceded against Fiorentina
  • W 0.88 created, 2.70 conceded against Sassuolo
  • W 0.15 created, 1.05 conceded against Bologna
  • L 0.70 created, 2.97 conceded against Roma
Cagliari

1.43 xG created 1.69 xGA

  • L 1.47 created, 2.47 conceded against Udinese
  • W 1.32 created, 0.99 conceded against Torino
  • W 2.78 created, 1.74 conceded against Milan
  • W 0.94 created, 0.75 conceded against Parma
  • L 0.48 created, 3.67 conceded against Inter
  • W 1.61 created, 0.50 conceded against Lecce

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

Head to head

Atalanta: 1 won · 0 drawn · 1 lost

Pre-match model & market record

7 opportunities flagged6 won1 lost

  • Won
  • Won
  • Won
  • Won
  • Lost
  • Won
  • Won
View pre-match record
The outcomes the model flagged on Atalanta against Cagliari before kick-off, in the order they ranked, with the price, the edge and what became of each.
Selection Price Edge Result
Cagliari to win 5.00 +38.9% Won
Cagliari 2+ goals 3.75 +35.2% Won
Both teams to score 1.91 +18.7% Won
Cagliari to score 1.57 +16.5% Won
Draw 3.75 +10.0% Lost
Over 2.5 goals 1.91 +4.5% Won
Over 1.5 goals 1.29 +4.4% Won

Pre-match model vs market

Outcome Model Market Difference Fair odds
Atalanta 42.9% 55.8% −12.9 pp 2.33
Draw 29.3% 25.3% +4.0 pp 3.41
Cagliari 27.8% 19.0% +8.8 pp 3.60

Other markets

Outcome Model Market Difference Fair odds
Atalanta to score 81.6% 81.1% +0.5 pp 1.23
Atalanta not to score 18.4% 18.9% −0.5 pp 5.44
Cagliari to score 74.2% 58.9% +15.3 pp 1.35
Cagliari not to score 25.8% 41.1% −15.3 pp 3.87
Both teams to score 62.2% 50.0% +12.2 pp 1.61
Both teams not to score 37.8% 50.0% −12.2 pp 2.65
Atalanta 2+ goals 47.7% 51.5% −3.8 pp 2.10
Atalanta at most 1 goal 52.3% 48.5% +3.8 pp 1.91
Cagliari 2+ goals 36.1% 25.0% +11.1 pp 2.77
Cagliari at most 1 goal 63.9% 75.0% −11.1 pp 1.56
Over 1.5 goals 81.2% 74.5% +6.7 pp 1.23
Under 1.5 goals 18.8% 25.5% −6.7 pp 5.31
Over 2.5 goals 54.7% 50.0% +4.7 pp 1.83
Under 2.5 goals 45.3% 50.0% −4.7 pp 2.21

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)
Atalanta sample
20 matches
Cagliari 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.