Blog

xPts Team Ranking — Who Is Above and Below Their Expected Points

Which teams have taken far more or far fewer points than their chances were worth. A snapshot from 30 October 2026: 24 leagues, each team with at least eight matches with xG.

On 30 October 2026 Lugano are furthest above their expected points: 31 points from 18.5 xPts in 11 matches. Sampdoria are furthest below: 2 points from 10.6 xPts in 8 matches. A gap like this shows that results and chance quality have parted ways, but it does not explain why on its own.

An xPts team ranking compares two numbers: how many points a team took and how many it would take on average with the same chances. When they differ widely, the table and the football tell different stories. Below is who is furthest from their expected points, how we counted it and how to read such a list without mistaking a short run for a pattern.

What expected points are and how we counted

Expected points (xPts) are built on xG, expected goals. For every match we take both teams' xG and work out how often each would win if the match were played many times. A win is worth three points, a draw one. The sum over the matches is the xPts.

The terms of this snapshot:

  • Date: 30 October 2026, current seasons.
  • Leagues: 24 site leagues with xG for at least 85% of played matches. The calculation covered 37 leagues, and we excluded 13 for incomplete data.
  • Teams: at least eight matches with xG.
  • Order: by the gap per match rather than the total, because the leagues have played different numbers of rounds.
  • Points: only from matches with xG, so they can be lower than the points in the league table.
  • Score: regular time, because that is what xG covers.

Who has taken more than their expected points

Team League Matches Points xPts Gap Per match
Lugano Swiss Super League 11 31 18.5 +12.5 +1.14
Lazio Serie A 9 25 14.9 +10.1 +1.12
Gent Belgian Pro League 9 25 15.6 +9.4 +1.04
Palermo Serie B 9 23 14.0 +9.0 +1.00
Hertha Berlin 2. Bundesliga 9 25 16.9 +8.1 +0.90
Academico Viseu Primeira Liga 8 14 6.9 +7.1 +0.89
Fortuna Sittard Eredivisie 9 15 7.1 +7.9 +0.88
Atletico Madrid La Liga 8 19 12.3 +6.7 +0.84

These teams outperform their xG, often at both ends at once. Lugano scored 34 from 19.6 xG and conceded 9 from 14.5 xG against. Gent scored 19 from 11.2 xG and conceded only 4 from 6.9. The clearest case is Fortuna Sittard: 16 goals from 7.6 xG have brought them twice the points they would take on average.

Who has taken less than their expected points

Team League Matches Points xPts Gap Per match
Sampdoria Serie B 8 2 10.6 −8.6 −1.08
Cercle Brugge Belgian Pro League 9 3 11.7 −8.7 −0.97
Vitória SC Primeira Liga 8 7 14.4 −7.4 −0.93
Estoril Primeira Liga 8 2 9.3 −7.3 −0.91
Preston Championship 11 4 13.9 −9.9 −0.90
Fiorentina Serie A 9 5 12.7 −7.7 −0.86
Villarreal La Liga 8 6 12.6 −6.6 −0.83
Venezia Serie A 9 3 10.4 −7.4 −0.82

Here it helps to look at where the points went. Venezia scored 6 from 14.1 xG and conceded almost as expected, 19 from 18.8. That is a finishing problem. Fiorentina are the opposite: 11 goals from 13.6 xG look tolerable, but they conceded 21 from 14.0. Vitória concede right on their xG (9 from 8.3) but have scored only 9 from 14.0. Preston struggle at both ends: 8 from 14.0 in attack and 23 from 15.6 in defence.

How to read this ranking

A gap to xPts is not a synonym for luck. Several things can be behind it:

  • Real skill. A strong goalkeeper or sharp forwards can keep a team above its xG for longer than a random run lasts.
  • The quality of the xG model. It rates a chance on average and does not know every detail of a given shot.
  • Match scenarios. A team that leads early often gives up the ball and creates less, so its xG understates how it controlled the game.
  • Ordinary variance. Eight to eleven matches is a short distance. A few lucky or unlucky moments shift the total noticeably.

So we do not claim that Lugano must fall or that Sampdoria must rise. The ranking shows where results and play have parted most and which teams deserve a closer look. How to tell luck from a pattern over short stretches is covered in our piece on measuring prediction accuracy.

This is not betting advice either: the market sees the same data, and a gap to xPts may already be in the price. We did not test that here. If you want a ready assessment of matches, see our football predictions, which show the data behind each estimate.

Data limits and the xPts table for your league

The ranking has limits worth knowing:

  • Incomplete xG. Even in the selected leagues some matches have no xG, and those are left out of a team's points and xPts.
  • Excluded teams. The most extreme values in the raw report came from leagues with incomplete data. Kalmar in the Allsvenskan took 8 points from 22.2 xPts and Andorra in the Segunda División 6 from 16.6, but xG covers only 68% and 75% of matches there, so they are not ranked.
  • A dated snapshot. The ranking ages quickly: one round moves the gap noticeably for a team with eight matches.

The full xPts table for each league updates with the results. You can find it on the competition page under league tables.

The short version

Question Answer
What does an xPts team ranking show How far a team's points are from what its chances were worth on average
Who is furthest above expected points Lugano: 31 points from 18.5 xPts in 11 matches, or +1.14 per match
Who is furthest below expected points Sampdoria: 2 points from 10.6 xPts in 8 matches, or −1.08 per match
Is a gap to xPts luck Not always: skill, match scenarios, the limits of xG and ordinary variance can all be behind it
What data went into it 24 leagues with xG for at least 85% of matches and teams with at least eight matches with xG on 30 October 2026

How to cite

You may quote the findings and summary figures of this piece in your own publications with a link to xG.Football. Reprints in full only with a link to the original at the top.

xG.Football. xPts Team Ranking — Who Is Above and Below Their Expected Points, 30.10.2026. https://xg.football/blog/xpts-table-teams-above-below-expected-points

Plain-language guides on reading football stats and predictions: what xG actually measures, how to read shots-on-target and corner stats, how the xG.Football prediction model works, and what terms like "both teams to score" or "total" mean.

← Back to all blog articles

Match statistics