Building xPoints: An ML-Powered FPL Expected Points Model
The Problem Every FPL Manager Faces
Every week, millions of Fantasy Premier League managers face the same question: who's going to score points this gameweek?
We've all been there. You agonize over your captain choice, debate whether to bring in a differential, and then watch helplessly as your "obvious" pick blanks while someone's 2-pointer on the bench hauls 15 points. The beautiful chaos of FPL.
But what if we could quantify expectations? That's exactly what xPoints does.
What is xPoints?
xPoints is a machine learning model I built to predict FPL expected points for every player in an upcoming gameweek. Think of it as xG (Expected Goals) but for FPL points—a data-driven estimate of how many points a player should score based on their recent form, underlying stats, and fixture difficulty.
The model uses XGBoost (Extreme Gradient Boosting), one of the most powerful algorithms for structured data, trained on thousands of gameweek performances from the FPL API.
Feature Engineering: Where the Magic Happens
Raw data is just the starting point. The real predictive power comes from crafting features that capture meaningful patterns:
- Multi-window rolling averages (3, 5, 8 gameweeks) for goals, assists, xG, xA, clean sheets, and minutes
- Over/under performance detection — is a player overperforming their xG? Regression candidates identified
- Fixture Difficulty Rating (FDR) — playing Luton at home ≠ playing City away
- DGW/BGW awareness — automatic scaling for double gameweeks
Interesting Findings
Building this model revealed some patterns that go against conventional FPL wisdom:
1. Form Over Fixtures (Sometimes)
The rolling xG features often outweigh fixture difficulty. A premium attacker in form against a tough opponent frequently has higher xPoints than a budget option with an "easy" fixture. Quality transcends matchups.
2. Minutes Volatility Matters
Players with inconsistent minutes tend to have inflated "form" numbers but are actually riskier. The model captures this rotation risk signal.
3. xG Delta Regresses
Players massively overperforming their xG tend to regress. The model learns to be cautious about last week's "hero" who scored 2 goals from 0.3 xG.
Try It Yourself
The xPoints predictions are available on fplanaly.st, updated before each gameweek deadline. Whether you're chasing green arrows or just want to make more informed decisions, having expected points alongside the traditional FPL metrics gives you an edge.
FPL will always have variance—that's what makes it fun. But understanding the underlying probabilities? That's how you win over a 38-gameweek season.
Got questions about the model? Reach out on Twitter @m_bas1 or explore fplanaly.st to see xPoints in action.
