xFP explained — your edge in Fantasy
Do you recognize the frustration of bringing in a player who just scored big points — only for them to suddenly stop delivering?
You’re not alone.
The truth is, past point returns are often driven as much by short-term luck as by actual performance.
That’s where Expected Fantasy Points (xFP) comes in.
What is xFP?
xFP is our model for estimating how many fantasy points a player is expected to score in upcoming matches.
Instead of relying on past points — which can be misleading — xFP analyzes the underlying performance: every pass, shot, tackle, and action that the player and their team produce.
👉 The result is a single number that answers one key question:
Given everything we know about this player’s form, team, opposition, and match context — how many points should they score?
The right player at the right time
Fantasy decisions happen on different time horizons. That’s why xFP is available across four perspectives:
• xFP 1 — next match (ideal for captain choices)
• xFP 3, 5, 7 — average over upcoming matches
The longer horizons smooth out randomness.
A player with strong xFP over 7 game weeks likely has a stable foundation — even if they get subbed early or blank in a single match.
What the model takes into account
The model is updated after every gameweek and handles complex data so you don’t have to.
Performance & threat
We measure which players:
• get into high-quality shooting positions (xG)
• move the ball into dangerous areas (xT)
👉 Helping you identify players before the points come.
Consistency
Not all points are equal.
A player consistently scoring 4 points per match is often more reliable than one alternating between blanks and big hauls.
The model understands that.
Tactics & opposition
No player performs in a vacuum.
We factor in:
• opposition strength
• match location (home/away)
• tactical matchups (pressing, counter-attacks, etc.)
Goalkeeper-specific logic
Goalkeepers are evaluated differently:
• expected goals against (xGA)
• saves
• clean sheet probability
In short
xFP gives you an informational edge.
It helps you:
• look beyond hype
• avoid traps
• build a stronger team over time
👉 You’re no longer reacting to points
👉 You’re anticipating them
What data does the model use?
Transparency is a core principle.
The model only uses information available before the match — just like you when making decisions.
Player quality (per 90 data)
• xG (Expected Goals) — shot quality
• xT (Expected Threat) — ball progression into dangerous areas
• Points per 90 — adjusted for playing time
• Minutes played — starter vs substitute
Goalkeeper metrics
• xGA — shot difficulty faced
• Saves per match
• Clean sheet percentage
Form & trends
• Points over last 3–5 matches
• Points per minute
• Volatility (consistency)
• Minute trends (increasing/decreasing playing time)
• Matches played (sample size awareness)
Team & opposition strength
• xG (chance creation)
• xT (attacking threat)
• Possession
• PPDA (pressing intensity)
• Field tilt (territorial dominance)
For longer horizons, we aggregate upcoming opponents to measure fixture difficulty.
Match context
• Home vs away advantage
• Player position (defenders, midfielders, forwards)
Tactical context
Teams are grouped into playing styles:
• Possession & High Press
• Counter Attack & Crosses
• Possession Control
• Balanced & Physical
• Low Defence & Direct
👉 Different matchups create different fantasy outputs.
Formations
Team formations (e.g. 4-3-3, 3-5-2) are parsed into roles and impact both defensive stability and attacking space.
How the model is trained
We test multiple model types — including gradient-boosted trees (XGBoost, LightGBM, CatBoost) and linear regression for goalkeepers — and automatically select the best-performing one.
The key principle:
👉 The model never sees the future.
Training and validation are always done in time order — just like in real life.