You might be interested in the prior article, Hockey Pool Part 1: Getting my head around the problem. Feel free to go give that a read.
When we first started the pool, our teams didn’t have any players. They didn’t have anything but names. That was the first decision I had to make: what to name my team. It’s absolutely crucial (and utterly inconsequential to winning the pool) to pick a good name. I went with Bring Back Gilmour, echoing the combination of nostalgia and desperation that any Leafs fan knows too well.
The 12 teams were assigned an order, 1 through 12. The first team got to pick a player for their team out of all the players in the NHL. Then the second team picked a player, out of all (minus 1) players in the NHL. And so on. After the 12th team gets to pick, the order reverses, such that the 12th team gets two picks in a row. Otherwise, it would be very unfair to the 12th team who would always be disadvantaged. This is called a snake draft. If there were only four teams, the draft would go 1 2 3 4 4 3 2 1 1 2 3 4, etc., until all of the teams are full. This happens over the course of one evening, with a short amount of time allowed between picks for each team to decide who to take.
For the second season this became more complicated, because of two more choices:
- We were allowed to trade draft picks. So now you’re not just using trades to optimize your current roster based on immediate performance, but you can strengthen or weaken your hand for the season after.
- We played in a keeper league, with three keepers. This means that at the end of the year I get to pick three of my players who don’t leave my team and don’t enter the draft. Then in the draft we all have three less roster spots to fill.
Most of my writing will be about draft strategy, even though there are so many other facets to the game. You’ve got to start somewhere.
Now I can fill in a few more details about my season. How did I, a novice, approach the draft? In perhaps the least interesting way possible: I didn’t. I didn’t even show up. I had a good reason not to – I was travelling for work.
If you’re not present during the draft, you can either set a ranking beforehand (I didn’t) or let the website (in this case, Yahoo) autodraft for you. Yahoo has a default set of player rankings. It’s common knowledge that autodrafting is disastrous.
This isn’t actually always true: there are some players who would be better off with an autodrafted roster than by their own horrible picks.
At the start of the season, I wasn’t even setting line-ups. This meant I was leaving a lot of free points on the table, by not having my players play the most games. My bench players weren’t playing any games, they were just a permanent bench whose only benefit was that other teams couldn’t claim them. I didn’t know any better. I didn’t realize that I could move players around my roster without limitation. I didn’t know that I could set them at the start of the week and then not have to worry about it.
I also had a weird allocation of positions on my team. This is a consequence of autodrafting, not that I knew any better. I could drop a goalie and add a forward and end up with many more points. I hadn’t figured out that I could drop and add my worst players throughout the week to get more games in (although I did not do this much until the very end of the season).
My season turned around when I figured out that I really wasn’t playing the game. I wasn’t taking advantage of simple tactical moves that would help me win categories, at no cost. When I awoke to this and started playing, along with making a couple of trades to balance out my roster, things started looking up.
Beginnings of Success
A younger version of myself might have entered immediately into optimizing. There’s a bit of a formula here:
- Find a decision choice that you have (e.g. the draft)
- Gather data, build a model, and optimize
It’s not quite that simple, because the game isn’t that simple. For starters, I didn’t know what I needed to optimize. It could be line-up management (the marginal adds/drops, picking a line-up for each day, trade values), or it could be optimal draft strategy. In any case there isn’t always a simple answer for what the right choice is. I needed to learn the game first.
This is a lesson I learnt from working in a few companies. Nuances matter. People learn the little details and become very good at making decisions. As a new entrant I might have higher technical and statistical sophistication, but I could apply them sub-optimally because I don’t understand the intricate details that add up to big differences.
People who do something for a long time build up this knowledge. Some of it is knowledge of “gotchas”, the rules and tactics that are critical to the game. Here just some of these include:
- Moving players in and out of your line-up
- That you need a certain amount of goalie starts for your goalie stats to count in a week
- That when players are dropped they go on waivers, and there’s an order to who is allowed to pick them
If I started optimizing without internalizing the rules, I could make big mistakes.
Some of the knowledge isn’t just the rules, but key heuristics towards optimal strategy. When the world’s top chess players compete, victory is not exclusively determined by who can see the most layers of moves ahead (at risk of scaring away my entire audience here, the term for this is ply). These players play deep strategies and see a lot of moves as patterns. There’s a feel to their position, they understand it intuitively. There’s a lot of research on this front (see: Adriaan de Groot).
Comparing elite chess players to casual hockey pool players might be a bit of a stretch, but there’s a point there. Players build up intuition. They learn things such as:
- What the right distribution of positions to have is. They don’t need to look at data or run an optimizer to know I don’t need three goalies
- The relative value of different players
- That the playoffs occur during the NHL’s regular season, not its playoffs. This means you don’t lose players if their teams are bad, and don’t have to factor team playoff predictions into your roster decisions
My first step had to be to learn the game. When I started, I made a list of notes of what I knew I didn’t know. Word for word, here is that list:
- How other players draft
- The value of a goalie vis-a-vis a F or D
- Threshold of C vs LW vs RW
- Consistency of stats
- Value of different stats
- Value of likely keepers
- Value of draft picks
Of course, to borrow Donald Rumsfeld’s terminology, that’s just the known unknowns. There were a lot of unknown unknowns, hopefully many of which I have now turned into known unknowns or even known knowns.
My first instinct was to jump into predicting, because prediction is my safe place. I could predict how many goals, assists, hits, blocks, etc., each player would have in the season. Ultimately (spoiler alert!) I would do this. But that’s not enough. Will predicting these things truly tell me which players I should have on my team? I still needed to understand line-ups. I needed to figure out the relative value of different point categories. For example, a goal is worth more than a hit because there are less of them – but then again, hits are more consistent and predictable…
Winning Year 1 by Playing for Year 2
I decided to improve my position for year 2. I was halfway through the first season and in the bottom half of the league. I didn’t want to entirely tank, because the rewards are so small and playing with intent to lose would be boring. The fun is in winning, at least in winning match-ups. So I resolved to play to win match-ups, which would force me to learn the game, but to try to improve my position for the next year simultaneously. This required either improving the quality of my three keepers, or acquiring draft picks. Improving keepers was tough, because everyone wants to guard their keepers, and players don’t degrade enough through one year of ageing to make for a lot of trade-offs of better older players for slightly worse younger ones. Improving my set of draft picks was easier.
I did this through two trades.
In the first, I traded Pekka Rinne, Evander Kane, and a 5th round pick for Patrice Bergeron, Martin Brodeur, and a 3rd round pick. I might just be the only person who ever traded for Martin Brodeur in a year where he played just 7 games as a 42-year old joining the Blues mid-season. Needless to say (despite the ribbing I got for that), Brodeur was not the point of that trade. The point was upgrading my pick while picking up a most excellent Patrice Bergeron in the process. Losing Pekka Rinne was tough given how well he played, but goaltender variability is high.
In the second trade, I traded John Tavares and a 7th round pick for P.K. Subban and a 1st round pick. Not only did I appreciate the pick improvement, but I traded a keeper at the relatively replaceable centre position for a top defenceman. Although Tavares is a great centre, we only get two centre spots and he cannot be used at either left-wing or right-wing. I’m expecting that the drop off from Tavares to another forward is not substantially worse than from Subban to another defenceman.
My opponents aren’t perfect in their game play either, which is why early season futility did not doom me. Which is why by the end of the first season, I had moved up to 6th of 12 in the standings, with a feasible play-off match-up against the 3rd seed. I got there through key roster improvements at the margin, combined with active play. After winning that match-up, I beat the 2nd seed in the following week, before losing the final by the narrowest of margins. That final match-up went down the wire, with me losing by a single close category.
Somehow I finished second, winning a bit of money, while picking up extra first and third round draft picks. I was fortunate to win match-ups against quality teams, and came quite close to beating one more. There was also good play and careful choices in those match-ups. All in all, good recovery, and not bad for my first time!
To see how I’m upping my game for next year, go to the next article in this series, Hockey Pool Part 3: Models and draft strategy.