Skip to main content
2026-11-09 · 5c9591b
Docs / Fantasy Drafting / Fantasy Drafting — Overview

Fantasy Drafting — Overview

How the SquatchyPicks draft advisor decides what to tell you to pick, written for someone who knows fantasy football but has never opened this codebase. This page is the map; the two pages after it go deeper into the parts people ask about most.

# Doc What it covers
1 01-narratives-and-adjustments.md The news layer: how headlines and depth charts become point adjustments to the Squatch boards, the v2 rules (event classes, horizons, tier scaling, expiry), and how those adjustments reach the composite and the AI Guru
2 02-ai-guru-and-league-value.md The AI Guru's two signals (scoring fit + positional premium, role security), league-value VOR, the Pure FPPG board, and the injury gate every computed board passes through

The game-prediction side of the site is documented separately in the handicapping series; its one-page tour of the whole engine is How Our Model Works.

What the advisor is

The advisor sits inside a live Sleeper draft. On every pick it looks at who is still available, what your roster already holds, what your league actually starts and how it actually scores, and then produces a short list of recommended picks with a reason attached to each. It is a blend of opinions plus a set of corrections, not a single ranking: no one board is trusted alone, and every board is re-read through your league's rules before it is allowed to vote.

Three things make a recommendation:

  1. A composite rank — a robust blend of the ranking sources below.
  2. League context — superflex, TE premium, redraft vs dynasty, best-ball, chopped — which changes how much each source is allowed to say.
  3. Roster fit — positional need, remaining picks, and scarcity at the positions your lineup requires.

The sources it blends

Source family What it is How it is used
Squatch boards The house rankings: a superflex board, a TE-premium board, and per-position boards, maintained by hand in a spreadsheet, then corrected by the news layer (doc 1) The anchor. Squatch sources form their own bucket and take 30% of the composite share left after the league-value and chopped boards (about 22% in a typical league), no matter how many other sources cover a player
Consensus boards Dynasty trade-value boards (KTC, FantasyCalc), redraft boards (RotoBaller), SI season projections, promoted expert boards, and — where licensed — FantasyPros consensus The market's view. Blended together as a second bucket via a weighted median, so one outlier board cannot drag a player
League-value (VOR) Every player's recent per-game production scored under your exact scoring, minus the replacement-level player at his position for your roster shape Reshapes the board for exotic scoring. Its share of the composite grows with how far your scoring departs from standard (doc 2)
Observed ADP Where players are actually being drafted in our own Sleeper draft network ("Real Draft Ranks") Shown alongside every recommendation, but at zero weight by default — it describes what drafters do, not what a player is worth
Measured / independent boards Last 20 Games (pure measured points per game), the 100% AI projection (team scoring x usage share x news, no ranking list inside it) Half weight each, as dissenting votes. Neither contains another ranking list, which makes them a genuine check on consensus. Last 20 Games does not know a player got hurt or lost his job; the 100% AI board does, through a small multiplier from the same news adjustments the Squatch boards use
Behavioral Shmoo's Favs (a specific drafter's tendencies) Half weight; nudges toward his patterns without overriding consensus

Every board is keyed on a normalized player name and stamped with a Sleeper id so the same player lines up across sources regardless of spelling ("Ken Walker III", "Kenneth Walker", "Marquise Brown" / "Hollywood Brown").

How the composite is built

For each source a player appears in, his rank is converted to a percentile score, so list length matters (rank 50 of 400 is a strong score; rank 50 of 60 is a weak one). The Squatch bucket and the consensus bucket each take a weighted median of their scores, so a single wild board is ignored rather than averaged in. The buckets are then blended by share. The league-value board takes its share first (25% in a vanilla league, up to 60% when your scoring is unusual), the chopped board takes 60% in an elimination league, and whatever remains splits Squatch 30% / consensus 70%. Within the consensus bucket some boards carry reduced weight: SI projections and the measured and behavioral boards count half. A coverage factor rewards players many sources agree on over players only one source ranks, and an unsigned free agent is pushed down roughly 50 spots because he has no offense, no role and no volume until he signs.

A player that only the computed league-value board knows about never gets a composite at all. That rule exists because of a real bug: a third-string QB once appeared at rank 113 on the strength of residual stats while absent from every actual ranking.

The three derived boards

Beyond the raw sources, the advisor computes three boards of its own for each league:

Board What it answers Built from
Composite "What does the blend of everything think, in this league?" The weighted-median blend above, with league-context weights applied
AI Guru "Given this league's exact scoring and lineup, who should move up or down from the composite?" The composite, nudged by two bounded signals: scoring fit + positional premium, and role security (doc 2)
Pure FPPG "Who simply scores the most points per game under these rules?" Recent per-game production scored under your settings, no replacement level subtracted, free agents sorted below signed players

Every one of these passes through the injury gate: a player carrying a season-ending designation (IR, Out) is dropped from every board we compute, because last year's production is worth zero points this year.

How league context reweights the sources

The advisor infers your league's shape from Sleeper's roster slots, scoring settings and league name, and then adjusts the source weights before any blending happens:

Flag How it is detected What it changes
Superflex A SUPER_FLEX roster slot or a second QB slot (a 2-QB league behaves the same way), or, for an unconfigured lobby draft, the league name 1QB-oriented consensus boards are halved; raw points-per-game boards lose their vote on QBs in a 1QB league, because QBs out-score everyone in raw points regardless of lineup rules
TE premium A non-zero bonus_rec_te in the scoring settings The Squatch TEP board takes over as the Squatch anchor and the SF board is halved; without TEP the TEP board is switched off entirely
Redraft / best-ball The default: every league is treated as redraft unless it is detected as dynasty. Best-ball (Sleeper's flag) is always redraft; a name like "BB" without the flag is reported as a mismatch rather than trusted Dynasty sources are halved and redraft sources run at full weight. Squatch adjustments are read in redraft mode, where short-horizon news carries its full weight (doc 1). Role security in the Guru is amplified
Dynasty The word "dynasty" in the league name (never for best-ball) Redraft sources are halved; adjustments are read in dynasty mode, where a week-long injury barely registers
Chopped The league name (Sleeper has no flag for weekly-elimination leagues) The chopped survival board takes 60% of the composite before renormalization (about two-thirds in practice), league-value is switched off (the survival board already contains it), dynasty sources — including the Squatch SF and TEP boards — go to zero, redraft sources are halved, and the measured Last 20 board keeps its weight because floor matters most when you can be eliminated in Week 4

Only one SI board is live at a time — the variants are the same projections re-scored, so blending several would count one source twice. The scoring-matched variant is chosen automatically.

Your own weight customizations (from the weights page) are the base these multipliers apply to, so a user who upweights KTC sees that boost and the league-context scaling on top.

Where the news comes in

Rankings go stale the moment a trade or an injury happens. The news layer, described in doc 1, regenerates a three-sentence narrative per player from live headlines and the Sleeper depth chart, and turns concrete events — an ACL, a suspension, a depth-chart demotion, a retirement — into point adjustments to the Squatch boards. Those adjusted boards are what the composite reads, and each delta decays on a horizon that matches the event. (The 100% AI board also applies the same active adjustments as a small multiplier on its own projection; doc 1 explains how.)

What we do not claim

Draft recommendations are a decision aid. The sources disagree with each other on purpose; the advisor's job is to blend them honestly for your rules, flag what changed this week, and explain why — not to promise a title.