xgEdge

Sunday, 06/09/2026 at 18:00

Full time
Match report · Serie A

Bologna 2:2 Sassuolo

Bologna Home 1.88 xG · 21 shots
Sassuolo Away 1.62 xG · 15 shots
22 Bologna had the better chances, but it finished level

Bologna were the model's likeliest winner before kick-off at 45%. It finished 2–2. The biggest difference was Sassuolo's attack: 1.62 xG against 0.87 projected (+0.75). Bologna produced 1.88 xG against 1.31 projected (+0.57).

Goals

  1. 19' Josh Doig Sassuolo · 0.11 xG chance 0–1
  2. 50' Roberto Piccoli Bologna · 0.12 xG chance 1–1
  3. 56' Vasilije Adžić Sassuolo · 0.42 xG chance 1–2
  4. 90' Artem Dovbyk Bologna · 0.41 xG chance 2–2

The model against the result

priced before kick-off
Bologna
45%
Draw
33% What happened
Sassuolo
22%

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

Projected vs produced

Expected goals
Bologna The model projected 1.31 Produced 1.88 Difference +0.57
Sassuolo The model projected 0.87 Produced 1.62 Difference +0.75

Sassuolo produced 0.75 xG more than projected

Projected before kick-off Produced on the night

The shots behind it

Bologna Sassuolo
Shots
21
15
On target
5
6
Inside the box
14
9
xG per shot
0.09
0.09
Open play xG
1.60
1.07
Set-piece xG
0.31
0.34
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.94 for Bologna and 1.40 for Sassuolo.

Shot map

Both teams shown attacking the same goal for comparison.

Sassuolo · Vasilije Adžić · 56' · Goal · 12 m · 0.42 xG Bologna · Artem Dovbyk · 90' · Goal · 7 m · 0.41 xG Bologna · Artem Dovbyk · 74' · No goal · 9 m · 0.24 xG Sassuolo · Kristian Thorstvedt · 78' · No goal · 7 m · 0.24 xG Bologna · Abdel Rahim · 45' · No goal · 9 m · 0.16 xG Bologna · Roberto Piccoli · 50' · Goal · 7 m · 0.12 xG Sassuolo · Armand Laurienté · 58' · No goal · 14 m · 0.12 xG Bologna · Federico Bernardeschi · 84' · No goal · 9 m · 0.12 xG Bologna · Roberto Piccoli · 85' · No goal · 10 m · 0.12 xG Sassuolo · Josh Doig · 19' · Goal · 12 m · 0.11 xG Bologna · Jens Odgaard · 9' · No goal · 13 m · 0.10 xG Bologna · Abdel Rahim · 9' · No goal · 15 m · 0.09 xG Sassuolo · Armand Laurienté · 10' · No goal · 12 m · 0.08 xG Sassuolo · Simone Cinquegrano · 64' · No goal · 14 m · 0.08 xG Bologna · Marco Libra · 90' · No goal · 13 m · 0.08 xG Sassuolo · Vasilije Adžić · 16' · No goal · 21 m · 0.07 xG Bologna · Torbjørn Heggem · 67' · No goal · 9 m · 0.07 xG Bologna · Nicolò Cambiaghi · 13' · No goal · 20 m · 0.06 xG Sassuolo · Domenico Berardi · 64' · No goal · 10 m · 0.06 xG Bologna · Nicolò Cambiaghi · 13' · No goal · 20 m · 0.05 xG Bologna · Tommaso Pobega · 18' · No goal · 22 m · 0.05 xG Sassuolo · Kieron Bowie · 38' · No goal · 10 m · 0.05 xG Sassuolo · Vasilije Adžić · 56' · No goal · 15 m · 0.05 xG Bologna · Emil Holm · 57' · No goal · 12 m · 0.05 xG Bologna · Arthur Theate · 67' · No goal · 9 m · 0.05 xG Sassuolo · Domenico Berardi · 42' · No goal · 14 m · 0.04 xG Sassuolo · Domenico Berardi · 59' · No goal · 24 m · 0.04 xG Bologna · Lewis Ferguson · 62' · No goal · 21 m · 0.04 xG Bologna · Roberto Piccoli · 6' · No goal · 16 m · 0.03 xG Sassuolo · Nemanja Matić · 4' · No goal · 30 m · 0.02 xG Bologna · Nicolò Cambiaghi · 25' · No goal · 23 m · 0.02 xG Bologna · Federico Bernardeschi · 26' · No goal · 13 m · 0.02 xG Bologna · Arthur Theate · 26' · No goal · 25 m · 0.02 xG Sassuolo · Armand Laurienté · 36' · No goal · 27 m · 0.02 xG Bologna · Federico Bernardeschi · 33' · No goal · 27 m · 0.01 xG Sassuolo · Kieron Bowie · 45' · No goal · 25 m · 0.01 xG

All shots

36 shots · 3.32 xG

Hover, focus or tap a shot to read it.

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

Recent form

Last 6 · xG per match
Bologna

1.12 xG created 0.87 xGA

  • D 0.53 created, 1.07 conceded against Cagliari
  • W 1.26 created, 0.80 conceded against Napoli
  • W 0.69 created, 0.76 conceded against Atalanta
  • D 1.40 created, 1.78 conceded against Inter
  • L 1.78 created, 0.63 conceded against Lazio
  • L 1.05 created, 0.15 conceded against Atalanta
Sassuolo

1.96 xG created 1.34 xGA

  • W 1.58 created, 0.24 conceded against Milan
  • L 2.24 created, 3.26 conceded against Torino
  • L 2.45 created, 1.26 conceded against Lecce
  • L 0.91 created, 1.12 conceded against Parma
  • L 2.70 created, 0.88 conceded against Atalanta
  • W 1.85 created, 1.26 conceded against Torino

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

Head to head

Bologna: 1 won · 1 drawn · 0 lost

Pre-match model & market record

4 opportunities flagged1 won3 lost

  • Lost
  • Lost
  • Won
  • Lost
View pre-match record
The outcomes the model flagged on Bologna against Sassuolo before kick-off, in the order they ranked, with the price, the edge and what became of each.
Selection Price Edge Result
Under 2.5 goals 1.91 +19.2% Lost
Under 1.5 goals 3.75 +19.0% Lost
Draw 3.60 +18.1% Won
Both teams not to score 2.00 +3.8% Lost

Pre-match model vs market

Outcome Model Market Difference Fair odds
Bologna 45.2% 49.0% −3.8 pp 2.21
Draw 32.8% 26.5% +6.3 pp 3.05
Sassuolo 22.0% 24.5% −2.5 pp 4.55

Other markets

Outcome Model Market Difference Fair odds
Both teams to score 48.1% 53.3% −5.2 pp 2.08
Both teams not to score 51.9% 46.7% +5.2 pp 1.93
Over 1.5 goals 68.3% 74.5% −6.2 pp 1.46
Under 1.5 goals 31.7% 25.5% +6.2 pp 3.15
Over 2.5 goals 37.5% 50.0% −12.5 pp 2.66
Under 2.5 goals 62.5% 50.0% +12.5 pp 1.60

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)
Bologna sample
20 matches
Sassuolo sample
20 matches
Computed
3 hours before kick-off
Prices taken
3 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.