Fantasy · methodology
How our fantasy numbers are built
Everything on the fantasy pages comes from one model we built and can explain. Here is the data it uses, the steps it takes, the settings it runs on, and where it goes wrong. Nothing on this page is hidden behind "proprietary".
The data
| What | Where from | Used for |
|---|---|---|
| Kicker field goals and extra points, team-defense sacks, takeaways and touchdowns, final scores | nflverse (CC-BY 4.0) | Kicker and D/ST rankings |
| Player game stats, snap counts | nflverse (CC-BY 4.0) | Per-game scoring, usage, last season's baseline, points allowed by defenses |
| Point spreads, totals | NFL schedule data via nflverse | How many points each team is expected to score |
| Wind at kickoff | National Weather Service hourly forecast (public domain) | The wind cut for passers, receivers, tight ends and kickers, in open-air US stadiums |
| Injury status, in-game injuries, live box scores | ESPN's public feed | Who is out or limited, live fantasy points. Our own wording only |
| Adds and drops | Sleeper's public data | A crowd signal next to our opinion on the waiver page |
| Player grades | StatGrades | Shown on player pages, separate from fantasy scoring |
What we don't use: other sites' rankings, expert consensus, or anyone's written analysis. We also don't buy or scrape paid projections.
Building a projection, step by step
Start from last season
Each player begins with how he scored per game last season. A short résumé counts for less: the rate is scaled by games/(games + 2), so a player with three games of history isn't trusted like one with seventeen. A player with no history starts at 60% of a replacement-level player.
Shift toward this season as it happens
This season's games are blended in with weight n/(n + 4), so after 4 games this season counts as much as last. Recent games weigh more: 60% the season average and 40% the last two games.
That blend moves faster when a player's role has changed. We compare his touches now — targets, carries or pass attempts per game — with last season's. Points are noisy, but workload isn't, so a player getting far more work is genuinely not the player last season's rate describes. A doubled workload halves how much last season counts, down to a floor of n/(n + 1.5); some pull toward his old level always remains.
While a player has fewer than four games we also hold back how far one hot streak can pull the estimate. The ceiling is set by the position's scale, how many games we've seen and how much his role has grown — never by his own previous level, so a player who barely played last season isn't held down by it.
Adjust for the opponent
We measure how many fantasy points each defense allows to each position per game against the league average. Last season's full record counts as about 8 games and this season's games move it as they happen. A player gets half of the gap between that defense and average, capped at ±12%, because matchup matters much less than role. See the matchups page.
Adjust for the game
From the Vegas spread and total we work out how many points each team is expected to score (league average 22.5). A high-scoring spot lifts a player, a low one trims him, more for quarterbacks than for running backs. The effect is deliberately small and limited to −10% to +12%:
weight per position: QB 0.4 · WR 0.35 · TE 0.3 · RB 0.22
Running backs also get up to ±3% for playing as a favorite (teams run more when ahead). Passing-game players lose 5% when wind is 15 mph or more.
Adjust for health
Players ruled out or on injured reserve are marked Out and not ranked. Everyone else on the injury report is discounted by how likely they are to play, and we measured that instead of guessing: across the 2021 to 2025 seasons we compared what running backs, receivers, tight ends and quarterbacks were expected to score with what they actually scored (counting zero when they didn't play), by injury designation and by practice status on the NFL's official weekly report.
- Doubtful players almost never played (about 1% of the time), so they are scaled to 0.02.
- Questionable players depend on practice: 0.75 after full practice, 0.65 after limited practice and 0.42 after not practicing. With no practice detail yet, 0.62.
- Their confidence drops to Low, and their likely range starts at zero, because there is a real chance they don't play.
We held back the 2025 season to check this: the average miss on questionable players fell from 7.1 to 6.2 points, and the habit of over-projecting them (3.5 points on average) almost disappeared. The practice detail is used only once the official report has given a game-day designation, and ESPN's live report decides the status whenever it is available, because it is fresher on game day. Anyone hurt in the current game is picked up from the live feed.
Set the range and the confidence
The range is the middle half of likely outcomes, sized by position so it contains about half of real scores (we check on the scorecard). Confidence is High with several games of evidence and a known scoring environment, Low when a player is hurt or has almost no history, and Medium otherwise.
range width as a share of the projection: QB 0.48 · RB 0.52 · WR 0.6 · TE 0.64
Verdicts
Players are ranked at their position by projection, and the verdict comes from the rank. The cutoffs are set for a typical 12-team league:
| Position | Must start | Start | Flex |
|---|---|---|---|
| QB | top 6 | top 12 | – |
| TE | top 5 | top 12 | top 16 |
| RB | top 8 | top 20 | top 32 |
| WR | top 8 | top 24 | top 36 |
Anyone below the Flex line is Bench. Players not listed for a week are on bye.
Kickers and defenses
Kickers and team defenses use the same idea as everyone else (last season as the starting point, this season blended in, then the game and the health report) with rules that fit them. Scoring is the common default and does not change with PPR, half-PPR or standard, so the scoring switch doesn't apply to them.
Kicker scoring
Field goal under 40 yards: 3 · 40 to 49: 4 · 50 or more: 5 · extra point: 1 · missed field goal or extra point: -1
Defense scoring
Sack 1 · interception 2 · fumble recovery 2 · safety 2 · touchdown 6 · blocked kick 2. Points allowed: 0 = 10 · 1–6 = 7 · 7–13 = 4 · 14–20 = 1 · 21–27 = 0 · 28–34 = -1 · 35+ = -4
Kickers. A kicker's points come from his offense's drives, so the scoring environment matters: the Vegas-implied points move him by 35% of the team's swing, limited to −10% to +12%. Wind of 15 mph or more takes 7% off. This season is weighed against last season's rate with weight n/(n + 6), heavier on history than for other positions because a kicker's few games say very little. Ruled-out kickers aren't ranked; doubtful kickers are scaled by 0.35 and questionable ones by 0.93. Those are simple discounts we haven't measured the way we did for other positions.
Defenses. Last season's points per game are the base, blended with this season by n/(n + 5). Then two adjustments in fantasy points, not percentages, because a defense's score is small and swings around zero. First, the opposing offense: we total the fantasy points defenses have scored against it (last season counts as about 8 games), and the defense gets half the gap to the league average, capped at ±1.5 points. Second, Vegas: each point the opponent is expected to score above the league average costs 0.25 points, and a favourite gains 0.05 points per point of spread, because a team that is behind takes more risks and gives up sacks and takeaways.
Ranges and verdicts. The range is fixed in points, not a share of the projection, and set from a full past season so it holds about half of real scores: kickers −3.6 / +2.9, defenses −4.3 / +3.5. Verdicts: kickers must start top 4, start top 12; defenses must start top 4, start top 12, flex top 16.
Not yet on the scorecard: the public track record below covers quarterbacks, running backs, receivers and tight ends. Kickers and defenses are not frozen or graded there yet. We measured the range on last season, but we don't have an accuracy record for these two positions, so treat them as our best estimate, and know that they are the noisiest positions in fantasy.
The tools built on top
Waiver wire. We can't see your league, so "available" means outside the range a typical league rosters: QB beyond 14, RB beyond 30, WR beyond 40, TE beyond 14. "Next man up" finds the best healthy player behind an injured starter. Sleeper's add and drop counts are shown next to our own opinion, and we say when we disagree with the crowd.
My team. Your roster is saved in your own browser, never on our servers. We fill your lineup slots with the highest-projected players (fixed positions first, then flex), flag hurt starters, call coin-flip decisions, and suggest available players who beat one of your starters. Members can import a league from Sleeper or ESPN (private leagues included) instead; see how to import your league.
Start or sit. Pick two players and we work out the chance each outscores the other. Each score is treated as a bell curve centred on the projection, with a width taken from the player's stated range, so a steady player and a boom-or-bust player aren't judged by projection alone. Above about 65% is a clear call, 56 to 65% a lean, and anything closer is a toss-up we won't force. In a toss-up your choice of "protecting a lead" or "need a big game" breaks the tie toward the safer floor or the higher ceiling. It assumes the two scores are independent, which isn't true for teammates in the same game, and the page warns you when that applies.
Live scoring. During games, each player's fantasy points are worked out from the running box score and refresh every few seconds. Two-point conversions and special-teams touchdowns aren't counted yet.
Trade values
A player's trade value is how many fantasy points he should add over the rest of the season compared with the best free player at his position: (his per-game projection − replacement level) × the games he'll play. Replacement level is the projection of the first player a typical league leaves unrostered (QB 15, RB 31, WR 41, TE 15 at the moment). Measuring against replacement is what stops a quarterback and a running back with the same points from looking equal when quarterbacks are easier to replace.
Games left come from the schedule through week 17, so byes are already counted. We assume an injured-reserve player misses at least four games and a player who is out or doubtful misses one, and we say so on the page because real return dates can differ. Players scoring well above their usual level are tagged SELL HIGH, and players below it BUY LOW. When one side gets more players than the other we also show what happens if the extras would sit on a bench.
Where we're wrong
- Early in the season we lean heavily on last year, so players whose role changed (new team, new coach, injury) can be off for a few weeks.
- We don't see depth charts or practice reports, so a backup who suddenly starts is caught after the fact, not before.
- Defense ratings reflect who a team has faced and whether it was trailing, so extreme numbers deserve caution.
- Touchdowns are the noisiest part of fantasy scoring, and we don't try to predict them beyond a player's usual rate.
- Kickers and team defenses are ranked, but the lineup advisor, trade analyzer, start/sit and waiver pages don't include them yet.
- Our projections are a single number with a range, not a promise. The scorecard exists so you can judge us on results.
Our record so far
Live record: 304 projections frozen before kickoff and graded. Average miss 5.3 points. 54% of our Must start and Start calls finished as starter-level.
Backtest (weeks 1, 2, 3, 4): 620 projections, average miss 5.5 points. 53% of Must start and Start calls finished as starter-level, and 81% of Bench calls stayed below it. 60% of scores landed in the range we showed, which is meant to be about half.
Frequently asked questions
Are these rankings copied from other fantasy sites?
No. We don't use anyone else's rankings or expert consensus. Every projection is calculated by our own model from public data, and every sentence of explanation is generated from that model's numbers.
How accurate are your projections?
Fantasy football is noisy, so no projection is exact. Our published scorecard shows the average miss, whether our start and bench calls held up, and how often scores landed in our stated range. The live record is frozen before kickoff so it can't be edited afterwards.
Why is the range so wide?
Because real outcomes are that wide. The range is the middle half of likely outcomes, so about half of a player's scores should fall inside it and half outside. We check that on the scorecard.
Does the trade analyzer know my league?
No. It judges on-field value over the rest of the season, measured against the best free player at each position. It doesn't know your league's rules, roster needs, dynasty ages or draft picks.
Where does the injury information come from?
The status and body part come from ESPN's public injury report, and in-game injuries are read from the live play feed. All the wording you see is our own, and we never display anyone else's written injury notes.
Player statistics come from nflverse (CC-BY 4.0). Injury data and live box scores come from ESPN's public feed, and add/drop counts from Sleeper's public data. StatGrades is independent and isn't affiliated with the NFL or any fantasy platform. Projections are estimates, not guarantees.