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.