Fiorentina's attacking and defensive expected goals in Serie A 2026/2027, compared with the results they produced and with the rest of the competition.
Fiorentina xG and xGA per match
Every match ↓| Rank | Club | xG per match |
|---|---|---|
| #1 | Inter | 2.90 |
| #2 | Roma | 2.56 |
| #3 | Como | 1.89 |
| #4 | Monza | 1.79 |
| #5 | Sassuolo | 1.73 |
| #6 | Fiorentina | 1.72 |
| #7 | Milan | 1.58 |
| #8 | Juventus | 1.55 |
| #9 | Lazio | 1.55 |
| #10 | Frosinone | 1.51 |
| #11 | Venezia | 1.49 |
| #12 | Napoli | 1.44 |
| #13 | Udinese | 1.40 |
| #14 | Bologna | 1.18 |
| #15 | Cagliari | 1.09 |
| #16 | Lecce | 1.06 |
| #17 | Torino | 1.03 |
| #18 | Genoa | 0.89 |
| #19 | Atalanta | 0.81 |
| #20 | Parma | 0.68 |
- League avg
- 1.49
- Total
- 8.60 5 matches
| Rank | Club | xGA per match |
|---|---|---|
| #1 | Juventus | 0.48 |
| #2 | Bologna | 0.95 |
| #3 | Monza | 1.06 |
| #4 | Roma | 1.11 |
| #5 | Milan | 1.18 |
| #6 | Lazio | 1.24 |
| =7 | Genoa | 1.33 |
| =7 | Sassuolo | 1.33 |
| #9 | Fiorentina | 1.33 |
| #10 | Inter | 1.34 |
| #11 | Napoli | 1.40 |
| #12 | Como | 1.53 |
| #13 | Parma | 1.58 |
| #14 | Torino | 1.69 |
| #15 | Cagliari | 1.76 |
| #16 | Udinese | 1.84 |
| #17 | Atalanta | 1.87 |
| #18 | Frosinone | 2.10 |
| #19 | Venezia | 2.35 |
| #20 | Lecce | 2.38 |
- League avg
- 1.49
- Total
- 6.65 5 matches
| Rank | Club | xGD per match |
|---|---|---|
| #1 | Inter | +1.55 |
| #2 | Roma | +1.45 |
| #3 | Juventus | +1.07 |
| #4 | Monza | +0.73 |
| #5 | Sassuolo | +0.41 |
| #6 | Milan | +0.40 |
| #7 | Fiorentina | +0.39 |
| #8 | Como | +0.36 |
| #9 | Lazio | +0.30 |
| #10 | Bologna | +0.24 |
| #11 | Napoli | +0.03 |
| =12 | Genoa | -0.44 |
| =12 | Udinese | -0.44 |
| #14 | Frosinone | -0.59 |
| #15 | Torino | -0.66 |
| #16 | Cagliari | -0.66 |
| #17 | Venezia | -0.87 |
| #18 | Parma | -0.90 |
| #19 | Atalanta | -1.06 |
| #20 | Lecce | -1.32 |
- League avg
- 0.00
- Total
- +1.95 5 matches
| Rank | Club | xPts per match |
|---|---|---|
| #1 | Roma | 2.23 |
| #2 | Juventus | 2.23 |
| #3 | Inter | 2.21 |
| #4 | Monza | 1.89 |
| #5 | Fiorentina | 1.69 |
| #6 | Milan | 1.63 |
| #7 | Sassuolo | 1.63 |
| #8 | Lazio | 1.62 |
| #9 | Como | 1.60 |
| #10 | Bologna | 1.55 |
| #11 | Napoli | 1.50 |
| #12 | Udinese | 1.13 |
| #13 | Cagliari | 1.11 |
| #14 | Genoa | 1.00 |
| #15 | Frosinone | 0.98 |
| #16 | Venezia | 0.93 |
| #17 | Torino | 0.88 |
| #18 | Parma | 0.70 |
| #19 | Atalanta | 0.67 |
| #20 | Lecce | 0.60 |
- League avg
- 1.39
- Total
- 8.47 vs 4 actual pts
Early-season figures: after 5 matches, per-match rates can move quickly.
What the xG says
Fiorentina's underlying numbers are among the best in Serie A. They rank #7 for xG difference at +0.39 per match, driven by high shot volume at about average chance quality. Their 6 goals are 2.60 below 8.60 xG, while 4 points are 4.47 below 8.47 xPts. After only 5 matches, those gaps should still be read cautiously.
Actual vs expected
Select a row to chart it across the season.
Goals minus xG, match by match
Fiorentina are 2.60 goals below their xG after 5 matches. The gap was widest at -3.15, against Torino on Sat 05/09.
- Goals
- 6
- xG
- 8.60
- Gap
- -2.60
- This match
- Match gap
- Running gap
| Date | Opponent | Goals | xG | Match gap | Running gap |
|---|---|---|---|---|---|
| Mon 24/08 | Roma | 0 | 0.35 | -0.35 | -0.35 |
| Sat 29/08 | Frosinone | 0 | 2.13 | -2.13 | -2.48 |
| Sat 05/09 | Torino | 1 | 1.67 | -0.67 | -3.15 |
| Fri 11/09 | Venezia | 4 | 3.31 | +0.69 | -2.46 |
| Sun 20/09 | Napoli | 1 | 1.14 | -0.14 | -2.60 |
Fiorentina xG trend
Current form +0.34 npxGD per match
All 5 matches with xG so far — the window fills at 6.
Out-created the opponent in 3 of 5 matches. The worst was against Roma on Mon 24/08 (-2.55).
- npxG · last 5
- 1.68
- npxGA · last 5
- 1.34
- npxG
- npxGA
- npxGD
- Avg so far
| Date | Opponent | npxG | npxGA | npxGD | Avg so far |
|---|---|---|---|---|---|
| Mon 24/08 | Roma | 0.28 | 2.83 | -2.55 | -2.55 |
| Sat 29/08 | Frosinone | 1.88 | 1.06 | +0.82 | -0.87 |
| Sat 05/09 | Torino | 1.61 | 0.63 | +0.98 | -0.25 |
| Fri 11/09 | Venezia | 3.68 | 0.71 | +2.97 | +0.56 |
| Sun 20/09 | Napoli | 0.94 | 1.45 | -0.51 | +0.34 |
Each bar is one match's non-penalty xG minus the non-penalty xG against; the line is that difference averaged over the season up to each match, and it finishes on the dashed season average — 1.68 npxG and 1.34 npxGA per match. Current form is the same difference over the last 6 matches with xG.
Strength of schedule
- Season so far
- number 9 hardest of 20 in Serie A
- +0.02 xG vs league average
- Over 5 league matches
Opponents behind the figures
Fiorentina shots and chance quality
High volume, average quality. Fiorentina take 16.8 shots a match (league 14.6) at 0.10 npxG a shot (league 0.10), =6 in Serie A for volume and #9 for quality. 62% of their shots come from inside the box (league 66%), and set pieces produce 6% of their npxG (league 24%).
Attack
| Rank | Club | shots per match |
|---|---|---|
| #1 | Como | 23.4 |
| #2 | Inter | 23.2 |
| #3 | Roma | 20.6 |
| #4 | Juventus | 17.6 |
| #5 | Sassuolo | 17.2 |
| =6 | Fiorentina | 16.8 |
| =6 | Frosinone | 16.8 |
| #8 | Monza | 14.4 |
| #9 | Udinese | 14.2 |
| #10 | Venezia | 14.0 |
| #11 | Napoli | 13.8 |
| #12 | Bologna | 13.4 |
| =13 | Lazio | 12.8 |
| =13 | Milan | 12.8 |
| =15 | Atalanta | 11.8 |
| =15 | Genoa | 11.8 |
| #17 | Cagliari | 10.8 |
| #18 | Torino | 9.4 |
| #19 | Lecce | 8.4 |
| #20 | Parma | 8.2 |
- League avg
- 14.6
- Total
- 84 shots from 5 matches
| Rank | Club | npxG per shot |
|---|---|---|
| #1 | Roma | 0.13 |
| #2 | Inter | 0.12 |
| #3 | Monza | 0.11 |
| #4 | Napoli | 0.11 |
| #5 | Lecce | 0.11 |
| #6 | Milan | 0.11 |
| #7 | Lazio | 0.11 |
| #8 | Venezia | 0.10 |
| #9 | Fiorentina | 0.10 |
| #10 | Torino | 0.09 |
| #11 | Sassuolo | 0.09 |
| #12 | Bologna | 0.09 |
| #13 | Juventus | 0.09 |
| #14 | Udinese | 0.09 |
| #15 | Frosinone | 0.09 |
| #16 | Como | 0.08 |
| #17 | Parma | 0.08 |
| #18 | Cagliari | 0.08 |
| #19 | Genoa | 0.06 |
| #20 | Atalanta | 0.06 |
- League avg
- 0.10
- Total
- 8.39 npxG from 84 shots
Defence
| Rank | Club | shots per match |
|---|---|---|
| #1 | Juventus | 7.8 |
| #2 | Milan | 9.0 |
| #3 | Roma | 9.2 |
| #4 | Inter | 11.4 |
| =5 | Bologna | 11.8 |
| =5 | Fiorentina | 11.8 |
| =5 | Monza | 11.8 |
| #8 | Lazio | 13.0 |
| #9 | Venezia | 14.4 |
| #10 | Como | 15.0 |
| #11 | Torino | 15.4 |
| =12 | Genoa | 15.8 |
| =12 | Sassuolo | 15.8 |
| =14 | Lecce | 16.6 |
| =14 | Napoli | 16.6 |
| #16 | Udinese | 17.2 |
| #17 | Parma | 18.4 |
| #18 | Atalanta | 19.2 |
| #19 | Cagliari | 20.4 |
| #20 | Frosinone | 20.8 |
- League avg
- 14.6
- Total
- 59 shots allowed from 5 matches
| Rank | Club | npxGA per shot |
|---|---|---|
| #1 | Juventus | 0.06 |
| #2 | Sassuolo | 0.07 |
| #3 | Napoli | 0.07 |
| #4 | Genoa | 0.08 |
| #5 | Cagliari | 0.08 |
| #6 | Bologna | 0.08 |
| #7 | Lazio | 0.08 |
| #8 | Frosinone | 0.09 |
| #9 | Torino | 0.09 |
| #10 | Como | 0.09 |
| #11 | Monza | 0.09 |
| #12 | Parma | 0.09 |
| #13 | Atalanta | 0.09 |
| #14 | Udinese | 0.11 |
| #15 | Roma | 0.11 |
| #16 | Inter | 0.11 |
| #17 | Fiorentina | 0.11 |
| #18 | Milan | 0.13 |
| #19 | Lecce | 0.14 |
| #20 | Venezia | 0.15 |
- League avg
- 0.10
- Total
- 6.68 npxGA from 59 shots
Shot profile
62% inside the box
League avg 66%
From 52 of 84 shots over 5 matches
Early-season figure: after 5 matches, the share can move quickly.
76% allowed inside the box
League avg 66%
From 45 of 59 shots allowed over 5 matches
Early-season figure: after 5 matches, the share can move quickly.
94% open play · 6% set pieces
League avg 24% set pieces
From 0.5 of 8.3 npxG over 5 matches
Early-season figure: after 5 matches, the share can move quickly.
83% open play · 17% set pieces
League avg 24% set pieces
From 1.1 of 6.6 npxG allowed over 5 matches
Early-season figure: after 5 matches, the share can move quickly.
Fiorentina home and away xG
| Measure | Home | Away only 2 matches with xG |
|---|---|---|
| Matches | 3 | 2 |
| xG / match | 1.65 | 1.83 |
| xGA / match | 1.03 | 1.78 |
| xGD / match | +0.62 | +0.05 |
| xPts / match Model — Model output — computed from each match's xG, not a result. How xPts works → | 1.84 | 1.47 |
Every figure divides by that half's matches with xG. A half with fewer than 3 matches with xG is muted.
Every Fiorentina match by xG
This season
- Matches
- 5
- xG / match
- 1.72
- xGA / match
- 1.33
- xGD / match
- +0.39
- Points
- 4 of 15
- Sun 20/09 Napoli H xG 1.14 xGA 1.40 xGD -0.26 xPts 1.13
- Fri 11/09 Venezia A Best underlying xG 3.31 xGA 0.49 xGD +2.82 xPts 2.87
- Sat 05/09 Torino H Against the chances xG 1.67 xGA 0.58 xGD +1.09 xPts 2.26
- Sat 29/08 Frosinone H Against the chances xG 2.13 xGA 1.11 xGD +1.02 xPts 2.13
- Mon 24/08 Roma A Weakest underlying xG 0.35 xGA 3.07 xGD -2.72 xPts 0.08
Newest first. The dot is xG and the ring is xGA, on one scale from 0 to 3.31. Best and weakest underlying mark the highest and lowest xGD once 5 matches have xG. Against the chances marks a win with xGD of −1.00 or lower, or a loss with +1.00 or higher. P marks a side with at least 0.50 xG from penalties.
Fiorentina in Serie A
Attack
- xG / match #6 of 20
- Shots / match =6 of 20
- Chance quality #9 of 20
- Home xG #4 of 20
- Away xG #8 of 20
Defence
- xGA / match #9 of 20
- Shots allowed =5 of 20
- Chance quality allowed #17 of 20
About the data
- xG data
- Provided by TheStatsAPI, and stored as published.
- Derived metrics
- xGD, per-match rates, rankings and rolling averages are calculated from the match data.
- Model metrics
- xPts is produced by our probability model.