xPts, short for expected points, is the number of league points a team would expect from its matches, given the chances both sides created. Each game's xG is turned into the chances of a win, a draw and a defeat, and the team gets the points those chances are worth on average.
Set beside the real table, it shows which teams are taking more points than their football deserves and which are being short-changed.
For every match, each side's xG is treated as the number of goals it would score on average, and the model works out how often every scoreline would happen. From those come the chances of a win, a draw and a defeat.
Take a game where one side has 2.0 xG and the other 1.0. The first side would win about 60% of the time, draw 21% and lose 18%, so the game is worth about 2.03 expected points to them, three for each win and one for each draw, and 0.76 to their opponents. Add up every game and you have each team's xPts.
The model treats the two sides' goals as independent, which slightly undercounts draws, so a league's xPts usually add up to a little more than the points actually won: 1,054 against 1,036 in the 2025/2026 Premier League.
A team well above its xPts is winning more than its chances deserve: scoring from few chances, a goalkeeper in form, late winners and narrow wins. A team below it is losing games it played well enough to win.
In the 2025/2026 Premier League, Aston Villa finished fourth on 65 points but were 12th on xPts with 52.4, and Sunderland finished seventh on 54 while ranking 18th on xPts. Chelsea went the other way: tenth on 52 points, fifth on xPts. Arsenal topped both, with 85 points from 74.9 xPts.
Big gaps tend to shrink, because hot finishing and goalkeeping rarely last a whole season. The chances a team creates and concedes are the steadier guide.
Updated 10 October 2026, after the last game
| Rank | Club | Played | Points | xPts | Points minus xPts |
|---|---|---|---|---|---|
| 1 | Arsenal | 6 | 15 | 12.2 | +2.8 |
| 2 | Manchester City | 5 | 15 | 9.7 | +5.3 |
| 3 | Brighton & Hove Albion | 6 | 13 | 9.6 | +3.4 |
| 4 | Brentford | 6 | 10 | 9.3 | +0.7 |
| 5 | AFC Bournemouth | 6 | 3 | 9.2 | -6.2 |
| 6 | Manchester United | 5 | 5 | 9.1 | -4.1 |
| 7 | Sunderland | 6 | 4 | 9.1 | -5.1 |
| 8 | Liverpool | 5 | 9 | 8.2 | +0.8 |
| 9 | Nottingham Forest | 5 | 5 | 8.1 | -3.1 |
| 10 | Fulham | 6 | 2 | 8.0 | -6.0 |
| 11 | Ipswich Town | 6 | 9 | 7.9 | +1.1 |
| 12 | Chelsea | 6 | 10 | 7.6 | +2.4 |
| 13 | Leeds United | 6 | 9 | 7.6 | +1.4 |
| 14 | Everton | 5 | 9 | 6.7 | +2.3 |
| 15 | Aston Villa | 6 | 5 | 6.4 | -1.4 |
| 16 | Tottenham Hotspur | 5 | 2 | 5.7 | -3.7 |
| 17 | Hull City | 5 | 8 | 5.6 | +2.4 |
| 18 | Coventry City | 5 | 3 | 4.3 | -1.3 |
| 19 | Newcastle United | 5 | 8 | 4.2 | +3.8 |
| 20 | Crystal Palace | 5 | 4 | 4.0 | 0.0 |
Points are what count, but xPts is the better guide to where a team is heading. A side well below its xPts is usually playing better than its position suggests, and one well above it is living on points it may not keep.
xPts is built from xG and xGA, so it reads best beside them: a team's xG difference shows how much better it is than its opponents, and xPts turns that edge into league points.
Expected points for every club, beside their real points, in the Premier League, La Liga, Serie A, Bundesliga and Ligue 1 xG tables.