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 |