Bologna v Sassuolo — Prediction, Odds & Stats
Sunday 28 December 2025 · ITA-Serie A · 2526
Serie A
xG Prediction generated
AI prediction
ai-blend-oos No snapshot has been taken for this fixture yet; this is the stored price.Probabilities, not certainties. How they are made: the methodology.
Was this pick made in advance?
-oos is out of sample: it was fitted only on matches
played before this one, so its pick is a genuine forecast rather than hindsight.
Anything without that suffix was fitted on all available data.What the chances say
Bologna are finishing below their chances — 3.7 goals fewer than expected across 10 matches, despite creating the openings. They are also conceding more than the chances against them merit — 2.2 goals above expected, which tends to correct.
Sassuolo are finishing sharply below their chances — 5.0 goals fewer than expected across 10 matches, despite creating the openings.
Finishing swings far more than chance creation, so a gap this size usually narrows. Over ten matches it is suggestive, not settled — a genuinely elite finisher beats expected goals for years.
What the model said
| Model | Home / Draw / Away | Expected goals | Likeliest score | O2.5 | BTTS | Outcome |
|---|---|---|---|---|---|---|
| ai-blend-oos | 1.63–1.03 | 0% | 0% | 0% | Home ✗ | |
| dc-xg-oos | 1.84–1.01 | 1-1 11% | 54% | 54% | Home ✗ |
A model whose name ends -oos was produced by the walk-forward backtest:
it was fitted only on matches played before this one, so the pick is genuinely out of sample.
Reading the xG timeline
Expected goals by minute
Reading the shot map
Shot map
Every shot
| Min | Team | Player | xG | Situation | Body part | Result | Assisted by |
|---|---|---|---|---|---|---|---|
| 10' |
|
Jonathan Rowe | 0.01 | Open Play | Right Foot | Saved Shot | Jhon Lucumí |
| 19' |
|
Andrea Pinamonti | 0.13 | Open Play | Right Foot | Saved Shot | Cristian Volpato |
| 20' |
|
Riccardo Orsolini | 0.01 | Open Play | Left Foot | Missed Shot | — |
| 25' |
|
Jonathan Rowe | 0.01 | Set Piece | Right Foot | Blocked Shot | — |
| 25' |
|
Juan Miranda | 0.02 | Set Piece | Left Foot | Missed Shot | Jonathan Rowe |
| 28' |
|
Nadir Zortea | 0.08 | Open Play | Right Foot | Missed Shot | Nikola Moro |
| 29' |
|
Andrea Pinamonti | 0.39 | Open Play | Right Foot | Saved Shot | — |
| 29' |
|
Armand Lauriente | 0.02 | Open Play | Right Foot | Missed Shot | — |
| 31' |
|
Thijs Dallinga | 0.09 | Open Play | Left Foot | Blocked Shot | Jonathan Rowe |
| 34' |
|
Thijs Dallinga | 0.07 | Open Play | Right Foot | Missed Shot | Nikola Moro |
| 38' |
|
Cristian Volpato | 0.06 | Open Play | Left Foot | Missed Shot | Armand Lauriente |
| 46' |
|
Giovanni Fabbian | 0.32 | Open Play | Right Foot | Goal | Nadir Zortea |
| 56' |
|
Riccardo Orsolini | 0.02 | Open Play | Left Foot | Saved Shot | Martin Vitík |
| 60' |
|
Thijs Dallinga | 0.08 | Open Play | Right Foot | Missed Shot | Giovanni Fabbian |
| 62' |
|
Tarik Muharemovic | 0.51 | From Corner | — | Goal | Armand Lauriente |
| 66' |
|
Tommaso Pobega | 0.05 | Open Play | Left Foot | Saved Shot | — |
| 67' |
|
Kristian Thorstvedt | 0.10 | Open Play | Left Foot | Saved Shot | Josh Doig |
| 68' |
|
Giovanni Fabbian | 0.05 | Open Play | Right Foot | Saved Shot | Jonathan Rowe |
| 70' |
|
Nadir Zortea | 0.01 | Open Play | Right Foot | Missed Shot | — |
| 73' |
|
Benjamín Domínguez | 0.04 | From Corner | Left Foot | Blocked Shot | Juan Miranda |
| 76' |
|
Alieu Fadera | 0.29 | Open Play | Left Foot | Missed Shot | Andrea Pinamonti |
| 78' |
|
Armand Lauriente | 0.04 | Open Play | Right Foot | Saved Shot | Tarik Muharemovic |
| 80' |
|
Martin Vitík | 0.06 | Set Piece | — | Missed Shot | Juan Miranda |
| 87' |
|
Nikola Moro | 0.03 | Open Play | Left Foot | Missed Shot | Juan Miranda |
Players
Bologna
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Martin Vitík DC | 90 | 0 | 0 | 1 | 1 | 0.06 | 0.02 | 0.11 |
| Tommaso Pobega DMC | 90 | 0 | 0 | 1 | 1 | 0.05 | 0.00 | 0.48 |
| Nikola Moro DMC | 90 | 0 | 0 | 1 | 2 | 0.03 | 0.14 | 0.63 |
| Juan Miranda DL | 90 | 0 | 0 | 1 | 3 | 0.02 | 0.13 | 0.17 |
| Federico Ravaglia GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.06 |
| Jhon Lucumí DC | 90 | 0 | 0 | 0 | 1 | 0.00 | 0.01 | 0.10 |
| Nadir Zortea DR | 89 | 0 | 1 | 2 | 1 | 0.09 | 0.32 | 0.41 |
| Jonathan Rowe AML | 85 | 0 | 0 | 2 | 3 | 0.02 | 0.15 | 0.23 |
| Riccardo Orsolini AMR | 72 | 0 | 0 | 2 | 0 | 0.03 | 0.00 | 0.36 |
| Giovanni Fabbian AMC | 71 | 1 | 0 | 2 | 1 | 0.37 | 0.08 | 0.47 |
| Thijs Dallinga FW | 71 | 0 | 0 | 3 | 0 | 0.23 | 0.00 | 0.55 |
| Ciro Immobile Sub | 19 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Santiago Castro Sub | 19 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Benjamín Domínguez Sub | 18 | 0 | 0 | 1 | 0 | 0.04 | 0.00 | 0.00 |
| Jens Odgaard Sub | 5 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Emil Holm Sub | 1 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
Sassuolo
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Andrea Pinamonti FW | 90 | 0 | 0 | 2 | 1 | 0.52 | 0.29 | 0.81 |
| Tarik Muharemovic DC | 90 | 1 | 0 | 1 | 1 | 0.51 | 0.04 | 0.10 |
| Kristian Thorstvedt MC | 90 | 0 | 0 | 1 | 0 | 0.10 | 0.00 | 0.15 |
| Armand Lauriente FWL | 90 | 0 | 1 | 2 | 2 | 0.06 | 0.57 | 0.24 |
| Sebastian Walukiewicz DR | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.10 |
| Nemanja Matic MC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.32 |
| Jay Idzes DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.10 |
| Ismaël Koné MC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.17 |
| Arijanet Muric GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.29 |
| Cristian Volpato FWR | 72 | 0 | 0 | 1 | 1 | 0.06 | 0.13 | 0.18 |
| Fali Candé DL | 61 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.13 |
| Josh Doig Sub | 29 | 0 | 0 | 0 | 1 | 0.00 | 0.10 | 0.14 |
| Alieu Fadera Sub | 18 | 0 | 0 | 1 | 0 | 0.29 | 0.00 | 0.29 |
| Walid Cheddira Sub | 1 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |