The xFP model measures opportunity quality vs actual production. Players underperforming their expected points are buy-low candidates; overperformers are sell-high targets. Buy/sell is a rest-of-season signal — over the remaining season, expected points predict a player's scoring better than their hot or cold stretch does (validated 2022–2025). It says little about any single upcoming week.
Expected fantasy points (xFP) measures the opportunity a player earned — the fantasy value of his targets, carries, and usage — independent of whether the ball bounced his way. It separates real, repeatable role from hot and cold streaks.
Every touch has an expected fantasy value based on its context: a carry at the one-yard line is worth far more than a carry at midfield, and a target 15 yards downfield in the red zone carries a different expectation than a checkdown. Add up those expectations across a player's usage and you get his expected fantasy points — what a league-average player would have scored with that exact workload.
Comparing xFP to actual points reveals who has been getting the volume and situations that produce fantasy value, and who has been living off efficiency that is hard to sustain.
When a player scores well below his xFP, the opportunity is there but the production hasn't followed — often a buy-low window, because touchdowns and catch rate tend to regress toward the volume over time. When a player scores well above his xFP, he's converting at a rate that usually cools off, which makes him a candidate to sell high while his name value is inflated.
The most stable fantasy assets are the players whose actual points and xFP both sit high — real usage plus real production. Those are the roles you trust in your lineup every week.