Despite never being much of a sports fan as a child, as a young adult I became a huge fan of the NFL, particularly of The Atlanta Falcons. Doing so later in life, and as someone with an over-analytical tendency, has resulted in my viewing the experience as an experiment of sorts. One in which I observe and reflect on patterns even as I participate in them. One of the strangest aspects and one I am deeply affected by is that of team loyalty. Loyalty Snobery Sports has within it, the strangest of snobberies – one that centers around team loyalty. Watch some time as a team rises from the ranks towards a championship and their fans seem to multiply. You will see new hats and jerseys on the street and every day there will be new converts. But many of them will be chastised as fair weather fans. Their fandom
This is the third post in a series about my fantasy football auction strategy. I first wrote about the strategy here. Then after the season I started with part 1 of the retrospective. In this final post I have a few other thoughts that I’ll share. The Importance of the Draft Below are the positions each team ended in and the difference between their expected and actual results. We can see that in general, teams that predicted well on draft day performed well in the season. The r squared for the linear trend line here is .63 which means that for my seasons we can contribute about 63% of the final results to draft performance. What accounts for the other 37%? I would simplify the decision types in fantasy football by describing three. Draft day – who you predict will perform well In-season transactions; waiver wire, free agency & trades
Last August, before fantasy football season started, I came up with a strategy to approach the auction draft my work league was having. My season is now over, I didn’t make the playoffs, so I want to take a look back at that strategy to see what I can learn. The important part of this analysis is figuring out how much of my poor performance I should attribute to my draft strategy and how much to other factors. Streaming Defenses & Kickers The first thing I want to evaluate is my decision to ignore defenses & kickers in the draft. I instead focused my draft strategy around skill players; QB, RB, WR & TE. I did this because I planned to employ a method called streaming. This involves picking up and playing people based on their match-up each week instead of relying on one team. Over the 13 week season
This is my second year playing fantasy football and first year doing an auction draft. Being new to the format, I figured this was a perfect chance to study up and walk away with a dominant team. Here is how I prepared for and executed my fantasy football auction draft. My League First off lets talk league scoring so those of you that know what I’m talking about have context. 12 teams. QB, RB, RB, WR, WR, RB/WR/TE, TE, K, D, BN, BN, BN, BN. 13 players each including the 4 bench spots. Touchdowns are 6 points, missed FGs are -1, .1 pt per yard returning, no PPR. The small bench means we’re going to have an active waiver wire so I wasn’t concerned with grabbing a bunch of sleepers. Here is the team I ended up with. Strategy I did a few practice drafts and a bit of reading
There is a time to struggle and a time to ask for help. D3 has gotten the best of me. I’m sure it is something simple, but I don’t have my bearings in the language enough to figure out what the problem is. I tried a good bit of debugging and have verified everything I can think of: The dates are in the correct format The line has a width and renders with different values The data is making it all the way through the functions There are no errors blocking the script The x-axis range matches the data I decided to turn to stackoverflow for help and posted a question asking about why my lines aren’t showing up. Hopefully some kind soul will take mercy on me and point me in the right direction. In the mean time I’m going to populate the rest of my data into the
Tonight I changed my approach, at the advice of Sean Conaty, and decided to turn the CSVs into JSON using a separate python script that I would then load into D3 to visualize. I am much better at manipulating data in python, so this approach should help eliminate some of the frustration I faced last week trying to get the CSVs to load properly. Separating the way the data is stored from the format it is accessed in will let us take advantage of the best aspects of each. This is how many internal APIs work. I would consider this more of a hacked API as the script runs locally and I will only run it when I update the CSV. Overall it seemed to work pretty well. I am now looping over the correct teams and have the data in a usable format. The on thing holding me up is that
I’m going to pick up where I left off two weeks ago working on my chart of NFL team win percentages over time. Last week I focused on getting the infrastructure setup, which was much easier than I thought, and walking through a basic tutorial to get a line graph working in D3. This week I’m going to do some customization. Wins, Losses & Ties To get the chart working last week I simply calculated the win percentage for the Falcons for a few seasons and plugged this in. Realistically that isn’t scalable, I’ll want to be able to input data in the form of a W-L-T season record and have it render. To calculate a win % I will count each win as 1 point, loss as 0 points and tie as .5 points. I’ll then divide the sum by the total number of games to get a %.