fantasy value

A variable coined fantasy_value(fv) serves as the trading model's dependent variable, as well as one of the predictive variables. The metric derives from Value-Based-Drafting(vbd), a concept of Joe Bryant, co-founder of footballguys. You can make yourself familiar here.

For a baseline reference, this calculator uses a mean positional starter instead of a replacement level player; a baseline which better captures positional advantage once flex positions are introduced. The algorithm for fv follows these steps:

  1. calculate fantasy_points(fp) according to league scoring
  2. create bins according to league settings
    • a bin is created for each starting requirement
    • each bin can have max players equalling league size
    • bins are considered full whence the max is reached
  3. sort players of every eligible position by fp, high to low
  4. in this order, assign players to bins until all bins are full
    • fill single position bins first
    • if all eligible single position bins are full, assign player to an eligible flex position bin
    • skip player if all eligible bins are full, unless an eligible flex position bin has a player which can be moved to another bin
  5. players who have been assigned to a bin, group by position
  6. for each position group, calculate the positional_baseline(pb), equal to the mean of fp
  7. calculate each player's net_fantasy_value(nfv), equal to fp minus pb
  8. players who have been assigned to a bin, sort by nfv
  9. determine the value_adjustment(adj), equal to the min of nfv
  10. calculate each player's fv, nfv-adj
    • players who weren't assigned to a bin have fv of 0

It's elaborate, but the process addresses the issue of flex positions and allows not for negative values. An average positional starter baseline introduces a dilemma of getting negative fv, which is incongruent with the model's design. The adj part was added to necessitate fv will always have a positive value.

The following charts explain the process defining fv. The example is from week 14, 2020, just because. League settings are 1QB, 2RB, 2WR, 1TE, 2FL(RB/WR/TE), 1SF(QB/RB/WR/TE). I used an 8 team league to save myself some typing.


steps 1-3:


posnamefpbin
rbderrick henry36.2rb1-1
qblamar jackson34.9qb1-1
qbaaron rodgers30.9qb1-2
rbjonathan taylor30.5rb1-2
rbmiles sanders29.6rb1-3
wrstefon diggs29.1wr1-1
rbkareem hunt28.0rb1-4
tetravis kelce27.6te1-1
wrallen robinson27.3wr1-2
qbtua tagovailoa27.0qb1-3
qbbaker mayfield27.0qb1-4
wrcalvin ridley26.4wr1-3
rbmike davis26.3rb1-5
wrtyreek hill26.1wr1-4
qbdrew lock25.6qb1-5
wrty hilton25.6wr1-5
qbmitchell trubisky25.0qb1-6
rbdavid montgomery24.5rb1-6
wrdavante adams24.5wr1-6
rbnick chubb24.3rb1-7
wraj brown24.2wr1-7
qbderek carr23.8qb1-7
temike gesicki23.5te1-2
rbaustin ekeler22.6rb1-8
wrkj hamler22.6wr1-8
wrdeandre hopkins22.6wr2-1
rbalvin kamara22.4rb2-1
qbrussell wilson22.1qb1-8
wrbrandon aiyuk21.9wr2-2
rbcam akers21.4rb2-2
wrnelson agholor21.0wr2-3
wrmarquez valdes-scantling20.5wr2-4
qbteddy bridgewater20.4sf1-1
qbjalen hurts20.3sf1-2
wrkeenan allen20.2wr2-5
qbtaysom hill19.9sf1-3
wrkeelan cole19.7wr2-6
rbdalvin cook19.0rb2-3
rbchris carson18.8rb2-4
wrrashard higgins18.8wr2-7
wrrussell gage18.8wr2-8
rbgus edwards18.3rb2-5
wraj green18.2fl1-1
wrdk metcalt18.1fl1-2
qbphilip rivers17.8sf1-4
wrrobbie anderson17.7fl1-3
qbpatrick maomes17.6sf1-5
wrtyron johnson17.5fl1-4
wrjuju smith-schuster17.5fl1-5
qbkyler murray17.5sf1-6
qbjosh allen17.3sf1-7
qbdeshaun watson16.7sf1-8
qbryan tannehill16.5skip
wrmichael thomas16.4fl1-6
tetj hockenson16.3te1-3
teirv smith jr16.3te1-4
wrcurtis samuel16.0fl1-7
qbjustin herbert15.7skip
qbtom brady15.6skip
rbronald jones ii15.4rb2-6
wrlynn bowden jr15.4fl1-8
qbandy dalton15.3skip
qbkirk cousins15.1skip
wramari cooper15.1fl2-1
rbdeandre swift15.0rb2-7
terobert tonyan14.6te1-5
qbjared goff14.6skip
tedarren waller14.5te1-6
qbmatthew stafford14.4skip
wrcooper kupp14.3fl2-2
rbclyde edwards-helaire14.1rb2-8
rbkenyan drake14.0fl2-3
qbbrandon allen13.9skip
wremmanuel sanders13.8fl2-4
qbgardner minshew ii13.3skip
wrmarquise brown13.0fl2-5
rbtony pollard12.8fl2-6
temark andrews12.8te1-7
tejared cook12.7te1-8
wrtim patrick12.6fl2-7
wrdanny amendola12.6fl2-8

step 4:


bin: qb1namefpbin
qblamar jackson34.9qb1-1
qbaaron rodgers30.9qb1-2
qbtua tagovailoa27.0qb1-3
qbbaker mayfield27.0qb1-4
qbdrew lock25.6qb1-5
qbmitchell trubisky25.0qb1-6
qbderek carr23.8qb1-7
qbrussell wilson22.1qb1-8
bin: rb1namefpbin
rbderrick henry36.2rb1-1
rbjonathan taylor30.5rb1-2
rbmiles sanders29.6rb1-3
rbkareem hunt28.0rb1-4
rbmike davis26.3rb1-5
rbdavid montgomery24.5rb1-6
rbnick chubb24.3rb1-7
rbaustin ekeler22.6rb1-8
bin: rb2namefpbin
rbalvin kamara22.4rb2-1
rbcam akers21.4rb2-2
rbdalvin cook19.0rb2-3
rbchris carson18.8rb2-4
rbgus edwards18.3rb2-5
rbronald jones ii15.4rb2-6
rbdeandre swift15.0rb2-7
rbclyde edwards-helaire14.1rb2-8
bin: wr1namefpbin
wrstefon diggs29.1wr1-1
wrallen robinson27.3wr1-2
wrcalvin ridley26.4wr1-3
wrtyreek hill26.1wr1-4
wrty hilton25.6wr1-5
wrdavante adams24.5wr1-6
wraj brown24.2wr1-7
wrkj hamler22.6wr1-8
bin: wr2namefpbin
wrdeandre hopkins22.6wr2-1
wrbrandon aiyuk21.9wr2-2
wrnelson agholor21.0wr2-3
wrmarquez valdes-scantling20.5wr2-4
wrkeenan allen20.2wr2-5
wrkeelan cole19.7wr2-6
wrrashard higgins18.8wr2-7
wrrussell gage18.8wr2-8
bin: te1namefpbin
tetravis kelce27.6te1-1
temike gesicki23.5te1-2
tetj hockenson16.3te1-3
teirv smith jr16.3te1-4
terobert tonyan14.6te1-5
tedarren waller14.5te1-6
temark andrews12.8te1-7
tejared cook12.7te1-8
bin: fl1namefpbin
wraj green18.2fl1-1
wrdk metcalt18.1fl1-2
wrrobbie anderson17.7fl1-3
wrtyron johnson17.5fl1-4
wrjuju smith-schuster17.5fl1-5
wrmichael thomas16.4fl1-6
wrcurtis samuel16.0fl1-7
wrlynn bowden jr15.4fl1-8
bin: fl2namefpbin
wramari cooper15.1fl2-1
wrcooper kupp14.3fl2-2
rbkenyan drake14.0fl2-3
wremmanuel sanders13.8fl2-4
wrmarquise brown13.0fl2-5
rbtony pollard12.8fl2-6
wrtim patrick12.6fl2-7
wrdanny amendola12.6fl2-8
bin: sf1namefpbin
qbteddy bridgewater20.4sf1-1
qbjalen hurts20.3sf1-2
qbtaysom hill19.9sf1-3
qbphilip rivers17.8sf1-4
qbpatrick maomes17.6sf1-5
qbkyler murray17.5sf1-6
qbjosh allen17.3sf1-7
qbdeshaun watson16.7sf1-8

steps 5-6:


posnamefpbin
qblamar jackson34.9qb1-1
qbaaron rodgers30.9qb1-2
qbtua tagovailoa27.0qb1-3
qbbaker mayfield27.0qb1-4
qbdrew lock25.6qb1-5
qbmitchell trubisky25.0qb1-6
qbderek carr23.8qb1-7
qbrussell wilson22.1qb1-8
qbteddy bridgewater20.4sf1-1
qbjalen hurts20.3sf1-2
qbtaysom hill19.9sf1-3
qbphilip rivers17.8sf1-4
qbpatrick maomes17.6sf1-5
qbkyler murray17.5sf1-6
qbjosh allen17.3sf1-7
qbdeshaun watson16.7sf1-8
qb_baseline:22.7
posnamefpbin
rbderrick henry36.2rb1-1
rbjonathan taylor30.5rb1-2
rbmiles sanders29.6rb1-3
rbkareem hunt28.0rb1-4
rbmike davis26.3rb1-5
rbdavid montgomery24.5rb1-6
rbnick chubb24.3rb1-7
rbaustin ekeler22.6rb1-8
rbalvin kamara22.4rb2-1
rbcam akers21.4rb2-2
rbdalvin cook19.0rb2-3
rbchris carson18.8rb2-4
rbgus edwards18.3rb2-5
rbronald jones ii15.4rb2-6
rbdeandre swift15.0rb2-7
rbclyde edwards-helaire14.1rb2-8
rbkenyan drake14.0fl2-3
rbtony pollard12.8fl2-6
rb_baseline:22.4
posnamefpbin
wrstefon diggs29.1wr1-1
wrallen robinson27.3wr1-2
wrcalvin ridley26.4wr1-3
wrtyreek hill26.1wr1-4
wrty hilton25.6wr1-5
wrdavante adams24.5wr1-6
wraj brown24.2wr1-7
wrkj hamler22.6wr1-8
wrdeandre hopkins22.6wr2-1
wrbrandon aiyuk21.9wr2-2
wrnelson agholor21.0wr2-3
wrmarquez valdes-scantling20.5wr2-4
wrkeenan allen20.2wr2-5
wrkeelan cole19.7wr2-6
wrrashard higgins18.8wr2-7
wrrussell gage18.8wr2-8
wraj green18.2fl1-1
wrdk metcalt18.1fl1-2
wrrobbie anderson17.7fl1-3
wrtyron johnson17.5fl1-4
wrjuju smith-schuster17.5fl1-5
wrmichael thomas16.4fl1-6
wrcurtis samuel16.0fl1-7
wrlynn bowden jr15.4fl1-8
wramari cooper15.1fl2-1
wrcooper kupp14.3fl2-2
wremmanuel sanders13.8fl2-4
wrmarquise brown13.0fl2-5
wrtim patrick12.6fl2-7
wrdanny amendola12.6fl2-8
wr_baseline:19.6
posnamefpbin
tetravis kelce27.6te1-1
temike gesicki23.5te1-2
tetj hockenson16.3te1-3
teirv smith jr16.3te1-4
terobert tonyan14.6te1-5
tedarren waller14.5te1-6
temark andrews12.8te1-7
tejared cook12.7te1-8
te_baseline:17.3

step 7:


posnamefppbnfv
rbderrick henry36.2-22.4=13.8
qblamar jackson34.9-22.7=12.2
tetravis kelce27.6-17.3=10.3
wrstefon diggs29.1-19.6=9.5
qbaaron rodgers30.9-22.7=8.2
rbjohnathan taylor30.5-22.4=8.1
wrallen robinson27.3-19.6=7.7
rbmiles sanders29.6-22.4=7.2
wrcalvin ridley26.4-19.6=6.8
wrtyreek hill26.1-19.6=6.5
temike gesicki23.5-17.3=6.2
wrty hilton25.6-19.6=6.0
rbkareem hunt28.0-22.4=5.6
wrdavante adams24.5-19.6=4.9
wraj brown24.2-19.6=4.6
qbtua tagovailoa27.0-22.7=4.3
qbbaker mayfield27.0-22.7=4.3
rbmike davis26.3-22.4=3.0
wrkj hamler22.6-19.6=3.0
wrdeandre hopkins22.6-19.6=3.0
qbdrew lock25.6-22.7=2.9
wrbrandon aiyuk21.9-19.6=2.3
qbmitchell trubisky25.0-22.7=2.2
rbdavid montgomery24.5-22.4=2.1
rbnick chubb24.3-22.4=1.9
wrnelson agholor21.0-19.6=1.4
qbderek carr23.8-22.7=1.1
wrmarquez valdes-scantling20.5-19.6=0.9
wrkeenan allen20.2-19.6=0.6
rbaustin ekeler22.6-22.4=0.2
wrkeelan cole19.7-19.6=0.1
rbalvin kamara22.4-22.4=0.0
qbrussell wilson22.1-22.7=-0.6
wrrashard higgins18.8-19.6=-0.8
wrrussell gage18.8-19.6=-0.8
rbcam akers21.4-22.4=-1.0
tetj hockenson16.3-17.3=-1.0
teirv smith jr16.3-17.3=-1.0
wraj green18.2-19.6=-1.4
wrdk metcalf18.1-19.6=-1.5
wrrobbie anderson17.7-19.6=-1.9
wrtyron johnson17.5-19.6=-2.1
wrjuju smith-schuster17.5-19.6=-2.1
qbteddy bridgewater20.4-22.7=-2.3
qbjalen hurts20.3-22.7=-2.5
terobert tonyan14.6-17.3=-2.7
qbtaysom hill19.9-22.7=-2.8
tedarren waller14.5-17.3=-2.8
wrmichael thomas16.4-19.6=-3.2
rbdalvin cook19.0-22.4=-3.4
rbchris carson18.8-22.4=-3.6
wrcurtis samuel16.0-19.6=-3.6
rbgus edwards18.3-22.4=-4.1
wrlynn bowden jr15.4-19.6=-4.2
temark andrews12.8-17.3=-4.5
wramari cooper15.1-19.6=-4.5
tejared cook12.7-17.3=-4.6
qbphilip rivers17.8-22.7=-4.9
qbpatrick mahomes17.6-22.7=-5.1
qbkyler murray17.5-22.7=-5.2
wrcooper kupp14.3-19.6=-5.3
qbjosh allen17.3-22.7=-5.4
wremmanuel sanders13.8-19.6=-5.8
qbdeshaun watson16.7-22.7=-6.1
wrmarquise brown13.0-19.6=-6.6
rbronald jones ii15.4-22.4=-7.0
wrtim patrick12.6-19.6=-7.0
wrdanny amendola12.6-19.6=-7.0
rbdeandre swift15.0-22.4=-7.4
rbclyde edwards-helaire14.1-22.4=-8.3
rbkenyan drake14.0-22.4=-8.4
rbtony pollard12.8-22.4=-9.6
value_adjustment:-9.6

steps 8-10:


posnamenfvadjfv
rbderrick henry13.8+9.6=23.4
qblamar jackson12.2+9.6=21.8
tetravis kelce10.3+9.6=19.9
wrstefon diggs9.5+9.6=19.1
qbaaron rodgers8.2+9.6=17.8
rbjohnathan taylor8.1+9.6=17.7
wrallen robinson7.7+9.6=17.3
rbmiles sanders7.2+9.6=16.8
wrcalvin ridley6.8+9.6=16.4
wrtyreek hill6.5+9.6=16.1
temike gesicki6.2+9.6=15.8
wrty hilton6.0+9.6=15.6
rbkareem hunt5.6+9.6=15.2
wrdavante adams4.9+9.6=14.5
wraj brown4.6+9.6=14.2
qbtua tagovailoa4.3+9.6=13.9
qbbaker mayfield4.3+9.6=13.9
rbmike davis3.0+9.6=13.5
wrkj hamler3.0+9.6=12.6
wrdeandre hopkins3.0+9.6=12.6
qbdrew lock2.9+9.6=12.5
wrbrandon aiyuk2.3+9.6=11.9
qbmitchell trubisky2.2+9.6=11.9
rbdavid montgomery2.1+9.6=11.7
rbnick chubb1.9+9.6=11.5
wrnelson agholor1.4+9.6=11.0
qbderek carr1.1+9.6=10.7
wrmarquez valdes-scantling0.9+9.6=10.5
wrkeenan allen0.6+9.6=10.2
rbaustin ekeler0.2+9.6=9.8
wrkeelan cole0.1+9.6=9.7
rbalvin kamara0.0+9.6=9.6
qbrussell wilson-0.6+9.6=9.0
wrrashard higgins-0.8+9.6=8.8
wrrussell gage-0.8+9.6=8.8
rbcam akers-1.0+9.6=8.6
tetj hockenson-1.0+9.6=8.6
teirv smith jr-1.0+9.6=8.6
wraj green-1.4+9.6=8.2
wrdk metcalf-1.5+9.6=8.1
wrrobbie anderson-1.9+9.6=7.7
wrtyron johnson-2.1+9.6=7.5
wrjuju smith-schuster-2.1+9.6=7.5
qbteddy bridgewater-2.3+9.6=7.3
qbjalen hurts-2.5+9.6=7.2
terobert tonyan-2.7+9.6=6.9
qbtaysom hill-2.8+9.6=6.8
tedarren waller-2.8+9.6=6.8
wrmichael thomas-3.2+9.6=6.4
rbdalvin cook-3.4+9.6=6.2
rbchris carson-3.6+9.6=6.0
wrcurtis samuel-3.6+9.6=6.0
rbgus edwards-4.1+9.6=5.5
wrlynn bowden jr-4.2+9.6=5.4
temark andrews-4.5+9.6=5.1
wramari cooper-4.5+9.6=5.1
tejared cook-4.6+9.6=5.0
qbphilip rivers-4.9+9.6=4.7
qbpatrick mahomes-5.1+9.6=4.5
qbkyler murray-5.2+9.6=4.4
wrcooper kupp-5.3+9.6=4.3
qbjosh allen-5.4+9.6=4.2
wremmanuel sanders-5.8+9.6=3.8
qbdeshaun watson-6.1+9.6=3.5
wrmarquise brown-6.6+9.6=3.0
rbronald jones ii-7.0+9.6=2.6
wrtim patrick-7.0+9.6=2.6
wrdanny amendola-7.0+9.6=2.6
rbdeandre swift-7.4+9.6=2.2
rbclyde edwards-helaire-8.3+9.6=1.3
rbkenyan drake-8.4+9.6=1.2
rbtony pollard-9.6+9.6=0.0
everybody else0.0

<     >