The NFL season is starting tomorrow night and I am in a survival league this year. If you are not familiar, in a survival league, each week you pick one team to win their game. Once you pick a team, you can no longer pick them for the rest of the season. So you have to balance pick who you think has the best odds of winning this week and what the rest of the team's schedule looks like.
There are some sites online that are very helpful for deciding which team to pick this week. One of them is http://www.survivorgrid.com/. I was wondering if there was a way to use this information to automatically decide which team to pick. This is an optimization problem with a lot of moving pieces, so simulation seemed like a natural choice.
I downloaded the spreads for each game from that website (using some expert Excel skills). From the lines, I was able to discern the probability of winning the game from this paper. (I found out about this method from the book Mathletics.) Basically, I just assume that margin of victory for the game is normally distributed with a mean equal to the spread (meaning the bookies are on average right) and a standard deviation equal to 13.86 points (as found in that paper). I finally calculate the probability that the margin of victory (>0) is in the team's favor. There are obviously a lot of assumptions here (I doubt the spread is normal plus we are dealing with discrete amounts), but at least this gives us a ballpark.
So now I have the probability of each team winning each of their remaining games. Next, I simulated. If I wanted to spend more time, I would have used a genetic algorithm or some other AI to try to find the best combination of picks. But I decided to go brute force because I didn't want to spend a lot of time. Here was my process:
Finally, I took the average probability of winning it all when each team was selected for the first game. I then compared that to the average overall probability of winning it all. This should give you a good idea of what team to select this week.
This is probably the best way to use this data rather than looking at the best combination of picks since the lines for the rest of the year will see a significant change as they get closer. This also agrees with Vegas Watch's analysis, which I like to see.
There are some sites online that are very helpful for deciding which team to pick this week. One of them is http://www.survivorgrid.com/. I was wondering if there was a way to use this information to automatically decide which team to pick. This is an optimization problem with a lot of moving pieces, so simulation seemed like a natural choice.
I downloaded the spreads for each game from that website (using some expert Excel skills). From the lines, I was able to discern the probability of winning the game from this paper. (I found out about this method from the book Mathletics.) Basically, I just assume that margin of victory for the game is normally distributed with a mean equal to the spread (meaning the bookies are on average right) and a standard deviation equal to 13.86 points (as found in that paper). I finally calculate the probability that the margin of victory (>0) is in the team's favor. There are obviously a lot of assumptions here (I doubt the spread is normal plus we are dealing with discrete amounts), but at least this gives us a ballpark.
So now I have the probability of each team winning each of their remaining games. Next, I simulated. If I wanted to spend more time, I would have used a genetic algorithm or some other AI to try to find the best combination of picks. But I decided to go brute force because I didn't want to spend a lot of time. Here was my process:
- I told R to randomly sample which teams to pick each week (SD for week 1, IND for week 2, etc.)
- Using the probabilities I created from the spreads, I calculated the probability that this combination of picks goes undefeated the whole season. The probability of going undefeated is the product of winning all of the individual games.
- I wish there was an easy way, but I had to waste a lot of trials here. Whenever a team had bye and the random sample picked that team on that week, they obviously have a 0% chance of advancing. I wanted to prevent the random sample from selecting teams on a bye but it became a little hairy so I gave up.
- Do this 1,000,000 times
- Analyze the picks with the highest probability of going undefeated.
Finally, I took the average probability of winning it all when each team was selected for the first game. I then compared that to the average overall probability of winning it all. This should give you a good idea of what team to select this week.
This is probably the best way to use this data rather than looking at the best combination of picks since the lines for the rest of the year will see a significant change as they get closer. This also agrees with Vegas Watch's analysis, which I like to see.
I would need to formulate the problem differently to account for that. I think I would also need to have an idea of what teams people have picked in the past and what strategy they will use in the future. Then I could run a simulation and see which team gives the highest probability of finishing in the top x%.