Daily Fantasy, Computer Programming, and Statistical Analysis
In 2011 and 2012, I was an algorithmic trader in the financial industry, where I used automation and statistical analysis to create strategies for trading financial products. I didn’t study math in college and I had no experience in computer programming, so I ended up relying on the programming and math skills of the other quants and traders at my firm to develop and analyze strategies.
When I moved on to daily fantasy, I wanted to use what I had learned from my comrades and apply my new knowledge to predicting player fantasy performance in any sport. My first foray was creating an Excel based model for MLB player projections, which has gotten more advanced each year I’ve worked on it. The model now uses a lot of coding in a programming language called R, which I started learning this past year. I’ve used the knowledge I’ve gained in programming and stats to make countless tools for our site for NFL and NBA as well.
From my experience in daily fantasy for the past 3 years, one idea has stuck out. If I wanted to be good at daily fantasy, truly one of the best players in the world, I had to become a great computer programmer and be able to prove theories I had through statistical analysis. I still have a long way to go in both topics, but I have no doubt my success in daily fantasy has been through my knowledge in those two disciplines.
There are a lot of people who think they can win because of their strong intuition. They have a very good idea of who the good plays and bad plays are without really diving into the stats that deeply or actually having numeric projections. And I think you can do well without projections. Before I was able to make myself any useful tools through programming or verify any of my strategies through data, I did very playing daily fantasy NFL and NBA. I treated daily fantasy like poker, something I could get good at by just thinking about and digesting strategy. You don’t need to know data sciences to do well at DFS. But I didn’t truly succeed at daily fantasy until 2015 when I got serious with data science. That summer, I was the winner of one of the biggest fantasy MLB tournaments of the year, and had the most successful year of my career, poker or otherwise.
The first daily fantasy sport I took seriously was MLB. Everyday, I used to spend hours looking at different data on different websites, just to prepare myself to make lineups for the day. How did players perform in their last few games? How are they projected to do this season? How did they do the last few times they played this particular opponent? I would scour through Fangraphs getting this information, and it was incredibly tedious. Sometimes, I’d find a tool on a DFS website that fit my needs, but often the information I wanted wasn’t in an easily digestible form. My whole research process for baseball took a few hours, and that didn’t include looking at batting orders as they came out and actually producing lineups on FanDuel and DraftKings.
Through computer programming, that process now takes me almost no time, and with a whole lot more information. I would guess I do about 5 hours worth of baseball research in 15-20 minutes through programs and scripts. Instead of scouring all the pages of fangraphs, I look at key statistics for pitchers on a well organized spreadsheet which automatically updates every day. I have a model that gives me player projections based on the process I used to do in my head to give players a valuation. I still research baseball several hours a day during the season, but I’m able to process way more information than I used to be without programming skills.
As I continue to learn, there is more I hope to be able to do. There are a lot of unverified theories I have regarding daily fantasy strategy. One way to find out if a theory is a good one is by looking back through data and seeing whether that strategy works. You can’t really do that without doing some computer programming and having some knowledge of statistics. As I continue to improve my data science skills in 2016, I hope to be able to analyze and improve my strategies in a truly robust way.
Learning computer programming and statistics may seem daunting to someone who has very little knowledge about either field. But daily fantasy is a tremendous medium for a person to learn about these topics. All the tools I have made at DFW were only possible because I took the time to study the R programming language, and learning was a lot of fun and very rewarding. If you want to be a great daily fantasy player, not just a good one, become a student of data science.
For discussion and questions regarding programming and statistics, visit the data science forum.
View all posts by Daniel Steinberg