The standings, with the expected figures beside them: what each club's chances were worth, match by match, next to what it actually took.
| # restore the table order | Team | P sort descending | W sort descending | D sort descending | L sort descending | GF sort descending | GA sort descending | GD sort descending | Pts sort descending | xG sort descending | xGA sort descending | xGD sort descending | xPts sort descending | Pts vs xPts sort descending |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Inter INT | 38 | 27 | 6 | 5 | 89 | 35 | +54 | 87 | 71.28 | 33.88 | +37.40 | 77.30 | +9.70 |
| 2 | Napoli NAP | 38 | 23 | 7 | 8 | 58 | 36 | +22 | 76 | 51.82 | 36.94 | +14.88 | 62.73 | +13.27 |
| 3 | Roma ROM | 38 | 23 | 4 | 11 | 59 | 31 | +28 | 73 | 55.10 | 39.50 | +15.60 | 63.92 | +9.08 |
| 4 | Como COM | 38 | 20 | 11 | 7 | 65 | 29 | +36 | 71 | 61.97 | 33.77 | +28.20 | 69.43 | +1.57 |
| 5 | Milan MIL | 38 | 20 | 10 | 8 | 53 | 35 | +18 | 70 | 58.89 | 44.48 | +14.41 | 62.69 | +7.31 |
| 6 | Juventus JUV | 38 | 19 | 12 | 7 | 61 | 34 | +27 | 69 | 67.77 | 32.55 | +35.22 | 74.53 | −5.53 |
| 7 | Atalanta ATA | 38 | 15 | 14 | 9 | 51 | 36 | +15 | 59 | 57.66 | 42.59 | +15.07 | 63.77 | −4.77 |
| 8 | Bologna BOL | 38 | 16 | 8 | 14 | 49 | 46 | +3 | 56 | 43.81 | 45.59 | −1.78 | 50.87 | +5.13 |
| 9 | Lazio LAZ | 38 | 14 | 12 | 12 | 41 | 40 | +1 | 54 | 41.85 | 46.81 | −4.96 | 46.06 | +7.94 |
| 10 | Udinese UDI | 38 | 14 | 8 | 16 | 45 | 48 | −3 | 50 | 42.41 | 52.57 | −10.16 | 45.82 | +4.18 |
| 11 | Sassuolo SAS | 38 | 14 | 7 | 17 | 46 | 50 | −4 | 49 | 42.25 | 55.43 | −13.18 | 44.10 | +4.90 |
| 12 | Parma PAR | 38 | 11 | 12 | 15 | 28 | 46 | −18 | 45 | 31.78 | 56.04 | −24.26 | 37.21 | +7.79 |
| 13 | Torino TOR | 38 | 12 | 9 | 17 | 44 | 63 | −19 | 45 | 45.20 | 53.97 | −8.77 | 45.47 | −0.47 |
| 14 | Cagliari CAG | 38 | 11 | 10 | 17 | 40 | 53 | −13 | 43 | 38.09 | 53.56 | −15.47 | 41.53 | +1.47 |
| 15 | Fiorentina FIO | 38 | 9 | 15 | 14 | 41 | 50 | −9 | 42 | 53.23 | 50.48 | +2.75 | 53.61 | −11.61 |
| 16 | Genoa GEN | 38 | 10 | 11 | 17 | 41 | 51 | −10 | 41 | 45.08 | 48.75 | −3.67 | 48.05 | −7.05 |
| 17 | Lecce LEC | 38 | 10 | 8 | 20 | 28 | 50 | −22 | 38 | 31.01 | 55.80 | −24.79 | 35.78 | +2.22 |
| 18 | Cremonese CRE | 38 | 8 | 10 | 20 | 32 | 57 | −25 | 34 | 35.42 | 57.83 | −22.41 | 38.32 | −4.32 |
| 19 | Hellas Verona VER | 38 | 3 | 12 | 23 | 25 | 61 | −36 | 21 | 35.97 | 50.20 | −14.23 | 42.33 | −21.33 |
| 20 | Pisa PIS | 38 | 2 | 12 | 24 | 26 | 71 | −45 | 18 | 38.68 | 58.53 | −19.85 | 40.56 | −22.56 |
- More points than xPts
- Fewer points than xPts
How to read this table
- xG
- Expected goals: the summed chance quality of the shots a club took. A chance scored nine times in ten is worth 0.9.
- xGA
- Expected goals against: the same measure for the shots a club allowed.
- xGD
- xG minus xGA: how far a club's chances outweighed its opponents', or the other way round.
- xPts
- Expected points: the points a club's match-by-match xG would be worth on average. Each match's two xG figures become chances of a win, a draw and a loss, and a win is worth 3 and a draw 1.
- Pts vs xPts
- Actual points minus expected points based on match xG. Positive, drawn in green, is more points than the chances were worth on average; negative, in red, is fewer. It measures the gap and says nothing about its cause.
- npxG
- Non-penalty xG: xG with penalties removed, offered where the competition's figures support it. It changes xG, xGA and xGD; xPts is always worked out from all xG.
Expected points are read off the same score matrix that prices the board: each played match's two xG totals are taken as scoring rates, and the team's share is 3 × P(win) + 1 × P(draw), summed over the season. Understat arrives at the same figure by simulating each shot, which needs per-shot data, held here for %{competitions}. Passes per defensive action and deep completions are not shown because no source here ingests the event data behind them.