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.

1. Introduction

2. League settings

2.1 Player stats

2.2 Roster Management

2.3 Keeper player rules

3 Analysis

4. About me

5. Top 300 players

1. Introduction

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:

2. League settings

2.1 Player stats

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.

2.2 Roster Management

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.)

2.3 Keeper player rules

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.

3 Analysis

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.

4. About me

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.)

5. Top 300 players

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