Methodology

The market is the projection. Everything below is the arithmetic that turns a posted line into a number of fantasy points, and the rules for what the page is allowed to say when the arithmetic runs out.

1. Why the market

A prop line is priced by people with money at risk, moved by every bettor who disagrees, and repriced the moment an injury report changes. No projection system updates that fast or answers to that much accountability. The published services that build projections this way (Vegas Edge Fantasy, Win With Odds, Fantasy Alarm’s weekly column) all start from the same observation, and so does this page.

It is also a limited signal. The market prices about two hundred players a week, so a deep bench player has no line, and the page says so rather than inventing one. The market also carries no opinion about your league’s roster construction, your opponent, or whether you need a ceiling or a floor. Those are yours.

2. Two tiers of evidence

Sportsbook lines are the headline number. For each market the page reads every book on the feed, works each one out separately, and takes the median. The number of books behind a line is shown on every row.

Pick’em linescome from Sleeper’s own pick’em product and go considerably deeper: a team’s third receiver and second back usually have a receptions and a yardage line there when no book has posted one. A pick’em payout is a contest multiplier rather than a book’s price, so the lean it encodes is weaker evidence. The page uses it only where no sportsbook line exists, labels the row pick’em, and never averages it into the sportsbook consensus.

3. From a line to an expectation

A line is the market’s median: the point where over and under are equally likely once the prices are equal. The prices are rarely equal. Receptions at 5.5 with the over at −139 and the under at +119 say the true center sits above 5.5. Three steps recover it.

p_over  = implied(over) / (implied(over) + implied(under))   remove the vig
ev      = line + sigma × Φ⁻¹(p_over)                           apply the lean
sigma   = a + b × line, floored                                 the stat's game spread

The spread is measured, not assumed. Every 2025 player with eight or more games contributes his mean and his game-to-game standard deviation for each stat; the spread grows with the level, so it is fit as a line in the level, weighted by games played, and floored so a tiny line cannot get a spread near zero. Passing yards is the exception: across 37 quarterbacks the level explains almost none of the variance, so the spread there is a constant. A 55% lean on a receptions line moves the expectation by about a tenth of a spread, which is roughly a quarter of a reception. The lean is a small correction, and it should be.

4. Touchdowns

Touchdowns are priced as a probability of scoring at least once, not as a line. Under a Poisson count that one number pins the rate: λ = −ln(1 − p), and λ is the expected touchdowns. A 46% chance to score is 0.62 expected touchdowns, which is 3.7 points. The Poisson assumption matters mostly at the top: a player priced at 70% to score is credited with 1.2 expected touchdowns, because a 70% scorer sometimes scores twice.

The books on this feed post only a Yes price, so the vig cannot be removed by pairing. Instead each team’s summed rates are scaled down to its implied touchdowns from the spread and the total, at the league’s touchdowns per point. That takes about a fifth off the raw figures, which is the size of the hold in anytime-touchdown markets. The probability shown on a card is the one the scaled rate implies, not the raw price. Quarterbacks’ anytime lines are rushing touchdowns; passing touchdowns are their own market.

5. Points, and the band around them

Expected points are the expectations weighted by your scoring: 0.1 per yard, 0.04 per passing yard, 4 or 6 per passing touchdown, −1 per interception, 6 per touchdown, and 0, ½ or 1 per reception. Carries carry no points and stay on the card as context. Not modeled: fumbles, two-point conversions and yardage bonuses.

The floor and ceiling are simulated. Each selected player is drawn as one game five thousand times: yards from a gamma distribution with the market’s mean and the fitted spread, which is never negative and is right-skewed the way real yardage is; receptions and carries around their expectations at the fitted spread; touchdowns and interceptions as Poisson counts. The band is the 20th to 80th percentile of the total. The draws are shared across players, so the head-to-head figure in the verdict is simply how often one player’s total beat the other’s. The build fails if the simulated mean drifts more than half a point from the closed-form expectation.

Players are drawn independently. Two receivers on the same team are in fact correlated through their quarterback, and the band slightly overstates how often one beats the other. That is a known gap in this version.

6. When the answer is “too close to call”

The highest expected total is always named. Any rival whose gap to it is inside two combined standard errors, or under one point, is marked too close to call beside it. The standard error of a line is the disagreement between books, carried through the scoring weights; with a single source there is no disagreement to measure, so each stat gets a floor of roughly how far a line moves in an ordinary week. This mirrors the rule the two-minute drill uses for its fourth-down calls, and for the same reason: a page that names a winner over a half-point gap is claiming a precision the inputs do not have.

7. How firm a line is

Each row on a card says what the market’s conviction looks like. Firmmeans five or more books post the line and agree within a unit (three yards, half a reception) and it has not moved since it opened. Moving means the consensus has moved at least a unit since the books opened it, with the direction and the size shown; a line that has moved toward a side is the market changing its mind with money behind it. Thin is one or two books. Pick’emis the Sleeper tier. None of this changes the arithmetic; it tells you which numbers to trust more.

The verdict’s “too close to call” rule is being calibrated rather than guessed. Every week the lines are scored against what happened, including how often the higher projection actually won at each size of gap. Once two weeks exist, the rule will call a winner only at gaps where the favorite has historically won at least 60% of the time, and the banner will say what that gap is and on how many pairs it rests.

8. What the page refuses to do

A player with no line is shown with that fact, excluded from the verdict, and not ranked last as if zero were a projection. A player with only a touchdown price gets a partial total flagged as partial. Nothing is imputed from last season, from a depth chart, or from the other players on the page. The build checks that the market numbers still track last season’s per-game averages (rank correlation above 0.6 for yards and receptions), that no expectation sits more than one and a half spreads from its line, and that every priced player is on a team in a game that week. It also checks the whole chain against an answer key the market supplies: the books post their own fantasy-score line for most fully priced players, and the page’s full-PPR total must agree with it at a correlation above 0.98 and within half a point on average. At the first build it agreed at 0.996 and 0.04 points. If any check fails, the previous lines stay live.

9. The waiver report

A Sleeper league id names every roster in the league, and every roster names its players in the same id space this page uses. “Best available” is every priced player on none of them, ranked by expected points for the scoring set on the page, eight per position. The league is read from Sleeper’s public API in your browser and stored nowhere else. The report knows nothing about waiver order, claim priority or who on your roster is droppable; it answers one question, which of the unowned players the market expects to score this week.

10. Sources and cadence

  • Sportsbook player props and game lines — SportsGameOdds, as posted by the books on the plan.
  • Pick’em lines, player metadata and injury designations — Sleeper.
  • Schedule, spreads and totals, 2025 weekly stats and team marks — nflverse. Marks and headshots served by ESPN’s CDN.
  • Cross-platform player ids — DynastyProcess.

Lines are refreshed each morning Wednesday through Sunday and once more late Sunday morning, after the props for questionable players post. The timestamp in the toolbar is the snapshot you are reading. Nothing on the page is a bet recommendation.