A Metric for Measuring the Best Shooters in the NHL

Last week I published an article in which I argued that a natural prerequisite for determining who the best shooters in the NHL are is to compute NHL Shot Charts. Now we can actually define our metric and study rigorously who the best shooters are.

I encourage you to read our previous article, but I will be sure to recap the important information here.

Our Metric for the Best Shooters in the NHL

I am a significant believer in the concept of model simplicity. While I could take paragraphs and paragraphs to talk at length about the bias-variance tradeoff, I will opt for the quicker explanation here. The general idea is this: the best models are often the simplest. Similarly, the best metrics are often those that are the simplest. For example, even through the entirety of the sabermetrics revolution, perhaps the best predictors of batting ability are batting average and on-base percentage.

When coming up with metrics for various concepts in sports, the approach I take is to find the simplest possible metric that does what we want it to do. In the process I typically go through two questions that help me get to where I want to go.

  • What is the simplest possible way to aggregate the data into a single number measuring the concept at hand?
  • Do I need to adjust for anything so that my computed numbers tell a better story?

In this article I want to measure who the best shooters in the NHL are. Being a good shooter should manifest itself as making a higher percentage of your shots than your peers. The simplest possible way I could measure this would be to compute raw shooting percentage by dividing goals by shots taken.

Do I need to adjust for anything so that my numbers tell a better story? I see two ways in which the simplest possible metric I just proposed might be deficient. First, if I have one player who has one goal on four total shots, I don’t think I would feel confident calling them ‘as good of a shooter’ as a player with 100 goals on 400 shots. Second, it is entirely possible that some players take easier shots on average.

This second idea is perhaps clearer when considering NBA shooting percentage. There, the players who lead the league in shooting percentage are usually centers because most of their shots are layups. Just using raw shooting percentage unfairly boosts those players who take an easy selection of shots.

So, in defining our metric for the best shooters in the NHL we need to control for these things. Now comes the touch of creativity: How do we do this?

Controlling for number of shots taken is easy: just remove the players under some shot threshold. This is common practice when showing leaderboards for so-called rate statistics where quantities are measured per attempt.

Controlling for ‘difficulty of shots’ is a bit more abstract and there is no standardized, widely accepted method to do this. The approach I took was to use the notion of expected value of shots. A toy example: suppose our player took 20 shots, each of which have an 11% chance of going in. Then, the expected number of goals that should be scored over the course of these 20 shots is 20×11%=2.2 goals. If our player makes three of them, then he has performed 0.8 goals better than expectation. This 0.8 goals can be attributed to him shooting more accurately than league average.

Suppose a second player also makes 3 out of 20 shots but his shot selection leads to attempts that go in on average only 8% of the time. Then, the expected number of goals on this collection of 20 shots is 20×8%=1.6 goals. This second player has performed 1.4 goals better than expectation. So, even though both players have the exact same shooting percentage, I would be inclined to say that our second player is the better shooter because he added more goals above what would be expected for the shots he took.

This is our metric. For each player, we look at all the shots they took and computed how many goals a league-average shooter would have scored. Then, we look at the difference between true goals scored and expected goals scored. This number tells us ‘how many goals this player created above expectation by virtue of shooting well’.

Expected Value

There is one fairly significant wrinkle to the previous section. Every sentence in my example included the phrase ‘suppose their shots go in __ % of the time’. How can we possibly know the percent chance that a shot goes in?

This was precisely the content of our last article. I chose to determine difficulty of a shot based on distance from the net and where on the ice the shot originates from. Certainly other aspects affect shooting percentage other than location. However, those are harder to measure so quantifying difficulty by location is my suggested ‘simplest possible metric that does what we want’.

I computed the difficulty of a shot from every location on the ice by aggregating over 40k shots from the 2021 season so far. Eventually – after some smoothing and filtering operations – we were left with the shot chart shown below. Notice that we can use this shot chart to determine the percentage chance a shot goes on based on where the shot originated from.

League average shooting for

Before presenting our results, I will point out that we could do more here. Location is not the only thing that matters when determining whether or not a shot is likely to go in. Some other things that could change the percentage of a shot going in could include

  • Quality of opposing goalie
  • Distance to nearest defender
  • Whether or not your team is on a power play
  • Whether or not your shot attempt was assisted.

We could control for all these things and I hope that somebody eventually does. The more things we want to ‘factor in’ or ‘control for’, the more data we need. Those expanded results could be interesting, but I think that controlling for location is sufficiently complex to yield interesting results. Let’s look at those results now.

NHL Best Shooters

The chart below shows the best shooters in the NHL by the metric I presented above in the 2021 season.

PlayerGoals CreatedShotsGoals Created/100
Ryan O'Reilly 7.0 94.0 7.5
David Perron 2.9119.0 2.4
Vince Dunn 1.5 73.0 2.1
Oskar Sundqvist 0.4 32.0 1.2
Brayden Schenn 1.3 94.0 1.4
Jordan Kyrou 0.4 76.0 0.5
Ivan Barbashev-0.9 31.0 -2.8
Jaden Schwartz-1.7 57.0 -2.9
Colton Parayko-0.9 40.0 -2.3
Torey Krug-3.6 92.0 -3.9
Justin Faulk 0.5 91.0 0.5
Kyle Clifford-1.5 51.0 -2.9
Zach Sanford 2.4 58.0 4.1
Andre Burakovsky 4.5 73.0 6.2
Gabriel Landeskog 1.2112.0 1.1
Ryan Graves-2.2 83.0 -2.6
Samuel Girard 2.2 71.0 3.0
Mikko Rantanen11.4147.0 7.8
Cale Makar-0.2 68.0 -0.3
Joonas Donskoi 5.6 61.0 9.2
Nathan MacKinnon 1.4163.0 0.9
Nazem Kadri-4.6136.0 -3.4
J.T. Compher 2.0 36.0 5.5
Travis Hamonic-1.3 38.0 -3.4
Tyler Motte 1.9 38.0 5.1
Brandon Sutter 0.7 56.0 1.2
Bo Horvat 2.9 84.0 3.4
Brock Boeser 5.3 86.0 6.2
Elias Pettersson 3.2 63.0 5.0
Nils Hoglander-1.9 77.0 -2.4
Quinn Hughes-1.8 74.0 -2.5
Nate Schmidt 0.6 56.0 1.0
Jake Virtanen-1.2 47.0 -2.5
Tanner Pearson-3.3 74.0 -4.4
Alexander Edler-2.8 68.0 -4.1
Adam Gaudette-3.3 59.0 -5.6
Dominik Kahun 0.6 46.0 1.4
Hopkins-0.7104.0 -0.6
Jujhar Khaira-0.5 32.0 -1.6
Darnell Nurse 6.7114.0 5.9
Kailer Yamamoto-0.1 56.0 -0.3
Leon Draisaitl 9.7123.0 7.9
Connor McDavid 3.4152.0 2.2
Jesse Puljujarvi-3.3 90.0 -3.6
Tyson Barrie-0.8115.0 -0.7
Kyle Turris-0.2 26.0 -0.8
Adam Larsson 1.1 38.0 3.0
Ethan Bear-1.1 28.0 -3.8
Alex Chiasson 0.1 38.0 0.2
Evan Rodrigues 0.1 51.0 0.1
Sam Lafferty-3.4 31.0-10.8
Mark Jankowski 0.7 34.0 2.2
Mike Matheson-0.5 69.0 -0.8
Bryan Rust 1.4121.0 1.1
Jared McCann 3.2 71.0 4.6
Evgeni Malkin 2.4 64.0 3.7
Sidney Crosby 1.7129.0 1.3
Kris Letang 2.5 98.0 2.5
Teddy Blueger 0.7 32.0 2.1
John Marino-0.2 41.0 -0.4
Colton Sceviour 1.2 35.0 3.4
Brian Dumoulin 0.0 35.0 0.1
Brandon Tanev 1.8 43.0 4.2
Jake Guentzel 4.1111.0 3.7
Jason Zucker 1.2 43.0 2.9
Marcus Pettersson-0.1 28.0 -0.3
Travis Konecny 1.0 75.0 1.3
Joel Farabee 5.0 92.0 5.5
Claude Giroux 2.2 88.0 2.5
Philippe Myers-2.2 56.0 -3.9
Sean Couturier 4.4 81.0 5.4
James van Riemsdyk 0.6102.0 0.6
Nolan Patrick-1.4 43.0 -3.2
Kevin Hayes 0.8101.0 0.8
Travis Sanheim-2.7 65.0 -4.2
Michael Raffl-0.6 31.0 -2.1
Jakub Voracek 0.0 77.0 0.0
Oskar Lindblom 0.3 51.0 0.6
Ryan Carpenter-1.6 47.0 -3.3
Patrick Kane 0.4148.0 0.2
Alex DeBrincat 7.7119.0 6.4
Duncan Keith-1.6 91.0 -1.8
Pius Suter-0.6 83.0 -0.7
Nikita Zadorov-1.6 46.0 -3.5
David Kampf-6.1 55.0-11.0
Mattias Janmark 0.7 75.0 1.0
Dylan Strome 0.9 56.0 1.5
Jan Rutta-2.1 46.0 -4.5
Steven Stamkos 7.7 91.0 8.4
Alex Killorn 1.5 88.0 1.8
Victor Hedman 1.3117.0 1.1
Ondrej Palat 2.0 89.0 2.3
Erik Cernak-1.6 61.0 -2.6
Mathieu Joseph 4.4 46.0 9.7
Anthony Cirelli 1.6 55.0 2.9
Brayden Point 4.3103.0 4.2
Ryan McDonagh 0.5 63.0 0.8
Yanni Gourde 2.9 92.0 3.1
Blake Coleman-1.4 84.0 -1.7
Barclay Goodrow-0.7 55.0 -1.3
Pat Maroon-1.0 34.0 -2.8
Brendan Gallagher 0.8105.0 0.7
Alexander Romanov-1.8 64.0 -2.8
Josh Anderson 4.7 95.0 5.0
Nick Suzuki 0.1 76.0 0.1
Jeff Petry 5.9103.0 5.7
Shea Weber 1.5 89.0 1.7
Jonathan Drouin-4.8 72.0 -6.7
Tomas Tatar 1.7 68.0 2.5
Joel Edmundson-0.7 62.0 -1.1
Ben Chiarot-1.4 56.0 -2.6
Brett Kulak-1.3 46.0 -2.8
Tyler Toffoli 6.0119.0 5.0
Artturi Lehkonen-2.8 53.0 -5.2
Phillip Danault-1.9 60.0 -3.1
Mitch Marner-1.1124.0 -0.9
Ilya Mikheyev-4.0 90.0 -4.5
Zach Bogosian-1.8 34.0 -5.2
T.J. Brodie-0.9 43.0 -2.1
Joe Thornton-0.6 28.0 -2.1
William Nylander 0.7 96.0 0.8
Morgan Rielly-0.8 80.0 -1.0
Jason Spezza 2.4 63.0 3.7
Auston Matthews11.1162.0 6.9
John Tavares-3.2126.0 -2.5
Jimmy Vesey-0.3 41.0 -0.8
Zach Hyman-1.4113.0 -1.3
John Leonard-2.0 53.0 -3.7
Matthew Nieto-0.5 45.0 -1.2
Ryan Donato-6.0 96.0 -6.2
Noah Gregor 0.4 28.0 1.3
Brent Burns-0.6100.0 -0.6
Evander Kane 1.8142.0 1.3
Tomas Hertl 2.8 75.0 3.7
Logan Couture 4.2 95.0 4.4
Edouard Vlasic-0.4 31.0 -1.4
Erik Karlsson 0.5 82.0 0.6
Marcus Sorensen-2.3 26.0 -8.8
Mario Ferraro-1.5 52.0 -2.9
Kevin Labanc-0.5108.0 -0.5
Nikolai Knyzhov-0.4 31.0 -1.4
Timo Meier-4.1123.0 -3.3
Conor Garland-0.7115.0 -0.6
Lawson Crouse-3.2 52.0 -6.2
Nick Schmaltz-0.9 91.0 -1.0
Christian Dvorak 2.0 77.0 2.6
Clayton Keller 2.0 95.0 2.1
Drake Caggiula-2.7 31.0 -8.7
Larsson-0.9 59.0 -1.6
Tyler Pitlick 0.4 54.0 0.7
Jason Demers-1.0 30.0 -3.4
Jordan Oesterle-0.4 31.0 -1.2
Phil Kessel 7.2 87.0 8.2
Alex Goligoski-2.0 56.0 -3.6
Jakob Chychrun 6.7121.0 5.5
Derick Brassard 2.5 54.0 4.6
Nicklas Backstrom 6.1 74.0 8.3
Alex Ovechkin 8.2164.0 5.0
Garnet Hathaway-1.1 44.0 -2.4
T.J. Oshie 3.5 84.0 4.1
Richard Panik-1.0 40.0 -2.6
Jakub Vrana 4.8 71.0 6.7
John Carlson 4.3109.0 3.9
Zdeno Chara-0.0 53.0 -0.1
Justin Schultz-0.2 60.0 -0.4
Carl Hagelin-2.3 61.0 -3.7
Brenden Dillon 0.7 36.0 2.0
Curtis Lazar 0.6 40.0 1.4
Taylor Hall-7.1 97.0 -7.3
Rasmus Dahlin-0.4 81.0 -0.5
Eric Staal-3.3 67.0 -4.9
Riley Sheahan 0.5 28.0 1.8
Victor Olofsson 3.1101.0 3.0
Jack Eichel-3.6 61.0 -5.9
Dylan Cozens 0.6 31.0 1.9
Colin Miller 2.2 49.0 4.6
Tage Thompson-2.0 56.0 -3.5
Sam Reinhart 5.8 87.0 6.7
Rasmus Ristolainen 0.8 58.0 1.4
Tobias Rieder 0.1 50.0 0.1
Jeff Skinner-3.9 80.0 -4.9
Vincent Trocheck 4.4 94.0 4.6
Nino Niederreiter 2.5 96.0 2.7
Jordan Staal 2.6 79.0 3.3
Teuvo Teravainen-1.3 31.0 -4.2
Jesper Fast 2.2 30.0 7.2
Brady Skjei-3.0 77.0 -3.8
Haydn Fleury-1.2 49.0 -2.5
Brock McGinn 2.2 58.0 3.7
Martin Necas 1.7 86.0 2.0
Andrei Svechnikov-2.2117.0 -1.9
Jaccob Slavin-2.3 73.0 -3.2
Dougie Hamilton-0.6139.0 -0.4
Warren Foegele 0.9 64.0 1.4
Sebastian Aho 6.6115.0 5.7
Ryan Dzingel 3.8 38.0 10.1
Adam Erne 3.1 59.0 5.2
Luke Glendening-3.1 56.0 -5.6
Anthony Mantha 3.8107.0 3.5
Robby Fabbri 3.5 58.0 6.0
Patrik Nemeth 0.2 46.0 0.3
Dylan Larkin-4.6127.0 -3.6
Sam Gagner-0.1 60.0 -0.1
Vladislav Namestnikov-2.3 71.0 -3.3
Filip Hronek-1.9 90.0 -2.1
Tyler Myers 0.2 73.0 0.3
Josh Archibald 1.1 44.0 2.6
Kevin Fiala 2.6124.0 2.1
Nick Bjugstad-2.3 68.0 -3.4
Jonas Brodin 1.8 62.0 2.9
Joel Eriksson Ek-0.0 93.0 -0.0
Zach Parise-2.7 70.0 -3.9
Kirill Kaprizov 4.1106.0 3.9
Ryan Suter-1.8 64.0 -2.8
Nick Bonino 1.2 52.0 2.3
Mathew Dumba 1.2 70.0 1.7
Victor Rask 2.9 36.0 8.1
Jared Spurgeon-0.0 72.0 -0.1
Anze Kopitar 0.8 98.0 0.8
Matt Roy 0.2 46.0 0.5
Adrian Kempe 3.7101.0 3.6
Jeff Carter-4.7119.0 -4.0
Alex Iafallo-0.0 90.0 -0.0
Olli Maatta-1.3 30.0 -4.3
Andreas Athanasiou 2.4 63.0 3.7
Drew Doughty 3.9 78.0 5.1
Dustin Brown 4.0110.0 3.6
Gabriel Vilardi 0.9 41.0 2.2
Austin Wagner-2.3 58.0 -3.9
Jakub Zboril-1.4 33.0 -4.3
Patrice Bergeron 0.5140.0 0.3
Sean Kuraly-3.1 56.0 -5.5
Charlie McAvoy-0.4 71.0 -0.6
Trent Frederic-0.1 41.0 -0.2
David Krejci-2.5 61.0 -4.1
Jake Debrusk-2.7 59.0 -4.6
Matt Grzelcyk 0.3 59.0 0.6
Nick Ritchie-2.1 97.0 -2.1
Brad Marchand10.1 99.0 10.2
Brandon Carlo 0.9 31.0 2.9
Chris Wagner-2.6 44.0 -6.0
Jeremy Lauzon-0.5 35.0 -1.3
Yegor Sharangovich 0.5 84.0 0.7
Nikita Gusev-1.6 48.0 -3.3
Miles Wood 4.1101.0 4.0
P.K. Subban-0.0 92.0 -0.0
Andreas Johnsson-3.1 51.0 -6.1
Pavel Zacha 1.6 79.0 2.0
Jack Hughes-1.6102.0 -1.6
Damon Severson-0.9 67.0 -1.3
Ty Smith-1.0 64.0 -1.6
Kyle Palmieri-1.6 93.0 -1.8
Seth Jones-1.5114.0 -1.4
Riley Nash-1.7 40.0 -4.3
Oliver Bjorkstrand 4.3107.0 4.0
Boone Jenner-0.1 79.0 -0.1
Michael Del Zotto 0.8 62.0 1.3
Vladislav Gavrikov-1.2 40.0 -2.9
Eric Robinson-1.5 60.0 -2.4
Nick Foligno-1.5 73.0 -2.1
Zach Werenski 1.9 79.0 2.5
Cam Atkinson 1.6129.0 1.2
Max Domi 0.4 82.0 0.5
David Savard-1.9 48.0 -3.9
Alexandre Texier-1.3 59.0 -2.2
Luc Dubois 2.7 54.0 5.0
Erik Haula-1.9 59.0 -3.2
Ryan Johansen-2.7 52.0 -5.1
Viktor Arvidsson-3.0138.0 -2.2
Matt Duchene-3.8 52.0 -7.3
Nick Cousins-1.2 47.0 -2.5
Roman Josi-1.7110.0 -1.5
Colton Sissons 1.5 46.0 3.3
Ryan Ellis 0.1 52.0 0.3
Luke Kunin-2.2 49.0 -4.5
Rocco Grimaldi 3.5 59.0 5.9
Dante Fabbro 0.1 57.0 0.2
Filip Forsberg 0.7116.0 0.6
Calle Jarnkrok 4.0 70.0 5.7
Mathew Barzal-2.1114.0 -1.8
Josh Bailey-0.4 65.0 -0.7
Brock Nelson-0.1 97.0 -0.1
Anders Lee 1.8 80.0 2.2
Ryan Pulock-4.2 96.0 -4.4
Nick Leddy-2.3 59.0 -4.0
Matt Martin-0.4 58.0 -0.6
Casey Cizikas 0.7 52.0 1.3
Jordan Eberle 1.8102.0 1.8
Adam Pelech-1.8 68.0 -2.6
Gabriel Pageau 3.9 64.0 6.2
Cal Clutterbuck-2.3 44.0 -5.2
Anthony Beauvillier-1.0 76.0 -1.3
Scott Mayfield-1.2 65.0 -1.8
Mika Zibanejad 1.1123.0 0.9
Filip Chytil 2.3 46.0 5.0
Kaapo Kakko-1.2 68.0 -1.8
Kevin Rooney 1.0 42.0 2.4
Artemi Panarin 8.2 89.0 9.2
Chris Kreider 6.0 86.0 7.0
Alexis Lafreniere 1.0 54.0 1.9
Jacob Trouba-1.5 65.0 -2.4
K'Andre Miller 2.0 43.0 4.6
Julien Gauthier-2.2 36.0 -6.1
Brendan Lemieux-2.2 36.0 -6.0
Ryan Strome-0.4102.0 -0.4
Brett Howden-2.3 26.0 -8.7
Kevin Shattenkirk-1.7 74.0 -2.3
Max Comtois 3.2 67.0 4.8
Nicolas Deslauriers-0.4 45.0 -0.8
Jakob Silfverberg-0.3 88.0 -0.4
Rickard Rakell-5.5122.0 -4.5
Danton Heinen-2.4 59.0 -4.0
Cam Fowler-0.8 61.0 -1.3
Derek Grant 0.0 52.0 0.1
Troy Terry 1.1 52.0 2.1
Adam Henrique 2.6 71.0 3.7
Sam Steel 0.2 31.0 0.8
Shea Theodore-1.0123.0 -0.8
Jonathan Marchessault-1.8140.0 -1.3
Nicolas Roy-1.2 37.0 -3.3
Tomas Nosek 0.3 55.0 0.6
Max Pacioretty 7.3157.0 4.7
Zach Whitecloud-0.5 43.0 -1.1
Alex Pietrangelo-1.4 81.0 -1.7
Brayden McNabb 0.2 28.0 0.8
Mark Stone 4.9 71.0 6.9
William Carrier-1.9 45.0 -4.2
Reilly Smith-2.3 98.0 -2.3
Alex Tuch 2.2 99.0 2.2
William Karlsson-0.0 83.0 -0.0
Milan Lucic-0.4 60.0 -0.7
Matthew Tkachuk-6.1117.0 -5.2
Andrew Mangiapane 3.3 64.0 5.1
Johnny Gaudreau 6.2 84.0 7.4
Mikael Backlund-3.8112.0 -3.4
Noah Hanifin-1.0 85.0 -1.2
Rasmus Andersson-1.0 79.0 -1.3
Elias Lindholm 0.9103.0 0.8
Sean Monahan-2.4 89.0 -2.6
Mark Giordano 4.4 98.0 4.5
Chris Tanev 0.1 49.0 0.3
Derek Ryan-1.7 27.0 -6.2
Dillon Dube 0.7 61.0 1.1
Nikolaj Ehlers 7.4138.0 5.4
Adam Lowry 0.4 68.0 0.6
Patrik Laine 7.0 71.0 9.8
Mathieu Perreault 2.4 48.0 5.0
Neal Pionk-0.3 76.0 -0.4
Mark Scheifele 5.4 95.0 5.7
Nathan Beaulieu-0.8 26.0 -3.1
Kyle Connor 5.7139.0 4.1
Blake Wheeler-0.7 89.0 -0.8
Paul Stastny-0.3 80.0 -0.4
Derek Forbort-0.2 56.0 -0.3
Andrew Copp 2.5 93.0 2.7
Mason Appleton 3.0 61.0 4.9
Josh Morrissey-0.6 87.0 -0.7
Lars Eller 1.3 45.0 3.0
Evgeny Kuznetsov 0.3 69.0 0.4
Tom Wilson 3.8 59.0 6.4
Brandon Montour 1.3 72.0 1.7
Mike Hoffman 6.1 86.0 7.1
Matt Calvert-3.2 26.0-12.3
Brandon Saad 6.6 63.0 10.5
Edouard Bellemare 1.3 52.0 2.5
Devon Toews 0.9 91.0 1.0
Tyson Jost-4.0 70.0 -5.7
Wayne Simmonds-0.6 46.0 -1.2
Jake Muzzin-1.5 78.0 -2.0
Alexander Kerfoot 0.8 51.0 1.6
Justin Holl 0.1 39.0 0.3
Thomas Chabot-1.0 99.0 -1.0
Drake Batherson 3.8 91.0 4.1
Artem Anisimov-1.2 29.0 -4.1
Derek Stepan-2.8 44.0 -6.4
Brady Tkachuk-8.3180.0 -4.6
Tim Stützle-1.7 91.0 -1.9
Austin Watson-0.6 41.0 -1.5
Chris Tierney-0.0 43.0 -0.0
Erik Gudbranson-1.3 53.0 -2.4
Ivan Provorov 1.2 93.0 1.3
Justin Braun-1.5 42.0 -3.7
Kubel-1.4 41.0 -3.4
Philipp Kurashev 1.4 53.0 2.7
Dominik Kubalík 2.2122.0 1.8
Calvin de Haan-1.3 54.0 -2.4
Luke Schenn-0.6 28.0 -2.0
Tyler Johnson-0.0 60.0 -0.1
Patrick Marleau-1.7 42.0 -3.9
Christian Fischer-3.1 32.0 -9.8
Johan Larsson 2.0 42.0 4.8
Sam Bennett-3.1 67.0 -4.6
Nikita Nesterov-0.9 28.0 -3.2
Juuso Valimaki-0.6 59.0 -1.1
Brett Pesce-0.3 67.0 -0.4
Filip Zadina-2.9 83.0 -3.5
Bobby Ryan 0.8 73.0 1.0
Danny DeKeyser 0.8 27.0 3.1
Troy Stecher 1.1 41.0 2.7
Jonathon Merrill-1.3 35.0 -3.6
Jake Evans-2.2 40.0 -5.5
Paul Byron-0.3 36.0 -0.9
Jesperi Kotkaniemi-1.7 67.0 -2.6
Joel Armia-0.4 50.0 -0.9
Ryan Hartman 1.4 54.0 2.7
Marcus Johansson 2.3 29.0 7.8
Jordan Greenway-0.9 60.0 -1.5
Trevor Moore-0.4 67.0 -0.6
Blake Lizotte-1.9 38.0 -4.9
Charlie Coyle-1.0 63.0 -1.6
Craig Smith 1.1 95.0 1.1
Travis Zajac 3.1 42.0 7.5
Michael McLeod-0.2 44.0 -0.5
Dmitry Kulikov-2.0 43.0 -4.6
Nathan Bastian-1.8 33.0 -5.4
Liam Foudy-3.1 32.0 -9.7
Mattias Ekholm 1.0 86.0 1.1
Noah Dobson 0.5 54.0 0.8
Andy Greene-0.6 37.0 -1.6
Adam Fox 0.2 82.0 0.2
Pavel Buchnevich 5.7 95.0 6.1
Phillip Di Giuseppe-2.5 42.0 -6.0
Travis Dermott 0.7 32.0 2.1
Evgenii Dadonov 2.9 78.0 3.8
Nick Paul-3.7 82.0 -4.6
Colin White 1.2 56.0 2.2
Jani Hakanpaa-2.1 42.0 -5.1
Ryan Getzlaf-2.9 59.0 -5.0
Hampus Lindholm 0.9 29.0 3.2
Cody Glass 0.1 28.0 0.3
Chandler Stephenson 3.6 53.0 6.8
Alec Martinez 2.4 66.0 3.6
Adam Boqvist-0.9 34.0 -2.6
Connor Murphy-0.4 61.0 -0.6
Keith Yandle 0.2 84.0 0.3
Radko Gudas-1.8 70.0 -2.6
Frank Vatrano 2.6125.0 2.1
Anthony Duclair-3.9 78.0 -5.0
Aleksander Barkov 1.8139.0 1.3
Carter Verhaeghe 2.7106.0 2.6
Patric Hornqvist-3.2135.0 -2.4
Alexander Wennberg 4.3 60.0 7.2
MacKenzie Weegar-1.3 78.0 -1.6
Owen Tippett-0.3 57.0 -0.6
Aaron Ekblad 5.0101.0 5.0
Noel Acciari-4.0 58.0 -6.8
Anton Stralman 1.0 34.0 3.0
Eetu Luostarinen-0.9 33.0 -2.8
Jonathan Huberdeau 4.2 93.0 4.5
Ryan Lomberg-2.0 30.0 -6.6
Nic Dowd 1.8 47.0 3.8
Dmitry Orlov 3.3 57.0 5.7
Nico Sturm-0.8 44.0 -1.8
Jacob Larsson-0.9 33.0 -2.6
Josh Leivo-0.0 48.0 -0.0
Marc Staal-0.2 44.0 -0.3
Michael Rasmussen-2.9 39.0 -7.5
Kris Russell-1.9 35.0 -5.4
Jordan Martinook-3.1 52.0 -6.0
Matt Benning-0.3 35.0 -0.8
Henri Jokiharju 1.6 37.0 4.3
Cody Eakin-1.1 35.0 -3.3
Scott Laughton-0.8 73.0 -1.1
Marco Scandella-0.6 41.0 -1.6
Logan Stanley-0.5 48.0 -1.0
Valeri Nichushkin 0.5 78.0 0.6
Carl Grundstrom-0.3 51.0 -0.5
Brendan Smith 0.9 42.0 2.2
Ryan Lindgren-2.2 54.0 -4.1
Trevor Lewis-1.7 50.0 -3.4
Alex Galchenyuk-1.8 44.0 -4.1
Joshua Norris 3.5 76.0 4.6
Mike Reilly-2.9 78.0 -3.7
Connor Brown 4.9 95.0 5.1
Nikita Zaitsev-0.9 60.0 -1.5
Daniel Sprong 3.2 45.0 7.1
Kasperi Kapanen 1.8 48.0 3.8
Carson Soucy-0.8 32.0 -2.5
J.T. Miller 2.2 63.0 3.5
Keegan Kolesar-3.0 38.0 -7.8
Nicolas Hague 2.4 55.0 4.3
Sean Walker-2.4 64.0 -3.7
Janne Kuokkanen 1.2 43.0 2.7
Ryan Reaves-2.2 26.0 -8.3
Brandon Hagel-2.4 68.0 -3.5
Mikael Granlund 3.6 62.0 5.7
John Klingberg 1.8 82.0 2.2
Jamie Benn-1.8 95.0 -1.9
Miro Heiskanen 1.5 86.0 1.7
Jamie Oleksiak 0.6 56.0 1.0
Joe Pavelski 5.7 96.0 5.9
Esa Lindell-0.1 71.0 -0.2
Jason Dickinson 0.4 45.0 1.0
Denis Gurianov-2.7 99.0 -2.8
Nicholas Caamano-2.8 32.0 -8.8
Radek Faksa-3.3 76.0 -4.4
Andrew Cogliano-1.8 68.0 -2.6
Dylan Gambrell-0.3 40.0 -0.7
Olivier Joseph-0.2 27.0 -0.6
Tyler Ennis-0.7 36.0 -2.0
James Neal-1.0 32.0 -3.1
Pierre Engvall-1.6 45.0 -3.6
Nick Jensen 0.3 41.0 0.8
Mikhail Sergachev-2.9 91.0 -3.2
Callan Foote-0.8 39.0 -2.2
Kevin Stenlund 0.9 39.0 2.2
Michael Anderson-1.6 37.0 -4.3
Corey Perry 2.9 47.0 6.2
Jordie Benn-0.6 39.0 -1.5
Dylan DeMelo-1.4 29.0 -4.9
Max Jones-2.7 59.0 -4.6
Joakim Nordstrom-2.8 33.0 -8.5
Christian Djoos 0.1 38.0 0.2
Mark Pysyk-0.7 28.0 -2.4
Roope Hintz 5.0 67.0 7.4
Nicholas Merkley-0.8 31.0 -2.7
Colin Blackwell 6.0 47.0 12.8
Cody Ceci 0.6 41.0 1.5
Ben Hutton-1.7 51.0 -3.4
Connor Clifton-1.4 37.0 -3.7
Matt Irwin-1.1 27.0 -4.0
Kyle Okposo-2.9 45.0 -6.4
Gustav Forsling-0.1 64.0 -0.2
Radim Simek 0.2 26.0 0.9
Ty Dellandrea 0.2 30.0 0.8
Shayne Gostisbehere 4.0 76.0 5.2
Carl Soderberg 1.5 41.0 3.8
Yakov Trenin-0.2 44.0 -0.4
Conor Sheary 4.4 56.0 7.9
Jarred Tinordi-0.8 26.0 -3.0
Alexander Volkov 2.6 29.0 8.8
Jake Bean-1.2 41.0 -2.8
Darren Helm-2.8 69.0 -4.1
Jesper Bratt-2.7 73.0 -3.7
Oliver Wahlstrom 2.1 74.0 2.8
Jack Roslovic 2.7 59.0 4.6
David Backes 0.4 28.0 1.4
Isac Lundestrom 0.3 47.0 0.7
Juho Lammikko-0.8 35.0 -2.4
Logan O'Connor-1.8 37.0 -4.9
David Pastrnak 6.2135.0 4.6
Mikhail Maltsev 0.0 48.0 0.1
Blake Comeau-2.2 50.0 -4.3
Artem Zub 1.1 27.0 3.9
Jacob MacDonald-1.1 46.0 -2.4
Eeli Tolvanen 5.5 51.0 10.8
Evan Bouchard-0.2 34.0 -0.6
Ilya Lyubushkin 0.1 26.0 0.2
Dolan 3.1 26.0 11.9
Rudolfs Balcers-1.4 52.0 -2.8
Erik Brannstrom 0.5 30.0 1.7
Jason Robertson 3.6 89.0 4.1
Dylan Coghlan 1.4 27.0 5.3
Reese 2.5 52.0 4.7
Tucker Poolman-1.9 41.0 -4.7
Libor Hajek 0.9 29.0 2.9
Mats Zuccarello 4.1 52.0 7.9
Sami Vatanen 0.1 44.0 0.3
Ben Harpur-1.1 27.0 -4.2
Trevor Zegras-1.6 33.0 -5.0
Casey Mittelstadt 2.8 36.0 7.7
Mason Marchment-2.8 43.0 -6.4
Alexandre Carrier-0.9 26.0 -3.6
Vladimir Tarasenko-1.8 53.0 -3.4

Moreover, if we use the same metric to determine who the best shooting teams in the NHL are, we get the following results. Interestingly, this list matches quite well with the community zeitgeist for who the best offenses are.

TeamGoals CreatedShotsGoals Created/100
St. Louis Blues 9.21262.0 0.7
Colorado Avalanche 15.61496.0 1.0
Vancouver Canucks -6.31115.0-0.6
Edmonton Oilers 13.51249.0 1.1
Pittsburgh Penguins 21.61275.0 1.7
Philadelphia Flyers 7.01284.0 0.5
Chicago Blackhawks -4.51291.0-0.4
Tampa Bay Lightning 19.71297.0 1.5
Montreal Canadiens 3.21330.0 0.2
Toronto Maple Leafs -3.41360.0-0.2
San Jose Sharks-15.71295.0-1.2
Arizona Coyotes 8.51167.0 0.7
Washington Capitals 40.81244.0 3.3
Buffalo Sabres -3.41193.0-0.3
Carolina Hurricanes 5.81353.0 0.4
Detroit Red Wings -8.81242.0-0.7
Minnesota Wild 13.71193.0 1.1
Los Angeles Kings 0.61243.0 0.1
Boston Bruins -1.81361.0-0.1
New Jersey Devils -6.91239.0-0.6
Columbus Blue Jackets 3.71300.0 0.3
Nashville Predators -2.11335.0-0.2
New York Islanders -7.91286.0-0.6
New York Rangers 20.91257.0 1.7
Anaheim Ducks-12.91203.0-1.1
Vegas Golden Knights 6.91392.0 0.5
Calgary Flames -8.81314.0-0.7
Winnipeg Jets 21.51306.0 1.6
Ottawa Senators -6.81369.0-0.5
Florida Panthers -1.31496.0-0.1
Dallas Stars 4.21231.0 0.3

You’ll notice that in the tables above there are columns for goals created and for goals created per shot. These statistics can be interpreted in slightly different ways. Goals created is just measuring who has accumulated the most goals above average no matter how many shots they’ve taken. Goals created is a pure measure of total contribution to a team’s offensive production. Players with more shots have more opportunities to accumulate goals created.

Goals created per 100 shots is a better measure of who the best shooters are. Normalizing by number of shots taken is a way to not automatically reward the guy with more opportunities. Think of goals created as measuring a totally balanced offensive player while the per shot metric measures purely shooting ability.

Most Efficient Shooters

Using the ideas discussed above, we also gain access to an auxiliary statistic for players and teams which is best thought of as shot efficiency. If player A takes most of their shots from the 20% area while player B takes most of their shots from 15% area, then player A is more efficient with their shot selection. Regardless of if player A makes more of their shots than player B, player A earning higher quality shots is still desirable.

We can compute which players are efficient in their shot selection by adding up the expected value of all the shots they take and dividing by total shots taken. We can also do the same things for teams as a whole instead of individual players. The results are shown below. A correct interpretation of a 10 showing up below is that ‘my choice of shots leads to 10 more goals per 100 shots than a normal team/player’s shot selection’.

PlayerEfficiency
Ryan O'Reilly10.6
David Perron 8.5
Vince Dunn 6.1
Oskar Sundqvist11.3
Brayden Schenn11.4
Jordan Kyrou12.6
Ivan Barbashev12.5
Jaden Schwartz 9.9
Colton Parayko 4.8
Torey Krug 5.0
Justin Faulk 6.0
Kyle Clifford 8.8
Zach Sanford11.4
Andre Burakovsky10.3
Gabriel Landeskog13.2
Ryan Graves 3.8
Samuel Girard 4.0
Mikko Rantanen 9.9
Cale Makar 6.2
Joonas Donskoi15.4
Nathan MacKinnon 9.5
Nazem Kadri10.7
J.T. Compher11.1
Travis Hamonic 3.4
Tyler Motte10.7
Brandon Sutter 9.5
Bo Horvat13.3
Brock Boeser12.4
Elias Pettersson10.9
Nils Hoglander11.5
Quinn Hughes 5.2
Nate Schmidt 4.3
Jake Virtanen11.0
Tanner Pearson12.5
Alexander Edler 4.1
Adam Gaudette12.4
Dominik Kahun11.7
Hopkins12.2
Jujhar Khaira11.0
Darnell Nurse 5.5
Kailer Yamamoto14.5
Leon Draisaitl10.0
Connor McDavid12.9
Jesse Puljujarvi13.6
Tyson Barrie 5.1
Kyle Turris 8.5
Adam Larsson 4.9
Ethan Bear 3.8
Alex Chiasson15.6
Evan Rodrigues 9.7
Sam Lafferty10.8
Mark Jankowski 9.6
Mike Matheson 6.6
Bryan Rust12.1
Jared McCann10.9
Evgeni Malkin 8.8
Sidney Crosby11.9
Kris Letang 4.6
Teddy Blueger10.4
John Marino 5.3
Colton Sceviour10.8
Brian Dumoulin 5.6
Brandon Tanev12.1
Jake Guentzel14.3
Jason Zucker11.1
Marcus Pettersson 3.8
Travis Konecny10.7
Joel Farabee10.8
Claude Giroux10.0
Philippe Myers 3.9
Sean Couturier10.6
James van Riemsdyk12.1
Nolan Patrick12.5
Kevin Hayes10.1
Travis Sanheim 7.2
Michael Raffl11.8
Jakub Voracek10.3
Oskar Lindblom11.1
Ryan Carpenter11.8
Patrick Kane 9.2
Alex DeBrincat11.2
Duncan Keith 5.1
Pius Suter14.0
Nikita Zadorov 5.7
David Kampf11.0
Mattias Janmark12.3
Dylan Strome12.8
Jan Rutta 4.5
Steven Stamkos10.2
Alex Killorn10.7
Victor Hedman 5.8
Ondrej Palat11.2
Erik Cernak 5.9
Mathieu Joseph12.1
Anthony Cirelli13.4
Brayden Point12.3
Ryan McDonagh 5.5
Yanni Gourde13.2
Blake Coleman11.2
Barclay Goodrow12.2
Pat Maroon14.6
Brendan Gallagher12.6
Alexander Romanov 4.3
Josh Anderson10.8
Nick Suzuki10.4
Jeff Petry 4.9
Shea Weber 3.9
Jonathan Drouin 9.5
Tomas Tatar12.2
Joel Edmundson 4.3
Ben Chiarot 4.3
Brett Kulak 4.9
Tyler Toffoli12.6
Artturi Lehkonen10.9
Phillip Danault 9.8
Mitch Marner12.2
Ilya Mikheyev11.1
Zach Bogosian 5.2
T.J. Brodie 4.4
Joe Thornton12.8
William Nylander12.8
Morgan Rielly 6.0
Jason Spezza10.5
Auston Matthews12.9
John Tavares13.6
Jimmy Vesey13.0
Zach Hyman14.5
John Leonard 9.4
Matthew Nieto12.3
Ryan Donato12.5
Noah Gregor 9.4
Brent Burns 5.6
Evander Kane10.7
Tomas Hertl13.6
Logan Couture10.3
Edouard Vlasic 4.6
Erik Karlsson 5.5
Marcus Sorensen12.7
Mario Ferraro 4.8
Kevin Labanc 9.7
Nikolai Knyzhov 4.7
Timo Meier 9.8
Conor Garland 9.3
Lawson Crouse12.0
Nick Schmaltz12.0
Christian Dvorak13.0
Clayton Keller10.5
Drake Caggiula11.9
Larsson 5.0
Tyler Pitlick10.4
Jason Demers 3.4
Jordan Oesterle 4.4
Phil Kessel10.2
Alex Goligoski 5.4
Jakob Chychrun 5.2
Derick Brassard10.2
Nicklas Backstrom10.6
Alex Ovechkin 8.4
Garnet Hathaway11.5
T.J. Oshie12.5
Richard Panik10.1
Jakub Vrana10.2
John Carlson 5.2
Zdeno Chara 3.8
Justin Schultz 5.4
Carl Hagelin11.9
Brenden Dillon 3.5
Curtis Lazar13.6
Taylor Hall11.4
Rasmus Dahlin 5.5
Eric Staal10.8
Riley Sheahan 8.9
Victor Olofsson 8.8
Jack Eichel 9.2
Dylan Cozens11.0
Colin Miller 3.6
Tage Thompson12.5
Sam Reinhart10.6
Rasmus Ristolainen 5.5
Tobias Rieder 9.9
Jeff Skinner11.1
Vincent Trocheck13.4
Nino Niederreiter13.0
Jordan Staal13.2
Teuvo Teravainen10.6
Jesper Fast12.8
Brady Skjei 5.1
Haydn Fleury 4.5
Brock McGinn10.1
Martin Necas10.8
Andrei Svechnikov11.3
Jaccob Slavin 4.6
Dougie Hamilton 4.8
Warren Foegele12.7
Sebastian Aho10.8
Ryan Dzingel10.9
Adam Erne13.5
Luke Glendening10.9
Anthony Mantha 8.6
Robby Fabbri11.3
Patrik Nemeth 4.0
Dylan Larkin 9.9
Sam Gagner 8.4
Vladislav Namestnikov11.7
Filip Hronek 4.3
Tyler Myers 5.2
Josh Archibald11.1
Kevin Fiala 9.2
Nick Bjugstad12.2
Jonas Brodin 5.1
Joel Eriksson Ek14.0
Zach Parise12.5
Kirill Kaprizov11.2
Ryan Suter 4.3
Nick Bonino 9.2
Mathew Dumba 6.9
Victor Rask11.3
Jared Spurgeon 7.0
Anze Kopitar 8.4
Matt Roy 3.8
Adrian Kempe 9.3
Jeff Carter10.7
Alex Iafallo12.3
Olli Maatta 4.3
Andreas Athanasiou10.5
Drew Doughty 5.2
Dustin Brown10.9
Gabriel Vilardi12.4
Austin Wagner10.8
Jakub Zboril 4.3
Patrice Bergeron11.1
Sean Kuraly 9.1
Charlie McAvoy 6.2
Trent Frederic 9.9
David Krejci 9.0
Jake Debrusk11.4
Matt Grzelcyk 4.5
Nick Ritchie12.5
Brad Marchand11.0
Brandon Carlo 3.5
Chris Wagner10.6
Jeremy Lauzon 4.2
Yegor Sharangovich10.1
Nikita Gusev 7.5
Miles Wood 9.8
P.K. Subban 4.4
Andreas Johnsson12.0
Pavel Zacha10.6
Jack Hughes10.4
Damon Severson 5.7
Ty Smith 4.7
Kyle Palmieri11.4
Seth Jones 4.9
Riley Nash 9.3
Oliver Bjorkstrand 9.1
Boone Jenner10.2
Michael Del Zotto 5.1
Vladislav Gavrikov 5.4
Eric Robinson10.8
Nick Foligno11.7
Zach Werenski 6.4
Cam Atkinson 9.6
Max Domi 8.0
David Savard 5.9
Alexandre Texier 9.0
Luc Dubois11.6
Erik Haula11.6
Ryan Johansen12.8
Viktor Arvidsson 9.4
Matt Duchene13.1
Nick Cousins11.0
Roman Josi 6.1
Colton Sissons11.9
Ryan Ellis 5.5
Luke Kunin12.7
Rocco Grimaldi 9.3
Dante Fabbro 3.3
Filip Forsberg 8.9
Calle Jarnkrok10.0
Mathew Barzal13.2
Josh Bailey 9.9
Brock Nelson15.6
Anders Lee12.8
Ryan Pulock 5.5
Nick Leddy 5.7
Matt Martin11.0
Casey Cizikas12.1
Jordan Eberle11.9
Adam Pelech 5.6
Gabriel Pageau12.6
Cal Clutterbuck12.0
Anthony Beauvillier11.9
Scott Mayfield 4.9
Mika Zibanejad11.3
Filip Chytil10.2
Kaapo Kakko10.6
Kevin Rooney11.9
Artemi Panarin 7.6
Chris Kreider12.7
Alexis Lafreniere11.1
Jacob Trouba 5.4
K'Andre Miller 4.7
Julien Gauthier11.7
Brendan Lemieux11.6
Ryan Strome12.1
Brett Howden12.5
Kevin Shattenkirk 5.0
Max Comtois13.1
Nicolas Deslauriers 9.7
Jakob Silfverberg 9.4
Rickard Rakell11.1
Danton Heinen12.5
Cam Fowler 6.3
Derek Grant 9.5
Troy Terry11.4
Adam Henrique11.8
Sam Steel12.1
Shea Theodore 5.7
Jonathan Marchessault 9.2
Nicolas Roy14.1
Tomas Nosek14.0
Max Pacioretty 8.7
Zach Whitecloud 5.7
Alex Pietrangelo 5.4
Brayden McNabb 6.3
Mark Stone12.8
William Carrier13.1
Reilly Smith11.5
Alex Tuch12.9
William Karlsson13.3
Milan Lucic12.3
Matthew Tkachuk13.7
Andrew Mangiapane13.7
Johnny Gaudreau10.4
Mikael Backlund10.5
Noah Hanifin 5.9
Rasmus Andersson 5.1
Elias Lindholm10.8
Sean Monahan12.8
Mark Giordano 3.7
Chris Tanev 3.8
Derek Ryan13.6
Dillon Dube10.3
Nikolaj Ehlers 9.1
Adam Lowry11.1
Patrik Laine 7.1
Mathieu Perreault13.8
Neal Pionk 4.3
Mark Scheifele12.2
Nathan Beaulieu 3.1
Kyle Connor11.0
Blake Wheeler12.1
Paul Stastny15.4
Derek Forbort 3.8
Andrew Copp12.4
Mason Appleton 9.8
Josh Morrissey 4.1
Lars Eller12.6
Evgeny Kuznetsov 9.8
Tom Wilson12.2
Brandon Montour 5.2
Mike Hoffman 8.1
Matt Calvert12.3
Brandon Saad11.7
Edouard Bellemare 9.0
Devon Toews 5.6
Tyson Jost10.0
Wayne Simmonds14.3
Jake Muzzin 4.5
Alexander Kerfoot12.1
Justin Holl 4.9
Thomas Chabot 5.1
Drake Batherson10.2
Artem Anisimov11.0
Derek Stepan 8.7
Brady Tkachuk12.4
Tim Stützle 9.6
Austin Watson 8.8
Chris Tierney11.7
Erik Gudbranson 4.3
Ivan Provorov 5.1
Justin Braun 3.7
Kubel10.7
Philipp Kurashev12.4
Dominik Kubalík 9.7
Calvin de Haan 4.2
Luke Schenn 5.6
Tyler Johnson11.7
Patrick Marleau13.5
Christian Fischer 9.8
Johan Larsson11.9
Sam Bennett10.5
Nikita Nesterov 3.2
Juuso Valimaki 4.5
Brett Pesce 4.9
Filip Zadina 9.5
Bobby Ryan 8.6
Danny DeKeyser 4.3
Troy Stecher 4.7
Jonathon Merrill 3.6
Jake Evans10.5
Paul Byron12.0
Jesperi Kotkaniemi10.1
Joel Armia10.9
Ryan Hartman 8.5
Marcus Johansson 9.4
Jordan Greenway 9.8
Trevor Moore11.1
Blake Lizotte10.2
Charlie Coyle 9.6
Craig Smith 9.4
Travis Zajac11.6
Michael McLeod14.1
Dmitry Kulikov 4.6
Nathan Bastian11.4
Liam Foudy 9.7
Mattias Ekholm 4.7
Noah Dobson 4.7
Andy Greene 4.3
Adam Fox 5.9
Pavel Buchnevich10.8
Phillip Di Giuseppe 8.4
Travis Dermott 4.1
Evgenii Dadonov11.6
Nick Paul 9.4
Colin White12.1
Jani Hakanpaa 5.1
Ryan Getzlaf11.8
Hampus Lindholm 3.7
Cody Glass14.0
Chandler Stephenson12.1
Alec Martinez 7.0
Adam Boqvist 8.5
Connor Murphy 3.9
Keith Yandle 3.3
Radko Gudas 4.0
Frank Vatrano 9.1
Anthony Duclair11.4
Aleksander Barkov11.7
Carter Verhaeghe13.4
Patric Hornqvist12.0
Alexander Wennberg11.1
MacKenzie Weegar 5.5
Owen Tippett 9.4
Aaron Ekblad 5.9
Noel Acciari13.7
Anton Stralman 5.9
Eetu Luostarinen11.9
Jonathan Huberdeau10.5
Ryan Lomberg10.0
Nic Dowd13.2
Dmitry Orlov 4.8
Nico Sturm13.1
Jacob Larsson 2.6
Josh Leivo10.5
Marc Staal 7.2
Michael Rasmussen15.2
Kris Russell 5.4
Jordan Martinook 9.8
Matt Benning 3.6
Henri Jokiharju 3.8
Cody Eakin 9.0
Scott Laughton10.7
Marco Scandella 6.4
Logan Stanley 3.1
Valeri Nichushkin10.9
Carl Grundstrom10.3
Brendan Smith 4.9
Ryan Lindgren 5.9
Trevor Lewis 9.4
Alex Galchenyuk10.9
Joshua Norris11.2
Mike Reilly 3.7
Connor Brown 9.6
Nikita Zaitsev 3.1
Daniel Sprong 8.4
Kasperi Kapanen10.8
Carson Soucy 5.6
J.T. Miller10.8
Keegan Kolesar13.1
Nicolas Hague 4.7
Sean Walker 5.3
Janne Kuokkanen11.3
Ryan Reaves12.2
Brandon Hagel12.4
Mikael Granlund12.0
John Klingberg 5.2
Jamie Benn10.3
Miro Heiskanen 6.4
Jamie Oleksiak 6.1
Joe Pavelski11.8
Esa Lindell 5.8
Jason Dickinson10.1
Denis Gurianov10.8
Nicholas Caamano 8.8
Radek Faksa10.9
Andrew Cogliano 9.9
Dylan Gambrell13.2
Olivier Joseph 4.3
Tyler Ennis10.3
James Neal12.4
Pierre Engvall10.3
Nick Jensen 4.1
Mikhail Sergachev 5.4
Callan Foote 4.7
Kevin Stenlund10.6
Michael Anderson 4.3
Corey Perry12.9
Jordie Benn 4.0
Dylan DeMelo 4.9
Max Jones13.0
Joakim Nordstrom11.6
Christian Djoos 5.1
Mark Pysyk 6.0
Roope Hintz12.0
Nicholas Merkley 9.2
Colin Blackwell12.7
Cody Ceci 5.8
Ben Hutton 5.4
Connor Clifton 3.7
Matt Irwin 4.0
Kyle Okposo10.9
Gustav Forsling 4.9
Radim Simek 6.7
Ty Dellandrea 9.2
Shayne Gostisbehere 5.3
Carl Soderberg13.3
Yakov Trenin 9.4
Conor Sheary11.8
Jarred Tinordi 3.0
Alexander Volkov15.3
Jake Bean 5.3
Darren Helm 8.5
Jesper Bratt10.5
Oliver Wahlstrom 9.3
Jack Roslovic10.6
David Backes 9.3
Isac Lundestrom12.0
Juho Lammikko11.0
Logan O'Connor13.0
David Pastrnak 8.0
Mikhail Maltsev 8.3
Blake Comeau10.3
Artem Zub 3.5
Jacob MacDonald 4.6
Eeli Tolvanen 8.8
Evan Bouchard 3.5
Ilya Lyubushkin 3.6
Dolan11.1
Rudolfs Balcers14.3
Erik Brannstrom 5.0
Jason Robertson 9.4
Dylan Coghlan 5.8
Reese10.6
Tucker Poolman 4.7
Libor Hajek 4.0
Mats Zuccarello 9.4
Sami Vatanen 4.2
Ben Harpur 4.2
Trevor Zegras 8.0
Casey Mittelstadt11.7
Mason Marchment11.1
Alexandre Carrier 7.5
Vladimir Tarasenko 9.0

Now, the efficiency table for NHL teams:

TeamEfficiency
St. Louis Blues 8.8
Colorado Avalanche 9.3
Vancouver Canucks 9.3
Edmonton Oilers 9.6
Pittsburgh Penguins 9.6
Philadelphia Flyers 9.0
Chicago Blackhawks 9.7
Tampa Bay Lightning 9.7
Montreal Canadiens 9.1
Toronto Maple Leafs10.8
San Jose Sharks 9.8
Arizona Coyotes 9.1
Washington Capitals 8.9
Buffalo Sabres 8.8
Carolina Hurricanes 9.4
Detroit Red Wings 8.9
Minnesota Wild 9.4
Los Angeles Kings 9.0
Boston Bruins 8.6
New Jersey Devils 8.9
Columbus Blue Jackets 8.3
Nashville Predators 8.8
New York Islanders10.1
New York Rangers 9.4
Anaheim Ducks 9.4
Vegas Golden Knights 9.7
Calgary Flames 9.4
Winnipeg Jets 9.4
Ottawa Senators 9.0
Florida Panthers 9.2
Dallas Stars 9.1

Final Thoughts

One can think of decomposing total offensive efficiency into two components: quality of shots and conversion of shots. Having high quality of shots means taking shots with a higher expected value, a higher chance of going in. Being a good shooter implies that your shots go in at a higher rate relative to the quality of shot. Adding these two metrics together gives you a measure of total offensive efficiency. Using this idea of expected value consistently throughout sports is a powerful way to measure player’s values relative to league average.