clock menu more-arrow no yes mobile

Filed under:

Using a Neural Network to Predict Player Performance

Get the upper hand on your fantasy hockey opponents

Florida Panthers v Colorado Avalanche
Vincent Trocheck, seen celebrating here, is one of the biggest discrepancies in the neural network compared to projections
Photo by Doug Pensinger/Getty Images

On the eve of fantasy hockey draft season, we’ve enlisted the help of two of my friends from university to present their findings on the algorithm they’ve created to predict future performance (in points). Julius Booth is both a current Masters student in computer science and a ruthless dominator of hockey pools of which I have first hand experience. Cameron Morgan is fifth-year electrical engineering student at McGill University in Montreal, Canada.

Mile High Hockey: Explain the algorithm to a layperson.

Julius Booth: So what we’ve done is input around 30 stats into our algorithm - traditional ones (e.g., goals, assists, and games played) and advanced ones (e.g., Corsi, expected goals, shot distance). We employed a neural network (something that uses the combination of these stats that have been the most predictive of future stats, based on past seasons) to output a point total for each player.

MHH: How effective is the algorithm?

Cameron Morgan: It’s 25% more accurate than current professionals. Current predictions from gurus in the advanced stat community and more traditional outlets like or ESPN are one average 12 points off per player. Our algorithm is 9 points off.

JB: Our neural network only takes into account players projected to score over a certain limit (30 points for forwards, 20 points for defencemen) - players below this limit are not fantasy-relevant. The fact that the algorithm still provides better results than alternatives really speaks to its strength, as players with lower point totals tend to have much less variability in their point totals.

MHH: What are some players that your algorithm differs on compared to projections from sites like and TSN?

JB: The algorithm, by nature, downplays the point totals for players compared to other “man-made” projections. With this in mind, the discrepancies where our point totals are lower than the projections, for instance, are more pronounced than the other way around. That being said, we still have seen a few players in each direction that have piqued our interest.

CM: Vincent Trocheck (algorithm point total: 57 vs. point total: 50), Patrick Kane (algorithm point total: 88 vs. point total: 82), Brayden Point (algorithm point total: 52 vs. point total: 46), and Evander Kane (algorithm point total: 50 vs. point total: 45) are the algorithm’s biggest risers.

Notable players that the algorithm is low on include James van Riemsdyk (algorithm point total: 43 vs. point total: 59), Cam Atkinson (algorithm point total: 50 vs. point total: 65), and Alexander Ovechkin (algorithm point total: 58 vs. point total: 70).

MHH: What are the future plans for the algorithm?

JB: Changing the algorithm to weigh recent play more heavily is our next step right now. This would definitely make our output more fantasy relevant as it could greatly help with in-season add/drop decisions. Another thing would be taking into account the quality of teammates.

CM: My main goal would be to adapt the algorithm for use in the English Premier League.

MHH: Did you guys have any fantasy advice for our readers?

JB: If you’re stuck between a defenceman and a forward in the early rounds, take the dman. There’s a much larger talent drop-off (in terms of points) at that position than at forward.

Rather than just using one ranking system, put them in Excel and aggregate them. These will be better than any of the predictions on their own (i.e., wisdom of the crowd).

Don’t make picks in the earlier rounds based on changes of scenery (e.g., Radulov).

Don’t take goalies until the later rounds of your draft (unless your league really values them). Goalie performance is much harder to predict season-to-season than defence or forward, thus, you have a better chance of getting value here in the later rounds.

*On to the actual rankings:


Name Projected Points
Name Projected Points
connor mcdavid 91.91
sidney crosby 89.18
patrick kane 88.03
nicklas backstrom 77.99
evgeni malkin 77
nikita kucherov 76.84
tyler seguin 73.41
jamie benn 72.48
auston matthews 71.58
artemi panarin 71.52
john tavares 71.48
mark scheifele 70.85
ryan getzlaf 70.19
jack eichel 69.91
leon draisaitl 69.35
johnny gaudreau 69.27
vladimir tarasenko 69.04
david pastrnak 67.69
brad marchand 66.69
blake wheeler 66.27


Name Projected Points
Name Projected Points
erik karlsson 74.57
brent burns 70.44
victor hedman 64.46
roman josi 57
kris letang 56.69
john klingberg 53.77
p.k. subban 52.08
zach werenski 51.51
dustin byfuglien 50.93
kevin shattenkirk 50.9
duncan keith 49.95
tyson barrie 48.81
shayne gostisbehere 48.63
alex pietrangelo 47.8
john carlson 47.16
dougie hamilton 46.37
justin faulk 44.72
rasmus ristolainen 44.58
drew doughty 44.41
shea weber 41.67

*Only the top 20 at each position are shown, full rankings can be seen here.