Skip to content

How To Not Play Fantasy

cdleong edited this page Aug 31, 2018 · 3 revisions

Not Playing Fantasy Sports, for Programmers

What's up?

I'm trying to "Not Play Fantasy Sports". That means I need to get the computer to do the work for me. To do that, I need to first understand How To Play Fantasy Sports. We'll start with the NFL.

Is it worth it to do this

(Answer: No way in heck. But it's fun) (from https://xkcd.com/1205/) No, probably not

Basic Outline of a Fantasy League

The basic phases of a fantasy league are:

  1. Draft players
  2. Weekly team management
  3. ???
  4. Profit!!

We will focus on Drafting as the first thing to Not Play.

Not Playing Fantasy Draft

What is "Drafting"?

Drafting is essentially a competitive minigame, where the players in a league take turns picking real-life players for their fantasy team. In our league, we use the "snake" method.

How to Draft Well?

Essentially, it's not possible to guarantee the results for any particular drafted team.

However, it is possible to make (probably wrong) projections about the performance of a team. Therefore, our basic goal instead is to end up with the team that is projected to earn the most points.

This is a more constrained problem, based on knowable things. If at the end of the day we have a team that is projected to do well, I'll be happy even if it does poorly.

Towards that end, there are factors to be considered:

  • Scoring rules for the league
  • Drafting rules for the league
  • Your draft order

Regarding picking a player...

  • Estimated points per game for a particular NFL player.
  • What position does he play?
  • What round are you currently in? Should you prioritize another player first?

Challenges to Solve

  • Gather data (sub-problem: current data)
  • Form a draft strategy
  • Interface with the league
  • Recommendations in real time
  • Do everything for me.

Roadmap to Actually Not Drafting

On the big day (Tuesday September 4), I'm not sure it's possible to have my auto-drafter actually connect to the real draft. So I'm starting with a "Draft Advisor" program. Basically, the plan is:

  1. Make a program that can gather data.
  2. Update it to simulate a draft. I'll "play" every draft position. On the big day, I'll input players to the program as they are picked. I can test this in mock drafts.
  3. Update it to calculate a ranked list of suggestions on the fly, based on what's already picked.