Reynold's Fantasy Wrap

Methodology

How the numbers here are made

Every ranking and every calculated value on this site is reproducible from what is written on this page. If something here does not match what the site does, that is a bug — say so and it gets fixed or pulled.

The rule everything else sits on

No invented stats or projections. Every number either carries its source or is labelled a placeholder. There is no third category.

This is not modesty, it is the only thing that makes a one-person fantasy site worth reading. A confident number you cannot check is worth less than no number at all, because it costs you a roster move before you find out it was made up.

Nobody has this figured out, least of all me. Everything here shows its work so you can disagree with it properly.

Rankings

A ranking here is an opinion, ordered. Nobody sells you rankings — the order is the product, and buying someone else's would defeat the point of the site. What gets sourced is the evidence underneath it.

There are no rankings on this site yet, and that is deliberate.

A ranking is a projection, ordered — so it needs a projection first. Two shortcuts were built and thrown away: ordering by last season's actual points, which is a result rather than a forecast and which cannot contain a single rookie; and ordering by how often a player is being searched for, which measures what the market is looking at rather than what he is going to do.

Both would have produced a list that looked exactly like a ranking. Publishing either one would have been putting somebody else's backward-looking signal out under my name, which is the rule at the top of this page broken in the most visible place on the site. The projection layer is being built. The rankings arrive after it, not before.

What every list carries

  • Tiers. A tier is a claim that the players inside it are close enough that you should not agonise, and that the ones below are not. A ranking without tiers is doing about half its job: the list format tells you who is better but not by how much, and the gap is where your draft position actually matters.
  • Movement. Each player's change since the previous version, derived from the two rank numbers rather than stored — a stored "moved up 4" is a second copy of a fact, and the copy is what goes stale.
  • Scoring format. Full PPR, half and standard produce genuinely different orderings, not a reshuffle at the margins.
  • An updated date, taken from the data rather than the build, so a rebuild cannot make a stale list look fresh.
  • A source line, on every list, at the bottom of the table.

Where the underlying data comes from

Player identity, usage and performance are pulled from open sources — never scraped from a competitor and never reproduced wholesale. Anything that informs a ranking is named on the ranking.

Auction values

The auction calculator converts projections you supply into dollar values for your league, and projects nothing itself. It is built and tested but not published yet — the method below is what it does, written down so it can be argued with before anybody uses it.

The method is Value Based Drafting, published by Joe Bryant in the late 1990s and the standard approach ever since. It is implemented here from the public description of the method; no other implementation's code or data is used. A player is worth what he scores above what you could have had for free at the same position — never what he scores.

The pipeline

  1. Count what your league actually drafts. Teams × roster spots, bench included. Bench players are still bought.
  2. Set a replacement baseline per position at that depth.
  3. VBD = projected points − replacement points.
  4. The draftable pool is the top (teams × roster size) players by VBD. Nobody outside it has a price.
  5. Hold back the minimum bids. Every drafted player costs at least $1, so that money is committed before any VBD is priced.
  6. value = $1 + VBD × (surplus ÷ total VBD in the pool)

The step most homemade calculators skip

Distributing the full budget across VBD instead of the surplus. In a 12-team, $200, 15-round league that is $180 of a $2,400 pool handed out twice — once as the minimum bid everyone pays, and again as VBD — which inflates the top of the board by exactly the size of the minimum-bid pool. It is the single most common error in a spreadsheet built from scratch, and it is why your homemade numbers never quite match the room.

The three replacement levels

This is the biggest lever on the output, and most calculators pick one without telling you. All three are offered because they genuinely disagree.

  • Last starter (VOLS). The baseline is the worst player who still starts every week. Rewards the top of a position hardest. Right for shallow leagues, where the waiver wire is a real alternative to your bench.
  • Undrafted replacement (VORP). The baseline is the best player who goes undrafted. Flattens the top and raises the middle. Right for deep leagues, where nothing useful is ever free.
  • Blended. The mean of the two. Not a hedge — the truth is usually between them, because some of your bench is startable and some is not.

Two details that are easy to get wrong

Flex is not split evenly. Flex spots are handed out one at a time to whichever position still has the better player available, so a PPR league sends most of them to receivers and a standard league sends more to backs. Fixing the split in advance would bake one scoring system's answer into every league's numbers.

VORP is circular, so it is solved rather than guessed. The baseline depends on how many players at each position get drafted, which depends on their values, which depend on the baseline. The calculator iterates to a fixed point and reports how many passes it took and whether it converged.

Kickers and defenses are priced at the minimum bid. Their supply is deep enough and flat enough that VBD there is noise dressed as precision.

What it does not do yet

  • In-draft inflation. Once money leaves the room, the remaining dollars chase fewer points and every value moves. That is a live-draft feature and it is not built.
  • Keeper and dynasty adjustments. A kept player removes both a roster spot and his salary from the pool, which changes everyone else's price.
  • Positional scarcity beyond replacement level. VBD handles scarcity through the baseline and nothing else.

Corrections

If a number here is wrong, it gets fixed and the article or ranking says it was fixed. Silently editing a bad take is the same category of dishonesty as inventing a stat.