Roma v Fiorentina — Prediction, Odds & Stats
Monday 24 August 2026 · ITA-Serie A · 2627
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
Roma are conceding fewer than expected — 2.6 goals saved beyond what the chances suggest.
Fiorentina are finishing below their chances — 3.8 goals fewer than expected across 10 matches, despite creating the openings. They are also conceding fewer than expected — 2.1 goals saved beyond what the chances suggest.
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.78–0.84 | 0% | 0% | 0% | Home ✓ | |
| dc-xg-oos | 1.91–0.96 | 1-0 11% | 55% | 52% | 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 |
|---|---|---|---|---|---|---|---|
| 3' |
|
Paulo Dybala | 0.04 | Open Play | Left Foot | Saved Shot | Rodrigo Mora |
| 5' |
|
Paulo Dybala | 0.05 | Open Play | Left Foot | Missed Shot | Donyell Malen |
| 11' |
|
Marco Brescianini | 0.02 | Open Play | Left Foot | Saved Shot | Arthur Atta |
| 13' |
|
Paulo Dybala | 0.04 | Open Play | Left Foot | Missed Shot | Wesley |
| 18' |
|
Rodrigo Mora | 0.05 | Open Play | Right Foot | Saved Shot | Wesley |
| 19' |
|
Evan Ndicka | 0.45 | Open Play | — | Missed Shot | Paulo Dybala |
| 24' |
|
Emanuele Lulli | 0.06 | Open Play | — | Missed Shot | Wesley |
| 26' |
|
Donyell Malen | 0.59 | Open Play | Left Foot | Goal | Paulo Dybala |
| 30' |
|
Paulo Dybala | 0.05 | Direct Freekick | Left Foot | Blocked Shot | — |
| 31' |
|
Donyell Malen | 0.10 | Open Play | Right Foot | Blocked Shot | Gianluca Mancini |
| 39' |
|
Cher Ndour | 0.02 | Open Play | Right Foot | Saved Shot | Mateo Pellegrino |
| 40' |
|
Rodrigo Mora | 0.03 | Open Play | Right Foot | Saved Shot | Kouadio Kone |
| 49' |
|
Franco Mastantuono | 0.04 | Direct Freekick | Left Foot | Missed Shot | — |
| 51' |
|
Donyell Malen | 0.09 | Open Play | Left Foot | Goal | Paulo Dybala |
| 53' |
|
Cher Ndour | 0.05 | Open Play | — | Missed Shot | João Mário |
| 57' |
|
Donyell Malen | 0.05 | Open Play | Right Foot | Missed Shot | Bryan Cristante |
| 59' |
|
Donyell Malen | 0.83 | Open Play | Right Foot | Goal | Paulo Dybala |
| 66' |
|
Christ Inao Oulaï | 0.02 | From Corner | Right Foot | Missed Shot | — |
| 70' |
|
Moise Kean | 0.11 | Open Play | Right Foot | Saved Shot | Alejandro Jiménez |
| 71' |
|
Dodô | 0.01 | From Corner | Right Foot | Missed Shot | — |
| 72' |
|
Moise Kean | 0.02 | Open Play | Right Foot | Saved Shot | — |
| 80' |
|
Radu Dragusin | 0.02 | Set Piece | — | Missed Shot | Cher Ndour |
| 83' |
|
Santiago Castro | 0.12 | Open Play | Left Foot | Missed Shot | Niccolò Pisilli |
| 84' |
|
Matìas Soulè Malvano | 0.46 | Open Play | Left Foot | Saved Shot | Gianluca Mancini |
| 85' |
|
Niccolò Pisilli | 0.65 | Open Play | Right Foot | Goal | — |
| 91' |
|
Matìas Soulè Malvano | 0.10 | Open Play | Left Foot | Blocked Shot | Emanuele Lulli |
Players
Fiorentina
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Cher Ndour MC | 90 | 0 | 0 | 2 | 1 | 0.06 | 0.02 | 0.17 |
| Radu Dragusin DC | 90 | 0 | 0 | 1 | 0 | 0.02 | 0.00 | 0.02 |
| Dodô DR | 90 | 0 | 0 | 1 | 0 | 0.01 | 0.00 | 0.02 |
| Mateo Pellegrino FW | 90 | 0 | 0 | 0 | 1 | 0.00 | 0.02 | 0.02 |
| David de Gea GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Luca Ranieri DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.12 |
| João Mário DL | 82 | 0 | 0 | 0 | 1 | 0.00 | 0.05 | 0.06 |
| Arthur Atta AMC | 76 | 0 | 0 | 0 | 1 | 0.00 | 0.02 | 0.08 |
| Franco Mastantuono AMC | 65 | 0 | 0 | 1 | 0 | 0.04 | 0.00 | 0.02 |
| Marco Brescianini MC | 64 | 0 | 0 | 1 | 0 | 0.02 | 0.00 | 0.02 |
| Nicolo Fagioli MC | 64 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.03 |
| Christ Inao Oulaï Sub | 26 | 0 | 0 | 1 | 0 | 0.02 | 0.00 | 0.11 |
| Alejandro Jiménez Sub | 26 | 0 | 0 | 0 | 1 | 0.00 | 0.11 | 0.11 |
| Moise Kean Sub | 25 | 0 | 0 | 2 | 0 | 0.13 | 0.00 | 0.13 |
| Rolando Mandragora Sub | 14 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Valde Sub | 8 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
Roma
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Evan Ndicka DC | 90 | 0 | 0 | 1 | 0 | 0.45 | 0.00 | 1.34 |
| Emanuele Lulli DMR | 90 | 0 | 0 | 1 | 1 | 0.06 | 0.10 | 0.33 |
| Mile Svilar GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Gianluca Mancini DC | 90 | 0 | 0 | 0 | 2 | 0.00 | 0.56 | 1.19 |
| Wesley DML | 90 | 0 | 0 | 0 | 3 | 0.00 | 0.16 | 0.72 |
| Bryan Cristante MC | 90 | 0 | 0 | 0 | 1 | 0.00 | 0.05 | 1.45 |
| Paulo Dybala AMC | 81 | 0 | 3 | 4 | 4 | 0.18 | 1.96 | 2.31 |
| Kouadio Kone MC | 81 | 0 | 0 | 0 | 1 | 0.00 | 0.03 | 0.13 |
| Donyell Malen FW | 70 | 3 | 0 | 5 | 1 | 1.66 | 0.05 | 1.82 |
| Mario Hermoso DC | 70 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.77 |
| Rodrigo Mora AMC | 56 | 0 | 0 | 2 | 1 | 0.08 | 0.04 | 0.12 |
| Matìas Soulè Malvano Sub | 34 | 0 | 0 | 2 | 0 | 0.56 | 0.00 | 1.38 |
| Santiago Castro Sub | 20 | 0 | 0 | 1 | 0 | 0.12 | 0.00 | 0.58 |
| Konstantinos Koulierakis Sub | 20 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.23 |
| Niccolò Pisilli Sub | 9 | 1 | 0 | 1 | 1 | 0.65 | 0.12 | 1.23 |
| Neil El Aynaoui Sub | 9 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.69 |