Roma's attacking and defensive expected goals in Serie A 2026/2027, compared with the results they produced and with the rest of the competition.
Roma 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
- 12.82 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
- 5.57 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
- +7.25 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
- 11.15 vs 13 actual pts
Early-season figures: after 5 matches, per-match rates can move quickly.
What the xG says
Roma's underlying numbers are among the best in Serie A. They rank #2 for xG difference at +1.45 per match, driven by both elite shot volume and the league's best chance quality. Their 14 goals are 1.18 above 12.82 xG, while 13 points are 1.85 above 11.15 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
Roma are 1.18 goals above their xG after 5 matches. The gap was widest at +1.66, against Lecce on Mon 31/08.
- Goals
- 14
- xG
- 12.82
- Gap
- +1.18
- This match
- Match gap
- Running gap
| Date | Opponent | Goals | xG | Match gap | Running gap |
|---|---|---|---|---|---|
| Mon 24/08 | Fiorentina | 4 | 3.07 | +0.93 | +0.93 |
| Mon 31/08 | Lecce | 4 | 3.27 | +0.73 | +1.66 |
| Sat 05/09 | Atalanta | 2 | 2.97 | -0.97 | +0.69 |
| Mon 14/09 | Torino | 2 | 1.85 | +0.15 | +0.84 |
| Sat 19/09 | Inter | 2 | 1.66 | +0.34 | +1.18 |
Roma xG trend
Current form +1.61 npxGD per match
All 5 matches with xG so far — the window fills at 6.
Out-created the opponent in 4 of 5 matches. The only negative was against Inter on Sat 19/09 (-0.88).
- npxG · last 5
- 2.64
- npxGA · last 5
- 1.02
- npxG
- npxGA
- npxGD
- Avg so far
| Date | Opponent | npxG | npxGA | npxGD | Avg so far |
|---|---|---|---|---|---|
| Mon 24/08 | Fiorentina | 2.83 | 0.28 | +2.55 | +2.55 |
| Mon 31/08 | Lecce | 3.41 | 0.74 | +2.67 | +2.61 |
| Sat 05/09 | Atalanta | 3.24 | 0.77 | +2.47 | +2.56 |
| Mon 14/09 | Torino | 2.01 | 0.76 | +1.25 | +2.24 |
| Sat 19/09 | Inter | 1.69 | 2.57 | -0.88 | +1.61 |
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 — 2.64 npxG and 1.02 npxGA per match. Current form is the same difference over the last 6 matches with xG.
Strength of schedule
- Season so far
- tied number 12 hardest of 20 in Serie A
- −0.02 xG vs league average
- Over 5 league matches
Opponents behind the figures
Season so far
−0.02 xG vs league average · over 5 matches · tied number 12 hardest of 20
- Inter Home +0.75
- Torino Away −0.25
- Atalanta Home −0.06
- Lecce Away −0.58
- Fiorentina Home +0.03
Roma shots and chance quality
High volume, high quality. Roma take 20.6 shots a match (league 14.6) at 0.13 npxG a shot (league 0.10), #3 in Serie A for volume and #1 for quality. 73% of their shots come from inside the box (league 66%), and set pieces produce 8% 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
- 103 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
- 13.18 npxG from 103 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
- 46 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
- 5.12 npxGA from 46 shots
Shot profile
73% inside the box
League avg 66%
From 75 of 103 shots over 5 matches
Early-season figure: after 5 matches, the share can move quickly.
59% allowed inside the box
League avg 66%
From 27 of 46 shots allowed over 5 matches
Early-season figure: after 5 matches, the share can move quickly.
92% open play · 8% set pieces
League avg 24% set pieces
From 1.1 of 13.2 npxG over 5 matches
Early-season figure: after 5 matches, the share can move quickly.
59% open play · 41% set pieces
League avg 24% set pieces
From 2.1 of 5.1 npxG allowed over 5 matches
Early-season figure: after 5 matches, the share can move quickly.
Roma home and away xG
| Measure | Home | Away only 2 matches with xG |
|---|---|---|
| Matches | 3 | 2 |
| xG / match | 2.57 | 2.56 |
| xGA / match | 1.30 | 0.83 |
| xGD / match | +1.26 | +1.73 |
| xPts / match Model — Model output — computed from each match's xG, not a result. How xPts works → | 2.09 | 2.44 |
Every figure divides by that half's matches with xG. A half with fewer than 3 matches with xG is muted.
Every Roma match by xG
Away this season
- Matches
- 2
- xG / match
- 2.56
- xGA / match
- 0.83
- xGD / match
- +1.73
- Points
- 6 of 6
Newest first. The dot is xG and the ring is xGA, on one scale from 0 to 3.27. 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.
Roma in Serie A
Attack
- xG / match #2 of 20
- Shots / match #3 of 20
- Chance quality #1 of 20
- Home xG #2 of 20
- Away xG #5 of 20
Defence
- xGA / match #4 of 20
- Shots allowed #3 of 20
- Chance quality allowed #15 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.