XFP GM
Players
Teams
Coaches
Tools
Research
FAQ

Research

Model Comparison: xfpGM vs Public XFP

How does our XFP model stack up against the publicly available alternative?

The Question

There are multiple expected fantasy points (XFP) models out there. The most accessible public option is the publicly available XFP model (via NFLFastR). The test: take a player's XFP per game in Year N, and see if it signals future performance (FP/G in Year N+1). Then, we'll examine our fantasy over/under performance metric (OEX%) to see if our models can better capture stickiness for overperforming opportunity as a skill signal. Finally, we'll validate our Adjusted Games Played (Adj GP) metric against raw games played as a denominator.

Public Model Limitations

The nflverse ffopportunity model is excellent and freely available, but has some limitations that xfpGM addresses:

  • No fumbles lost — Fumbles lost are not factored into XFP calculations
  • No laterals — Lateral plays (which can result in significant yardage) are excluded
  • No 2-point conversions — 2PT attempts and conversions are not included
  • Sack plays excluded — Sacks are not counted toward QB XFP in the public model. This is a significant oversight: theoretically, there could have been points on the play had the sack been avoided. xfpGM includes all sack plays in QB passing XFP.

xfpGM addresses all of these, providing a more complete picture of expected fantasy production.

xfpGM Model Architecture

Rather than building one monolithic model, xfpGM uses position-specific models for each play type. Click to see features:

Design goals: Our models aim to capture all plays that generate fantasy points without missing edge cases (sacks, laterals, 2PT conversions). We deliberately avoid features that indicate team strength outright — no team identifiers, no opponent adjustments in the model itself. The goal is pure opportunity measurement.


Study 1: XFP Stability & Predictive Power

A good XFP model should produce stable, predictable opportunity metrics. If a player's XFP/G is highly variable year-over-year (beyond actual role changes), the model may be capturing noise rather than true opportunity.

The test: How well does XFP/G in Year N predict XFP/G in Year N+1? And how well does it predict actual FP/G?

XFP Stability by Position

XFP Stability by Position

XFP → FP Prediction by Position

XFP to FP by Position

XFP Stability by Role Type

XFP Stability by Role Type

XFP → FP Prediction by Role Type

XFP to FP by Role Type
Conclusion: For XFP stability, xfpGM wins overall (+0.9%), outperforming at QB (+4.4%) and RB (+2.0%), tying WR, and trailing TE (-4.9%). For predicting future FP, xfpGM wins overall (+0.5%), taking QB (+1.9%) and TE (+1.5%) while trailing RB (-0.8%) and WR (-0.2%).

Study 2: OEX Consistency

OEX% (Over Expectation %) measures how much a player exceeded or underperformed their expected fantasy points. We believe there is a skill component to outperforming expectations — elite players consistently beat their XFP. A model that captures this should show some OEX persistence year-over-year.

The test: How well does OEX% in Year N predict OEX% in Year N+1? (OEX trimmed to ±25% to reduce outlier influence)

OEX Consistency by Position

OEX Stability by Position

OEX Consistency by Role Type

OEX Stability by Role Type
Conclusion: xfpGM captures more repeatable over-performance signal, winning overall (+1.4%) and at every position: QB (+0.7%), RB (+1.6%), TE (+0.3%), WR (+1.7%). OEX is inherently noisy, but xfpGM's consistent edge suggests it better isolates skill from luck.

Study 3: Adjusted Games Played

Traditional fantasy analysis uses raw games played (GP) as the denominator for per-game stats. But this treats a player who left in the first quarter the same as one who was active the full game.

Adjusted Games Played (Adj GP) counts only quarters where a player recorded at least one snap. A player who plays 3 quarters gets 0.75 Adj GP, not 1.0 GP. This better isolates true per-game production, by negating the noise from in-game injuries, or rest in meaningless games.

The test: Does FP/Adj GP predict next year's FP/G better than FP/raw GP?

Adj GP Benefit by Position
Conclusion: Using Adj GP improves prediction for TE (+1.5%), WR (+0.9%), and QB (+0.8%), with minimal impact for RB (+0.2%). Overall delta is +0.7%. The benefit comes from removing noise caused by partial games.

Summary

StudyFindingWinner
XFP StabilityxfpGM +0.9%xfpGM
XFP → Future FPxfpGM +0.5%xfpGM
OEX ConsistencyxfpGM +1.4%xfpGM
Adj GP vs Raw GPAdj GP +0.7%Adj GP
Bottom line: xfpGM wins on XFP stability (+0.9%), future FP prediction (+0.5%), and OEX consistency (+1.4%). Combined with Adj GP (+0.7%) and more complete play coverage (sacks, fumbles, laterals, 2PT), xfpGM provides a fuller picture of player opportunity and skill.

Methodology

619 player-season pairs (2016-2024 → 2017-2025) | Min 8 GP both years | FP/G thresholds: QB≥15, RB≥8.5, WR≥8.5, TE≥7 | Half-PPR scoring | OEX trimmed ±25%

← Back to Research