Handsome Fantasy Hockey League Settings
Below are the settings for our fantasy league, called the Handsome Hockey League. They have been optimized for your fantasy hockey pleasure. Please let me know if you have any comments at @orad or in a comment in the reddit thread.
Our guiding philosophy is that a well-built team should need to have good forwards (a balance between C, LW and RW), good defensemen, and good goalies. Teams can have a single player that’s a game-breaker, but the type of player should be able to be different. For example, the Habs have Carey Price (a goalie), the Leafs have Tavares and Matthews (great centers), the Sharks have Burns and Karlsson (great scoring defensemen), etc. This way, different (good) teams can be built with strength at one position at the expense of another.
One consequence of this philosophy is that the elite players of different positions should have approximately the same value. (That is, the top centers should have similar value to the top defensemen, etc.) This would also motivate more trades throughout the season. For example, suppose one team has 6 strong centers and no strong defensemen. They can play at most 4 centers a game, and can only keep 2 at the end of the year, so to make the best use of their assets they should probably move 1 or 2 of them at the deadline for some quality defensemen. If centers get systematically more points than defensemen, it would never make sense to trade a D for a C, and we would end up with a trading gridlock like other fantasy leagues often have.
We are using the Yahoo platform since it’s free, has a nice app, and supports keeper settings well. We are also using the “points” format instead of the “cats” format, since that’s the easiest way to make the approximate value of different positions equal.
We also have some other “common sense rules” we want to follow:
Finally the moment you have all been waiting for — below are the “optimal” stats
Skater stats | Goalie stats | |||||
Goals | 6 | Shot on goal | 1.6 | Wins | 5 | |
Assists | 4 | Block | 1.6 | Saves | 0.5 | |
Power play goals | 2 | Hit | 0.6 | Goals against | -2.0 | |
Power play assists | 2 | Face-off wins/losses | 0 | Shutout | 5 | |
Shorthand goals | 2 | Shifts / TOI | 0 | Loss / overtime loss | 0 | |
Shorthand assists | 2 | Plus-minus +/- | 0 | Games started | 0 | |
Game-winning goal | 3 | Penalty in minutes | 0 | |||
Hat trick | 0 | “Defensemen points” | 0 |
Using these stats, the best elite players are worth 15 pts, the worst players that would reasonably be drafted are worth 6, and an average player would be 10 pts. All player positions (C, W, D, G) positions roughly have similar value. More on this in the Analysis section below. To see the actual player values and ranking for the 2018-2019 season, see the top 300 players below.
A roster will consist of 22 players. The number of players of each position that can play each day is:
Position | Number of slots |
C | 4 |
LW | 2 |
RW | 2 |
D | 4 |
Utility | 1 |
G | 2 |
This means that the bench is 7 players deep. There will also be 2 additional slots reserved for IR+. (IR+ allows for “IR”, “Out” and “Day-to-day” players to be stored. Suspended players or “NA” players who have been sent down to the AHL for example cannot.)
Every team must select 7 keepers. 2 of the 7 must be D, and the other 5 can be F/D/G, with a maximum of 1 G.
The stat values and roster sizes that we have selected seem to achieve the goals set out in the philosophy. We can look at the distribution of players in the 2018-2019 season based on position using these stats:
The distribution in the top 50 and top 100 seems to be fairly even. In the bottom-right figure, we have what we call the “effective rank,” where we divide the rank by the number of active spots for that given position. Since every team needs more active centermen compared to the other positions (4 vs 2 for LW or RW, for example) they are more in demand and more “bad ones” will be activated on a given day. This is an additional control to make the different positions comparable, and when taken into account we obtain the effective rank. We see that all of the positions are roughly equal when using this metric, and so all of the players on the waiver wire of different positions will end up being equally bad (meaning no mad dash for the one good center on Monday morning.)
Goaltenders seem to be the most valuable position, followed by centers. This is why we ended up not using face-offs as a stat — they would only act to make centers even more valuable. I haven’t figured out exactly how to balance goalies further without adding more active rosters spots (which is hard to do with only 30 starting goalies in the league), but given that goalies don’t play every game I think this is fine for now. I’m open to suggestions!
One thing I have figured out how to consider is how to minimize “negative games,” which can happen if a goaltender has a particularly bad game. It’s not possible go analyze this by just looking at a player’s seasonal average, so to explore this we need game-by-game data. I wasn’t able to find it for individual players, but I did find it for teams. If we treat each team as having only 1 goaltender, and calculate their fantasy points for each game, we obtain the following graph:
Here, every point represents a single game, and every column is a team. Points below the red line correspond to “negative games,” where a you lose points by playing a goaltender. With our settings, this analysis tells us that < 4.5% of goalie games are negative. Also, only 4% of games are above 25 pts, putting the average squarely around 10, which is exactly what we want!
I’d like to contrast these figures with the “Yahoo default league settings”. Doing so makes it very clear that the stats for this year are an improvement under the guiding philosophy outlined above. You will see that there is much less parity — in particular, goaltenders are way over-valued, and defensemen are vastly underrepresented. You would never consider trading even a middling G for a handful of the best D in the league. There would also be no point in drafting any D until the middle rounds, and all general managers would rush to pick the best centers or goaltenders first, then the best wingers, all at the same time.
I am a physicist that loves hockey and applying physical principles to things that aren’t physics. I’m also the guy who settled how many points Jagr would have had if he never left for the KHL. (The answer is about 354 more points.)
Below are the top 300 players (skaters and goaltenders, min 20 GP):
Rank | Player | Position | Fantasy points/GP | Fantasy points/Season |
1 | Alex Ovechkin | LW | 15.9 | 1285.6 |
2 | Nathan MacKinnon | C | 15.2 | 1248.4 |
3 | Patrick Kane | RW | 14.9 | 1203.2 |
4 | Nikita Kucherov | RW | 14.6 | 1196 |
5 | Brent Burns | D | 14.5 | 1192 |
6 | Alexander Edler | D | 14.5 | 811 |
7 | Andrei Vasilevskiy | G | 14.4 | 761.5 |
8 | Patrice Bergeron | C | 14.3 | 930.8 |
9 | Kris Letang | D | 14.3 | 928.2 |
10 | Connor McDavid | C | 14.2 | 1110.4 |
11 | Gabriel Landeskog | LW | 14.2 | 1037.8 |
12 | David Pastrnak | RW | 14.2 | 938.2 |
13 | Auston Matthews | C | 14.1 | 959.4 |
14 | Jack Eichel | C | 13.9 | 1070.8 |
15 | Tyler Seguin | C | 13.9 | 1136.8 |
16 | Taylor Hall | LW | 13.8 | 455 |
17 | Mark Giordano | D | 13.7 | 1066.4 |
18 | Alexander Radulov | RW | 13.6 | 949.4 |
19 | John Tavares | C | 13.5 | 1107 |
20 | Ben Bishop | G | 13.3 | 614 |
21 | Steven Stamkos | C | 13.2 | 1081.6 |
22 | Sidney Crosby | C | 13 | 1030 |
23 | Laurent Brossoit | G | 13 | 273.5 |
24 | Dylan Larkin | C | 13 | 987.2 |
25 | John Carlson | D | 12.9 | 1031.4 |
26 | Leon Draisaitl | C | 12.9 | 1054.8 |
27 | Brad Marchand | LW | 12.9 | 1016.2 |
28 | Shea Weber | D | 12.8 | 744 |
29 | Roman Josi | D | 12.8 | 1050.2 |
30 | Mathew Dumba | D | 12.8 | 409.8 |
31 | Matt Murray | G | 12.8 | 639.5 |
32 | Vladimir Tarasenko | RW | 12.8 | 969.8 |
33 | Robin Lehner | G | 12.7 | 584 |
34 | Frederik Andersen | G | 12.7 | 759 |
35 | Jordan Binnington | G | 12.5 | 401 |
36 | Erik Karlsson | D | 12.5 | 663.8 |
37 | Louis Domingue | G | 12.4 | 323.5 |
38 | Darcy Kuemper | G | 12.4 | 683 |
39 | Mikko Rantanen | RW | 12.4 | 914.2 |
40 | Mika Zibanejad | C | 12.3 | 1011 |
41 | Blake Wheeler | RW | 12.3 | 1009.2 |
42 | Morgan Rielly | D | 12.3 | 1006.4 |
43 | Jaroslav Halak | G | 12.2 | 489 |
44 | Aleksander Barkov | C | 12.2 | 1001.4 |
45 | Jonathan Huberdeau | C | 12.2 | 996.8 |
46 | Thomas Chabot | D | 12.2 | 850.6 |
47 | Brayden Point | C | 12 | 951.2 |
48 | Connor Hellebuyck | G | 12 | 758 |
49 | Zach Parise | LW | 12 | 888.8 |
50 | Thomas Greiss | G | 12 | 515 |
51 | Cam Atkinson | RW | 12 | 956.2 |
52 | Evander Kane | LW | 11.9 | 895.6 |
53 | Mark Stone | RW | 11.9 | 915.6 |
54 | Dustin Byfuglien | D | 11.9 | 499.2 |
55 | Filip Forsberg | C | 11.8 | 757.2 |
56 | Johnny Gaudreau | LW | 11.8 | 969.2 |
57 | Mitch Marner | C | 11.8 | 967.2 |
58 | Carter Hart | G | 11.8 | 365.5 |
59 | Sebastian Aho | C | 11.8 | 966.8 |
60 | Victor Hedman | D | 11.8 | 824.6 |
61 | Sergei Bobrovsky | G | 11.7 | 725.5 |
62 | Evgeni Malkin | C | 11.7 | 794.6 |
63 | John Gibson | G | 11.7 | 676.5 |
64 | Carey Price | G | 11.6 | 768.5 |
65 | Marc-Andre Fleury | G | 11.6 | 707.5 |
66 | Curtis McElhinney | G | 11.6 | 381.5 |
67 | Alexandar Georgiev | G | 11.5 | 381 |
68 | Jonathan Toews | C | 11.5 | 946.2 |
69 | Sean Couturier | C | 11.5 | 921.8 |
70 | Seth Jones | D | 11.5 | 864 |
71 | Rasmus Ristolainen | D | 11.5 | 896.2 |
72 | Mark Scheifele | C | 11.5 | 940.8 |
73 | Jake Guentzel | C | 11.5 | 940.2 |
74 | Viktor Arvidsson | LW | 11.4 | 663.8 |
75 | Joe Pavelski | C | 11.4 | 858.2 |
76 | Alex Pietrangelo | D | 11.4 | 812 |
77 | Timo Meier | RW | 11.4 | 891.4 |
78 | Anton Khudobin | G | 11.4 | 468.5 |
79 | Braden Holtby | G | 11.4 | 672.5 |
80 | Pekka Rinne | G | 11.3 | 635.5 |
81 | Jacob Trouba | D | 11.3 | 929.4 |
82 | Tyson Barrie | D | 11.3 | 883.6 |
83 | Jacob Markstrom | G | 11.3 | 678 |
84 | Philipp Grubauer | G | 11.3 | 418 |
85 | Juuse Saros | G | 11.3 | 350 |
86 | Mike Hoffman | C | 11.2 | 922 |
87 | Petr Mrazek | G | 11.2 | 449.5 |
88 | Brendan Gallagher | RW | 11.2 | 920.8 |
89 | MacKenzie Blackwood | G | 11.2 | 257 |
90 | Tomas Hertl | C | 11.1 | 856.4 |
91 | Darnell Nurse | D | 11.1 | 909.8 |
92 | Sean Monahan | C | 11.1 | 864.2 |
93 | Casey DeSmith | G | 11 | 397.5 |
94 | Dougie Hamilton | D | 11 | 904.4 |
95 | Tuukka Rask | G | 11 | 505 |
96 | Erik Gustafsson | D | 10.9 | 865 |
97 | Ryan O'Reilly | C | 10.9 | 894 |
98 | Brent Seabrook | D | 10.8 | 845.4 |
99 | Jon Marchessault | C | 10.8 | 883.6 |
100 | Jeff Petry | D | 10.7 | 881.2 |
101 | Vincent Trocheck | C | 10.7 | 591 |
102 | Jeff Skinner | C | 10.7 | 880.4 |
103 | David Rittich | G | 10.7 | 481.5 |
104 | Torey Krug | D | 10.7 | 683.4 |
105 | Bo Horvat | C | 10.7 | 875.4 |
106 | Pheonix Copley | G | 10.7 | 288 |
107 | Justin Faulk | D | 10.7 | 873.8 |
108 | Jack Campbell | G | 10.6 | 330 |
109 | Phil Kessel | RW | 10.6 | 871.2 |
110 | Matthew Tkachuk | LW | 10.6 | 849.6 |
111 | Oscar Klefbom | D | 10.6 | 647.6 |
112 | Elias Lindholm | C | 10.6 | 859.4 |
113 | John Klingberg | D | 10.6 | 679 |
114 | Brady Tkachuk | LW | 10.6 | 751.8 |
115 | Alex DeBrincat | RW | 10.6 | 868 |
116 | Kyle Palmieri | RW | 10.6 | 783.2 |
117 | Cam Ward | G | 10.6 | 349 |
118 | Semyon Varlamov | G | 10.6 | 518 |
119 | Jamie Benn | LW | 10.6 | 823.6 |
120 | Claude Giroux | C | 10.6 | 865.2 |
121 | Jimmy Howard | G | 10.5 | 579.5 |
122 | T.J. Oshie | C | 10.5 | 726.6 |
123 | Logan Couture | C | 10.5 | 852.4 |
124 | Ryan Pulock | D | 10.5 | 862.8 |
125 | Craig Anderson | G | 10.5 | 525.5 |
126 | Mats Zuccarello | LW | 10.5 | 503.6 |
127 | Henrik Lundqvist | G | 10.5 | 544.5 |
128 | Elias Pettersson | C | 10.5 | 742.6 |
129 | Anders Nilsson | G | 10.5 | 376.5 |
130 | Ryan Getzlaf | C | 10.4 | 698.8 |
131 | Linus Ullmark | G | 10.4 | 385.5 |
132 | Tom Wilson | RW | 10.4 | 656 |
133 | Josh Anderson | RW | 10.4 | 853.4 |
134 | Ryan Nugent-Hopkins | C | 10.4 | 853.2 |
135 | Devan Dubnyk | G | 10.4 | 696 |
136 | Colton Parayko | D | 10.4 | 830.8 |
137 | Keith Yandle | D | 10.3 | 848.6 |
138 | Ryan Miller | G | 10.3 | 206.5 |
139 | Artemi Panarin | LW | 10.3 | 812 |
140 | Chris Kreider | C | 10.2 | 809 |
141 | Patrik Laine | RW | 10.2 | 837 |
142 | Matt Duchene | C | 10.2 | 745 |
143 | Corey Crawford | G | 10.2 | 398 |
144 | Drew Doughty | D | 10.2 | 836.2 |
145 | Brock Boeser | RW | 10.2 | 701.8 |
146 | Carter Hutton | G | 10.1 | 505.5 |
147 | Mikko Koskinen | G | 10.1 | 555.5 |
148 | Anthony Mantha | RW | 10.1 | 674 |
149 | Evgeny Kuznetsov | C | 10 | 761.4 |
150 | Dustin Brown | RW | 10 | 721 |
151 | Patric Hornqvist | RW | 10 | 687.2 |
152 | Blake Coleman | C | 10 | 776.8 |
153 | Ondrej Kase | RW | 10 | 298.6 |
154 | Brian Elliott | G | 9.9 | 258 |
155 | Jared Spurgeon | D | 9.9 | 811.8 |
156 | Max Pacioretty | LW | 9.9 | 652 |
157 | Max Domi | LW | 9.8 | 806.6 |
158 | P.K. Subban | D | 9.8 | 619.4 |
159 | Garret Sparks | G | 9.8 | 196 |
160 | Rickard Rakell | RW | 9.8 | 675.6 |
161 | Ryan McDonagh | D | 9.8 | 802.6 |
162 | Martin Jones | G | 9.8 | 604.5 |
163 | Evgenii Dadonov | RW | 9.7 | 797.8 |
164 | Kyle Connor | LW | 9.7 | 797.6 |
165 | Jake Muzzin | D | 9.7 | 777.8 |
166 | Anders Lee | C | 9.7 | 797.2 |
167 | Frank Vatrano | LW | 9.7 | 787.2 |
168 | Andrew Shaw | C | 9.7 | 611.8 |
169 | Jake Allen | G | 9.7 | 446 |
170 | Mike Green | D | 9.7 | 415.2 |
171 | Esa Lindell | D | 9.6 | 790 |
172 | Travis Hamonic | D | 9.6 | 664.2 |
173 | Jakub Voracek | RW | 9.6 | 750.2 |
174 | Nicklas Backstrom | C | 9.6 | 767.8 |
175 | Josh Morrissey | D | 9.6 | 565 |
176 | Ryan Ellis | D | 9.6 | 785 |
177 | Malcolm Subban | G | 9.6 | 201 |
178 | Andreas Athanasiou | C | 9.6 | 727.4 |
179 | Pierre-Luc Dubois | LW | 9.5 | 782.4 |
180 | Justin Williams | RW | 9.5 | 777.2 |
181 | Alex Tuch | RW | 9.5 | 701.2 |
182 | Radko Gudas | D | 9.4 | 724.6 |
183 | Carl Soderberg | C | 9.4 | 768.2 |
184 | Cody Ceci | D | 9.4 | 693.2 |
185 | Charlie McAvoy | D | 9.3 | 504.6 |
186 | Brayden Schenn | C | 9.3 | 672 |
187 | Brandon Montour | D | 9.3 | 765 |
188 | Anze Kopitar | C | 9.3 | 752 |
189 | Brandon Pirri | C | 9.3 | 287.6 |
190 | Jakob Chychrun | D | 9.3 | 491.6 |
191 | Shayne Gostisbehere | D | 9.2 | 719.6 |
192 | Mike Smith | G | 9.2 | 387 |
193 | Boone Jenner | C | 9.2 | 707.8 |
194 | Nate Schmidt | D | 9.2 | 558.4 |
195 | James van Riemsdyk | LW | 9.1 | 603.6 |
196 | Roberto Luongo | G | 9.1 | 392.5 |
197 | Nico Hischier | C | 9.1 | 628.8 |
198 | Tomas Tatar | C | 9.1 | 728.2 |
199 | Matt Niskanen | D | 9.1 | 728 |
200 | Oliver Ekman-Larsson | D | 9.1 | 736.8 |
201 | Erik Cernak | D | 9.1 | 527 |
202 | Andy Greene | D | 9.1 | 744.6 |
203 | Mikael Granlund | C | 9.1 | 717 |
204 | Jonathan Bernier | G | 9.1 | 317.5 |
205 | Shea Theodore | D | 9.1 | 716.4 |
206 | Johnny Boychuk | D | 9.1 | 670.6 |
207 | Mathew Barzal | C | 9.1 | 742.4 |
208 | Sam Reinhart | C | 9 | 741.8 |
209 | Sami Vatanen | D | 9 | 452 |
210 | Teuvo Teravainen | LW | 9 | 741.2 |
211 | Eric Staal | C | 9 | 726.6 |
212 | Reilly Smith | RW | 9 | 663.2 |
213 | Jason Zucker | LW | 8.9 | 723.6 |
214 | William Karlsson | C | 8.9 | 732 |
215 | Aaron Ekblad | D | 8.9 | 729.4 |
216 | Ivan Provorov | D | 8.9 | 728.8 |
217 | Jordan Staal | C | 8.9 | 443.8 |
218 | Alec Martinez | D | 8.9 | 531.6 |
219 | Erik Johnson | D | 8.8 | 707.8 |
220 | Mattias Ekholm | D | 8.8 | 707.4 |
221 | Ryan Suter | D | 8.8 | 724.4 |
222 | Alex Biega | D | 8.8 | 362.2 |
223 | Derek Stepan | C | 8.8 | 635 |
224 | Keith Kinkaid | G | 8.8 | 361.5 |
225 | Micheal Ferland | LW | 8.8 | 625.8 |
226 | Duncan Keith | D | 8.8 | 721.8 |
227 | Gustav Nyquist | RW | 8.8 | 711 |
228 | Rasmus Dahlin | D | 8.8 | 719.4 |
229 | Brock Nelson | C | 8.8 | 719.2 |
230 | Zach Werenski | D | 8.8 | 718 |
231 | David Perron | LW | 8.7 | 497.4 |
232 | Neal Pionk | D | 8.7 | 637 |
233 | Mike Matheson | D | 8.7 | 654.2 |
234 | Michal Kempny | D | 8.7 | 619 |
235 | Connor Murphy | D | 8.7 | 452.8 |
236 | Ian Cole | D | 8.7 | 615.4 |
237 | Ryan Dzingel | C | 8.7 | 675.8 |
238 | Craig Smith | C | 8.6 | 656.2 |
239 | Jakob Silfverberg | LW | 8.6 | 629.6 |
240 | Colin Miller | D | 8.6 | 558.8 |
241 | Mikael Backlund | C | 8.6 | 661.2 |
242 | Hampus Lindholm | D | 8.6 | 652.6 |
243 | Jaccob Slavin | D | 8.6 | 702.6 |
244 | Alex Goligoski | D | 8.6 | 650.6 |
245 | Justin Schultz | D | 8.6 | 248.2 |
246 | Anthony DeAngelo | D | 8.6 | 522 |
247 | Brady Skjei | D | 8.6 | 667.4 |
248 | Paul Stastny | C | 8.6 | 427.8 |
249 | Robert Hagg | D | 8.6 | 701.4 |
250 | Alex Galchenyuk | C | 8.6 | 615.6 |
251 | Zach Aston-Reese | C | 8.5 | 367.4 |
252 | Kevin Hayes | RW | 8.5 | 606.4 |
253 | Jake Debrusk | LW | 8.5 | 580.6 |
254 | Brandon Tanev | LW | 8.5 | 682 |
255 | Nick Foligno | LW | 8.5 | 620.6 |
256 | Nazem Kadri | C | 8.5 | 620.4 |
257 | Bryan Rust | RW | 8.5 | 611 |
258 | Kevin Shattenkirk | D | 8.5 | 618.6 |
259 | Deryk Engelland | D | 8.5 | 626 |
260 | Tyler Myers | D | 8.4 | 674.8 |
261 | Cory Schneider | G | 8.4 | 219 |
262 | Travis Konecny | C | 8.4 | 689.2 |
263 | Nino Niederreiter | RW | 8.4 | 687.8 |
264 | Ben Chiarot | D | 8.4 | 653.2 |
265 | Adam Larsson | D | 8.4 | 684.8 |
266 | Nikolaj Ehlers | LW | 8.3 | 517 |
267 | Kris Russell | D | 8.3 | 598.6 |
268 | Jonathan Quick | G | 8.3 | 382 |
269 | Zach Hyman | C | 8.3 | 589.6 |
270 | Jonathan Drouin | LW | 8.3 | 672 |
271 | Austin Watson | LW | 8.3 | 306.8 |
272 | James Reimer | G | 8.2 | 297 |
273 | Paul Byron | C | 8.2 | 461.8 |
274 | Danny DeKeyser | D | 8.2 | 428.8 |
275 | Cam Talbot | G | 8.2 | 288.5 |
276 | Ryan Johansen | C | 8.2 | 658.6 |
277 | Nick Bjugstad | C | 8.2 | 526 |
278 | Dylan Strome | C | 8.2 | 640.8 |
279 | David Krejci | C | 8.2 | 663.2 |
280 | Brandon Saad | LW | 8.2 | 654.2 |
281 | Noah Juulsen | D | 8.2 | 171.2 |
282 | Jaden Schwartz | C | 8.2 | 562.4 |
283 | Bobby Ryan | LW | 8.1 | 633.2 |
284 | Scott Mayfield | D | 8.1 | 641.2 |
285 | Joel Armia | RW | 8.1 | 462.2 |
286 | Mark Borowiecki | D | 8.1 | 429.6 |
287 | Brett Pesce | D | 8.1 | 590.6 |
288 | Matt Roy | D | 8.1 | 202.2 |
289 | Dan Girardi | D | 8.1 | 500.6 |
290 | Damon Severson | D | 8.1 | 661.4 |
291 | Travis Sanheim | D | 8.1 | 660.6 |
292 | Tyler Bertuzzi | LW | 8 | 587.2 |
293 | Mikhail Sergachev | D | 8 | 601 |
294 | Brian Dumoulin | D | 8 | 607 |
295 | Vinnie Hinostroza | C | 8 | 573.6 |
296 | Olli Maatta | D | 8 | 477.6 |
297 | Zach Bogosian | D | 7.9 | 516.6 |
298 | Dylan DeMelo | D | 7.9 | 611 |
299 | Casey Cizikas | C | 7.9 | 578 |
300 | Phillip Danault | LW | 7.9 | 639.2 |