End of the Recaps

When I started these recaps it was an experiment in blogging. I thought all the analysis on DFS and the Milly Maker was too focused on a single person’s winning lineup. Things like the best possible lineup and how a person creates lineups in a single week or throughout the course of a NFL season are much more important to look at.

Sadly I’ve come to the decision that I can know longer do these recaps. I’ve always wanted to make money in sports betting and DFS by actually being a contestant myself. I’ve thought of starting up actual paid services like a DraftKings lineup analysis tool and creating rich data in the form of proprietary player rankings with automated insights that help you understand your trends, successes, and areas to improve. But I feel I could never justify creating this service and selling it to people to use. It would erode my edge and be a huge conflict of interest for me.

I don’t necessarily disdain those who make money on educational content like al_smizzle, bales, or awesemo. Depending on your view of DFS meta it can make sense, or just your stance on making money. That type of thing is not for me (especially as someone who hasn’t won a Milly Maker or anything like that). And I totally believe creating content makes you sharper.

I saw some interesting discussion from Travis Pettey on twitter about paid sites and Awesemo. SamsonDFSTruth and Pettey go back and forth for a bit too. Although I like Samson and think he’s good for DFS to an extent, he can be overly critical at times.

Why I Started the Recaps and More on Why I’m Stopping

You might be wondering why I did the recaps in the first place if I didn’t want to erode my edge. Frankly put, I started because I started these as a noob and over time many readers and commenters helped me get better at DFS.

Me deciding to stop the recaps does coincide with my DFS contestant ratings being developed. DFS is hard! It is possible to make money in huge GPP’s but the amount of effort needed is high. I haven’t necessarily given up on DFS but I’m taking a different approach than entering 20 lineups in the same contest each week. I’m also switching gears a bit and focusing on investing. I think much of the same analysis I’ve worked on here is applicable to that arena — and has better long-term prospects for me and my financial goals in life.

Programming Category (English)468x60

As I developed my ratings one thing I looked at was the expected max score a player should have. Clearly entering more lineups helps but how much? Assuming a bell curve using the contest mean and variance I generated charts like this.

Num Entries vs Max Points

Mean of 143 and standard deviation of 28 as in the distribution of point totals in the Week 3 Milly Maker.

A bell curve is not the right distribution since creating lineups is sampling without replacement among other things. However this is a reasonable upper bound on expected performance in a GPP where top prize is most important). In reality you would want to change the mean and variance as the number of lineups in increases (the exact way to change would depend on the players strategy).

Creating ratings is hard because you must assume you can accurately identify the strategy used by a player and then evaluate them on that. And with such insane “pops” when you win makes many strategies potentially viable but they may only work 1 time out of 100! The below ratings assume players use strategies that should work each week. It does not provide extra benefits for contrarian strategies that may work only once. Below I show results from 2018-2019 thru Week 3 and only include those with over 14 contests entered and a median number of entries of 149 or 150.

screen_name num_contests prize entry_fee profit ROI rating
ranking
1 scottf1 21 86265.94 84000 2265.94 0.026975 3664.594996
2 giantsquid 21 1079243.20 102000 977243.20 9.580816 3646.340866
3 dacoltz 20 84659.56 101000 -16340.44 -0.161787 3623.235844
4 nomoreiloveyous 21 72291.73 102000 -29708.27 -0.291258 3601.595242
5 chess_is_ok 21 249035.00 235500 13535.00 0.057473 3600.432617
6 papagates 21 148720.07 235500 -86779.93 -0.368492 3599.464893
7 underjones 21 84985.00 111600 -26615.00 -0.238486 3594.416764
8 chipotleaddict 21 361855.63 235500 126355.63 0.536542 3594.325101
9 brorannosaurus_flex 16 175071.46 45000 130071.46 2.890477 3587.277878
10 petteytheft89 20 236068.43 214500 21568.43 0.100552 3586.852734
11 teejayortj 21 117365.93 108480 8885.93 0.081913 3579.919235
12 casbrm 21 165205.95 189000 -23794.05 -0.125894 3579.819150
13 smitty42 15 25267.62 36330 -11062.38 -0.304497 3575.979434
14 mavngoose 20 47862.50 50240 -2377.50 -0.047323 3571.652686
15 darcmaniluk 19 33661.43 54000 -20338.57 -0.376640 3570.338098
17 froggy000 17 53643.06 48000 5643.06 0.117564 3562.663763
18 suidmach 17 54696.37 48300 6396.37 0.132430 3562.182994
19 nilknarf 19 43729.83 46300 -2570.17 -0.055511 3558.618128
20 crunchlord 18 85929.09 51000 34929.09 0.684884 3558.023322
21 petrgibbons 21 96612.30 151620 -55007.70 -0.362800 3556.777121
22 dahladino 20 34531.52 53100 -18568.48 -0.349689 3556.122308
23 scout326 15 20861.52 42000 -21138.48 -0.503297 3552.958335
26 youdacao 20 193623.54 171000 22623.54 0.132301 3547.023337
27 rayofhope 21 64907.48 100500 -35592.52 -0.354154 3546.228422
29 donnygoon 19 32169.42 54000 -21830.58 -0.404270 3537.654548
30 cw279 21 34625.00 52700 -18075.00 -0.342979 3537.241799
31 wpalango 20 42354.31 68000 -25645.69 -0.377143 3536.576064
32 moklovin 21 47422.09 96070 -48647.91 -0.506380 3533.734527
33 al_smizzle 21 44475.54 64480 -20004.46 -0.310243 3532.209305
34 breezeproduction 21 156802.97 57580 99222.97 1.723219 3529.180821
36 jayk123x 21 49578.58 68170 -18591.42 -0.272721 3527.380773
37 miamiman 20 44706.54 63500 -18793.46 -0.295960 3527.373407
38 drdignam 19 34728.67 40320 -5591.33 -0.138674 3526.387955
39 karlsbergto 19 193703.85 67500 126203.85 1.869687 3525.389756
41 mikekim1174 20 20387.29 50120 -29732.71 -0.593230 3523.469513
43 royalpain21 18 36984.16 51000 -14015.84 -0.274820 3519.774780
44 wakeywakey 21 63636.82 112620 -48983.18 -0.434942 3519.614359
46 dirty6613 21 56441.55 61840 -5398.45 -0.087297 3517.053777
48 nolesman 20 66825.00 146220 -79395.00 -0.542983 3513.129060
49 tossboss 20 53914.57 69000 -15085.43 -0.218629 3507.605264
51 bric75 21 33838.62 69000 -35161.38 -0.509585 3507.556789
52 themish 18 23759.66 30050 -6290.34 -0.209329 3507.371287
53 powertron 15 116648.23 54000 62648.23 1.160152 3504.686534
54 anilprao88 19 28613.84 54000 -25386.16 -0.470114 3504.607106
55 emileheskey 18 46801.53 63000 -16198.47 -0.257119 3500.888134
56 mallen21 20 170788.83 69000 101788.83 1.475200 3499.426119
57 mrgoodseats 21 114678.82 90000 24678.82 0.274209 3498.669192
60 ending 20 55525.00 69000 -13475.00 -0.195290 3496.811806
61 driverseati 19 22683.33 51500 -28816.67 -0.559547 3496.198991
62 thatstunna 20 23907.99 44500 -20592.01 -0.462742 3496.048805
64 awesemo 21 66117.14 141000 -74882.86 -0.531084 3495.324703
65 mjordantmac 20 77490.72 69000 8490.72 0.123054 3495.073224
80 micahj 21 53473.89 60500 -7026.11 -0.116134 3482.640958
84 draftre56 19 147904.23 54120 93784.23 1.732894 3480.043067
86 rikkidee 21 86858.54 102000 -15141.46 -0.148446 3478.903485
88 sirpsychosexy 21 28619.15 59780 -31160.85 -0.521259 3477.826244
91 primetimeronnie 20 173438.48 44760 128678.48 2.874854 3475.509570
92 rbx88 18 18450.00 45020 -26570.00 -0.590182 3475.388900
93 chichiwobbler 19 30453.74 39000 -8546.26 -0.219135 3475.004142
99 mcampb05 20 30816.41 48660 -17843.59 -0.366699 3471.767654
101 dudeoflife 19 37253.20 44320 -7066.80 -0.159449 3467.416341
107 squirrelpatroldk 18 19200.25 36700 -17499.75 -0.476832 3464.877641
112 pokerfish52 21 38137.68 63140 -25002.32 -0.395982 3459.425121
114 randlan 19 27770.00 40320 -12550.00 -0.311260 3459.022817
120 nickelback4lyfe 18 1023170.00 34040 989130.00 29.057873 3456.657671
126 cubasugar1 19 71939.02 90910 -18970.98 -0.208679 3453.856308
128 jmc122 19 17479.75 39110 -21630.25 -0.553062 3453.411836
129 jbcjbcjbc 20 39745.00 67500 -27755.00 -0.411185 3452.986746
134 hailmary7777 15 25617.19 57000 -31382.81 -0.550576 3450.080897
139 brandonadams 20 43544.28 93130 -49585.72 -0.532436 3448.932827
141 congosong 20 92126.31 49080 43046.31 0.877064 3448.090769
154 i_am_starving 16 17145.00 45000 -27855.00 -0.619000 3439.464386
156 redcoat85 20 48654.51 64600 -15945.49 -0.246834 3439.269459
158 eritas2 21 40145.86 58500 -18354.14 -0.313746 3438.727399
166 savan1986 19 16290.43 43720 -27429.57 -0.627392 3436.084894
171 bidle 18 31925.00 87020 -55095.00 -0.633130 3435.390484
172 dr.karl 20 32403.11 69000 -36596.89 -0.530390 3435.296067
179 jsmanoc 20 19137.27 37300 -18162.73 -0.486936 3433.688056
186 bdholla89 21 28105.00 41560 -13455.00 -0.323749 3431.564252
189 meaganjoy 20 21741.64 68980 -47238.36 -0.684812 3430.194439
201 tomjk321 19 18236.79 33080 -14843.21 -0.448706 3426.667155
203 equanimity1 19 21565.00 54000 -32435.00 -0.600648 3426.176289
208 b4theflop 17 17024.17 44940 -27915.83 -0.621180 3424.651730
210 triple3xj 20 28702.90 36760 -8057.10 -0.219181 3423.514873
219 ahitspat 18 16033.26 27300 -11266.74 -0.412701 3419.317289
236 pallenium 18 18335.40 63000 -44664.60 -0.708962 3415.629543
252 legod 16 17750.73 31180 -13429.27 -0.430701 3410.595298
255 chapmoney31 20 24862.55 50440 -25577.45 -0.507087 3410.013990
284 i-hate-pants 16 30312.40 41440 -11127.60 -0.268523 3403.103682
409 xralius 19 24067.53 45100 -21032.47 -0.466352 3378.176685
458 kajkyle 17 47099.62 81440 -34340.38 -0.421665 3371.965139
693 mdmdhamd 16 30982.50 32910 -1927.50 -0.058569 3350.385496
919 skipbidder 21 25340.00 40460 -15120.00 -0.373702 3335.047611
962 nawmsayin 21 27141.74 51160 -24018.26 -0.469473 3333.103345
1806 shawnzhan 20 22835.89 64600 -41764.11 -0.646503 3301.543052
2199 booboobohannon 19 15190.00 47800 -32610.00 -0.682218 3292.178532
2346 markcpro 18 20672.73 48120 -27447.27 -0.570392 3288.637009
2501 gje627 15 27401.63 31300 -3898.37 -0.124549 3285.239307
3155 6furlong 19 18832.66 43760 -24927.34 -0.569638 3273.617680
3861 fcmurn 18 31160.25 45080 -13919.75 -0.308779 3263.681605
3868 makisupa 21 78433.06 80100 -1666.94 -0.020811 3263.599294
5978 thefantasybros 19 10355.00 48080 -37725.00 -0.784630 3241.722469
7564 nitbuster 16 38394.35 51830 -13435.65 -0.259225 3229.914552
39353 nicky6 21 19839.09 47840 -28000.91 -0.585303 3143.894403

Rating is based on max points of contestant in week divided by max points in winning lineup. It does not do a great job accounting for players who changed their number of max entries over time like Nickelback4Lyfe (or those who use more contrarian strategies). The actual ratings don’t make sense to compare players in terms of skill level due to the number of lineup dependence on expected maxes. Think of them more as a crude measure of likelihood to place first in the Milly Maker taking into account number of lineups.

You’ll notice quite a few familiar names in the top 10. And Awesemo’s rating is much, much lower than his Rotogrinder’s Ranking. When these things happen you have to think why? Is it a contrarian strategy, is the Milly Maker not his best contest but more of a publicity thing? These things are difficult to determine.

What’s Next?

I may still post the occasional NFL or NBA related analysis on this blog. I still fully intend to create a Learn Python through Sports Analytics course. But I am going to focus more on investing. I like the rich textual data in the form of SEC filings and books. I hope to analyze investment managers and companies. George Soros is the most intriguing to me because of his close relationship with his mentor, philosopher Karl Popper — whose views on the scientific method make so much sense.

Programming Category (English)468x60

I find it fascinating how successful people in DFS and investing have a philosophical bent. Here’s something I tweeted to Jonathan Bales of Fantasy Labs a while back.

And just now I checked chess_is_ok’s twitter and he’s reading Meditations and tweets about Taleb and Keynes on the regular.

For now I’m switching my gears mostly into investing and sports betting.

Thanks for Reading

Thank you to everyone who read these and has commented. I appreciate the support and hope I helped you with your lineups as well as providing an entertaining recap. Best of luck in the future!

Matteo Hoch

Matteo Hoch is the founder of Sports Data Direct and maintains a personal blog called Ergo Sum where he writes about data visualization and coding. You can generally find him in the DraftKings Sunday $3 early only contests under username mhoch2

9 Responses

  1. Frank M says:

    So you finally realized that the only real strategy for having a very small chance of winning a gpp is to max enter 150 line ups and it’s still almost all luck. I don’t think anyone can make consistent money on GPP’s. The guys that are making big money are doing so in the much smaller tournaments like triple and quadruple ups. Although , after reading all of your recaps (which are awesome ) I’ve finally developed a strategy that I plan to use in week 6 in the millionaire maker. I tested it this past week but made a few errors otherwise I would of done very very well. Thank you for your recap articles . I do feel they provide some very good information. Side note , have you noticed that the best possible lineups almost never have the same player at specific positions ? Fuller won’t ever be in the winning lineup the rest of the season. 😉

    • Matteo Hoch says:

      Yes haha, I agree GPP’s are hard and totally think the big money guys clean up in different contests. I think the Milly Maker is the hardest (most akin to lottery out of all the standard scoring contests).
      WR’s especially the cheaper ones seem not to repeat as often however I wouldn’t say Fuller will never make it again, this is at least his second time in an optimal lineup. Players with more consistent target share seem to appear much more often in the best possible lineups. McCaffrey is on another level the last two years.
      Good luck with your strategy and thanks for reading!

  2. Sir George says:

    Thanks for all the research and hard work. Really enjoyed the articles. Good luck.

  3. Garrincha67 says:

    All the best in your future endeavors. Thanks for all the recaps, they were always a great read and hopefully people can learn a lot from the information archived here. DFS is hard and one has to take a long term outlook on it. The problem is the rake is already absurdly high and the field is getting much smarter with each season reflected in ownership percentages. The ‘pros’ for sure make their money in the higher stakes with limited entry and lower rake. A milly win for the ‘pros’ while nice, it will be most likely be used as marketing tool to tout and sell subscriptions.

    I am much more interested in prediction markets such as ‘Augur’ ‘Gnosis’ going forward with version 2.0 going to be released in 2020. Predict on a wide range of subjects including sports is much more fun than the very narrow sports focus of DFS. The talks from a recent summit in London are posted on their channel now and check it out.

    • Matteo Hoch says:

      Thanks! And thank you so much for all the wonderful links/comments throughout the years. I was just checking out Augur again a few days ago (I think you shared it with me first a while back). I will check out that channel and Gnosis. Smart contracts are really cool and could be a boom for betting markets as well as all prediction markets.

      Augur seems to have volume issues for most markets right now but looks more promising by the week https://predictions.global/ is what I use

  4. Nilesh Gupta says:

    Really appreciated the advice over the years. Your blog will be missed. Thanks bud

Leave a Reply

Your email address will not be published. Required fields are marked *