If you've ever opened an FPL stats table and wondered which of the twenty columns to actually look at, this is that question answered with a test rather than an opinion.
We took the 2025/26 season, split it in half, and asked a simple question of every stat: if you had ranked players by this number after Gameweek 19, how well would that ranking have held up over Gameweek 20–38?
That's the only version of the question that matters. Any stat correlates with points in the same window it was measured — that's just arithmetic. Predicting a different window is the test that separates a useful column from a decorative one.
The method, in four lines
- 2025/26, all 38 gameweeks, from our own database.
- Split at Gameweek 19. First half is the input, second half is the target.
- Everything is per 90 minutes, so a player who played more doesn't win by turning up.
- 226 players qualified — at least 540 minutes (six full matches) in both halves.
The measure is Pearson correlation between the first-half stat and second-half points per 90. 1.0 would be perfect. 0.0 is a coin toss.
The result
| Rank | Stat (first half, per 90) | Correlation with second-half points |
|---|---|---|
| 1 | Threat | 0.529 |
| 2 | xGI (expected goal involvements) | 0.521 |
| 3 | xG | 0.506 |
| 4 | ICT Index | 0.473 |
| 5 | Bonus | 0.355 |
| 6 | Points per 90 | 0.314 |
| 7 | Creativity | 0.283 |
| 8 | xA | 0.261 |
| 9 | BPS | 0.248 |
| 10 | Influence | 0.123 |
| 11 | Minutes played | 0.034 |
| 12 | Defensive contributions | 0.010 |
The number almost everyone sorts by — points — came sixth. Threat, xGI and xG all beat it, and comfortably.
That is the single most useful thing on this page. Past points bundle together everything that happened to a player: the deflections, the penalties he happened to be on, the week his side scored four. Expected goals strip most of that out and keep the repeatable part. Over a half-season, the repeatable part is what carries forward.
Now the part most articles leave out
Those numbers are flattering, and it's worth being precise about why.
Pool all four positions together and a large slice of the correlation is just the model noticing that a forward isn't a goalkeeper. Forwards have high xGI and high points; keepers have neither. You don't need a stat to tell you that.
So here it is again, within each position — where you're actually choosing.
| Position | n | Points/90 | xGI/90 | Threat/90 | ICT/90 | BPS/90 | DefCon/90 |
|---|---|---|---|---|---|---|---|
| DEF | 84 | 0.279 | 0.191 | 0.230 | 0.229 | 0.282 | 0.217 |
| MID | 103 | 0.285 | 0.445 | 0.409 | 0.429 | 0.216 | −0.169 |
| FWD | 21 | 0.043 | 0.162 | 0.305 | 0.148 | −0.029 | 0.073 |
| GKP | 18 | −0.280 | 0.064 | 0.126 | −0.431 | −0.313 | — |
Everything drops, and three real findings fall out.
1. Midfield is where stats earn their keep. xGI at 0.445 is the strongest within-position signal in the whole table, and it beats points per 90 by a wide margin (0.285). If you only apply one number from this article, apply it here: rank midfielders by xGI per 90, not by points.
2. For forwards, past points tell you almost nothing. 0.043 — a coin toss. Threat at 0.305 is the only column with a pulse. The sample is small (21 forwards cleared the minutes bar both halves), so treat this as a strong hint rather than a law, but the direction is stark: a striker's points total from the last ten games is close to useless for the next ten.
3. For defenders, everything is weak and roughly equal. Nothing clears 0.29. Defender returns depend mostly on whether the team keeps a clean sheet, which is a property of the club and the fixture, not of the individual. That's why our own model prices defenders through the team layer and the fixture — and why the fixture difficulty question is a separate article.
Goalkeepers: no usable signal at all. Eighteen keepers, and several correlations go negative. We're reporting that rather than hiding it. With a sample that size the honest answer is "this test cannot tell you anything about goalkeepers", and anyone quoting a keeper stat off a season this size is over-reading it.
What about defensive contributions?
Pooled, DefCon came dead last at 0.010. Within position it's 0.217 for defenders and −0.169 for midfielders.
The negative for midfielders is not a typo and it isn't mysterious. A midfielder racking up tackles and interceptions is usually a deep-lying midfielder, and deep-lying midfielders don't score. The DefCon points he earns don't make up for the attacking returns he doesn't. The stat is measuring role, and the role is the thing that predicts.
For defenders it's mildly positive, which is what you'd expect from a rule that pays two points for a threshold most regular starters can reach.
So what should you actually do
- Midfielders: sort by xGI per 90. It's the best single number in this dataset and it beats the points column by a distance.
- Forwards: sort by Threat per 90, and don't trust a points total from a small run of games.
- Defenders: stop looking for the magic column. Pick the fixture and the club, then take the cheapest nailed starter in that defence.
- Goalkeepers: pick on price and clean-sheet odds. We have no evidence that anything else helps.
- Everyone: treat per-90 as the default. A raw season total mostly tells you who stayed fit.
The honest limits
One season. 2025/26 only. A single season of Premier League football is a small sample dressed up as a big one, and the correlations above carry real error bars we haven't computed here.
The split point is arbitrary. Gameweek 19 is the midpoint, not a meaningful boundary. Splitting elsewhere would move every number somewhat.
Survivorship. Requiring 540 minutes in both halves keeps only players who stayed fit and in favour. That's the population you can actually pick from, so it's the right filter — but it does exclude the rotation risk that decides a lot of FPL seasons.
Correlation, not causation, and definitely not a model. These are single-variable rankings. Our actual expected-points model combines a team layer and a player layer and reaches a Spearman rank correlation of 0.286 against 0.158 for a points-per-game baseline — which tells you how much is left on the table when you use one column instead of a model.
Every number above is queryable on this site. Sort the whole league by any of these on Players, see the model's current expectations on the Dashboard, or check one name at a time — Bruno Fernandes, Erling Haaland, Gabriel.