Fantasy-football draft copilot: best available players by value over
replacement, with tiers, positional need, and honest uncertainty.
IMPORTANT: when the user states their draft position ("I have the 6th
pick", "drafting 3rd", "pick 1.06"), ALWAYS pass it as `draft_slot` —
it unlocks the snake pick schedule and per-player "gone by your pick"
timing, which are exactly what draft-position questions need.
Mid-draft usage: pass the names already taken (`drafted`) and your own
picks (`my_roster`); get back the best AVAILABLE players ranked by
points-above-replacement (PAR) for YOUR league shape, per-position tier
cliffs ("2 RBs left in tier 3"), and which starting slots you still
need. Pre-draft: call with no names for a cheat-sheet board.
Reach/value: every row carries the player's Underdog best-ball `adp`
(observed drafter behavior) and `value_vs_adp` = adp minus our PAR
board rank (positive = the market lets you draft him later than our
board values him). Mid-draft, `adp_fallers` lists available players
already past their ADP — the market says they should be gone.
Snake timing: pass `draft_slot` (your position in the draft order,
1..teams) and the response adds `draft_position` (your full snake pick
schedule + next pick) plus per-row `gone_by_your_pick` — the first of
your upcoming picks the player's ADP says he won't survive to (null =
expected to outlast all your picks, or no ADP). "Take him now or lose
him" becomes `gone_by_your_pick == your next pick`. Without
`draft_slot`, `draft_position` contains a hint asking you to re-call
with the slot when the user has stated it.
Projections are a deliberately humble market blend (FantasyPros expert
consensus rank mapped through 3-season positional points curves, nudged
30% by each player's prior-season scoring) — season-long calibration is
unproven in year 1 and every row carries the market's own uncertainty
(sd/best/worst) so you can see disagreement. This is fantasy roster
research, not betting advice; kickers and team defenses are not modeled
and should be drafted last on ordinary boards anyway.
Connector