METHODOLOGY · 2026

How the numbers work.

When you create a new sheet, Playbook Predictor asks you to pick a starting baseline: Sleeper preseason projections or last season's actuals from nflverse. From there, the engine turns your assumptions about 32 teams and 300 players into a live cheat sheet that updates every time you change something.


You choose your starting baseline

This is the first thing the tool asks you when you start a new sheet. It's not a setting buried in preferences — it's a real decision that shapes how your draft prep works. We offer two starting points because they fit different ways of thinking about your team.

Option 1 — Sleeper preseason projections

This is the consensus path. Your sheet opens with Sleeper's 2026 preseason projections already loaded for every player. Sleeper aggregates projection data from multiple sources and surfaces a current-state estimate of what each player will do in the season ahead.

Pick this if you want to start where the industry starts. You'll see numbers close to what most other fantasy sites are showing — and your job becomes finding the players where you disagree with consensus, adjusting the assumptions underneath them, and watching the rankings shift.

Refresh cadence: updated before the season starts, with adjustments through training camp and preseason as Sleeper updates their data.

Option 2 — Last season's actuals (nflverse)

This is the first-principles path. Your sheet opens with what each player actually did in the 2025 regular season, sourced from nflverse — a public, open-source NFL data project that aggregates official statistics.

We then apply offseason adjustments for the things nflverse can't know yet:

  • Roster moves. When a player switches teams, his 2025 stats stay on his record — and his player card is flagged with the change so you can see the new team and the relevant context before deciding what his 2026 baseline should be.
  • Rookies. We seed rookies using historical averages by draft position and role — for example, "first-round RBs drafted at picks 1–32 average X% of team carries in year one across the last 10 years."
  • Retirements and cuts. Players no longer in the league are removed.

Pick this if you want to start from observable reality and reason forward from there. You're not inheriting anyone's projection — you're looking at last year's actual game, deciding what changes for next year, and building from there.

How to pick

The honest answer: it depends on how you draft.

If you like the industry's consensus on most players and want to focus your time on the 10–20 you have strong opinions about, Sleeper gets you to that work faster.

If you want to build your sheet from the ground up — treating every player as a question of "what did they do, and what changes for next year?" — nflverse actuals keeps you closer to the data.

The tool works the same either way. The starting baseline shows in the corner of your sheet, so you always know where the numbers came from.


Known role changes — surfaced, not silently adjusted

Some players are in genuinely different situations in 2026 than they were in 2025: new team, new offensive coordinator, depth-chart shift, scheme change. These are exactly the moments where last year's actuals stop being a clean starting point — but where consensus projections might also be wrong in their own way.

We don't try to solve this for you. Instead, flagged players show a context card that tells you what changed. You'll see:

  • Previous team and previous role
  • New offensive coordinator (if applicable) and a one-line summary of their historical tendencies
  • A "last year for context" mini-stat block

You decide what it means. If a receiver moved from a high-volume passing offense to a lower-volume one, you might bring his targets down. If a new OC has historically leaned more on running backs, you might shift carries upward. The tool surfaces the context. You apply the football reasoning. The engine recalculates everything that depends on the change.

This is intentional. Silently shifting the baseline based on our interpretation of role changes would mean we're authoring projections without your input — which is exactly what the rest of the industry already does. The whole point of the product is that you have the football opinion, not us.


From season totals to per-game baselines

Whichever baseline you pick, the engine works with season totals. Carries, targets, receptions, yards, touchdowns — all annual numbers.

Fantasy football is played week to week. So we need to break those season totals into the 17 games each team plays. The formula is intentionally simple:

Each player's season volume is distributed evenly across their team's 17 games, with the bye week showing zero on the calendar.

For example: if Christian McCaffrey's season baseline is 272 carries, his per-game baseline is 272 ÷ 17 games = 16 carries/game. The 49ers play in 17 of the 18 regular-season weeks; their bye week shows zero on the calendar because no game is played, but no carries are subtracted from his total.

What this approach gets right

  • Conservation holds. Every team plays 17 games. Every player's season totals add up cleanly to their per-game distribution. Nothing gets lost or duplicated.
  • It's predictable. You can verify the math yourself.
  • It's honest about uncertainty. A uniform distribution doesn't pretend to know that a player will be hot in Week 3 and cold in Week 9. That kind of week-specific prediction is a different problem — and a worse one, statistically.

What this approach intentionally doesn't do

  • It doesn't adjust for opponent strength. A receiver facing a top-3 pass defense gets the same baseline as the week he faces a bottom-3 pass defense. In v1, this is by design — opponent-adjusted projections are a planned v1.5 Pro feature.
  • It doesn't model injuries. Nobody can. Even the best projection systems in the industry assume a healthy 17-game season for each player.

Fantasy playoff weeks — surfaced, not adjusted

When you create a sheet, you tell the tool which weeks are your league's fantasy playoffs. Default is Weeks 15–17, but every league is a little different — some run 14–16, some 15–17 only, some have a single championship week. Yours is whatever you set it to.

We use these weeks for context, not adjustment. The builder UI flags playoff weeks visually in the week-by-week breakdown — so when you're evaluating a player late in your draft, you can see at a glance whether their schedule looks favorable or whether they might sit a meaningless Week 17 if their NFL team is locked into playoff seeding.

We don't downgrade Week 17 baselines automatically because we can't predict it. A starter on a 14–3 team might sit; the same starter on a 10–7 team plays. That's a decision the user makes given their read of how the season unfolds. The tool gives you the frame; you make the call.


Why I built it this way

A few honest design choices worth naming.

The data is public. Both Sleeper (free API, no auth required) and nflverse (open-source, MIT licensed) are public sources. Nothing about your starting baseline depends on someone's proprietary model that could change pricing or terms next year. If you ever want to verify a number, you can.

The math is published. Everything Playbook Predictor does to your starting baselines is documented on this page, and the engine math is documented in the product. If you ever want to know why a number moved, you can trace it back.

The user is the decision-maker. Every choice the tool makes — which baseline to use, how to handle a role change, when to flag a playoff week — surfaces information for you rather than making the call for you. The engine does arithmetic. You do football reasoning. That division of labor is the whole point.

The methodology is going to change. As we ship and users push back, this page will get longer and more specific. Things like opponent-adjusted weekly distribution, advanced scoring formats, and richer rookie modeling are all on the roadmap. When we add them, this page documents what changed and when.

— Adam

Updated 2026-06-22 · Refreshed annually before each season