Hacker News new | ask | show | jobs
by jah 3834 days ago
I built a system that scraped projections off http://apps.fantasyfootballanalytics.net/projections and joined them with weekly salary information from DraftKings. I then ran that data through a genetic algorithm that maximized projected fantasy points while keeping the team salary under the limit.

I entered about 10 matches ... and I lost every single match.

I don't know if my projection data was bad, my sample size too small, or if I was just unlucky. I gave up after a few weeks.

4 comments

Your sample size is too small and I don't think you put in enough effort into your algorithm. Projections can be used as the base of your own calculations but you need to do more. Look at other things like matchups and player matchups, and look out for value picks.

Based on my own experience, I've seen some absolute monsters enter with $10K and come home with $200K+ in a single weekend. These players create hundreds of different lineups each week and enter them in the big contests.

I scraped from about 6 different sites - went through millions of combinations and only did so-so. I think it's simple - the people that win play A LOT of rosters to cover their bases. That seems to be what the person in the story is doing and what I've read other big players are doing.
I'm curious if there is a way to scrape the historical roster data, so one could figure out how much variance the other players are getting. On FanDuel you can browse through the other rosters by hand, but the API doesn't appear to let you scrape the entire contest.
I'm curious, which sites did you scrape? Also by "so-so" do you mean that a simple majority of picks were winning? Modest winnings in DraftKings (or their competitors) could make for an interesting side-hustle or semi-passive income source.
I did a similar thing, with the same data. I created a maximizing team, and then some nearby teams. I'm doing slightly net positive (I've turned $200 into a whopping $229.) At this point. I really can't say if this is chance or indicating an advantage
Out of curiosity, how many thousands of dollars in programmer time did you spend to make that $29 bucks? Honest question, not being a jackass.
Since you asked : I've never billed an hour for my programming, so technically zero. I did spend dozens of hours, as I was starting from scratch skills-wise and using this as project to try and build some data science chops. I learned how to use pandas, xgboost, (I also wrote my own NBA projection app in the process) and a lot about optimizing performance in python. So well worth it. Tbh, I'm glad you asked because I had assumed that this was something a more experienced programmer would have been able to do before breakfast. Don't worry, though, my accountant will see to it that a minimum of that $29 is taxed.
Maximizing projected points isn't the right goal if you are trying to win against a large pool of players. Instead you want to maximize your variance.
I'd like to see someone describe how to do this in practice. Maximizing variance doesn't do you much if your high end doesn't beat the others, especially if you don't know how high you have shoot. If you overlap two candidate probability distributions and know what you have to beat in order to win, you can make a choice. In my dabblings in FanDuel, I've tried to maximize the expected value, and found that this produced surprisingly wild results - I've jumped from the 99 percentile one week to the .1 percentile the next.