“Goaltenders are voodoo.” *Ahem* BULLSHIT. As a goaltender myself, I find this mantra lazy. After all, the position mostly comes down to geometry - a goalie’s size, angle, and depth at the time of a shot combine to formulate the percentage of net covered and therefore significantly influence the likelihood of a goal. Angle and depth are controllable, while size is mostly a product of genetics (and the size of your Vaughn set-up... Looking at you, Ryan Miller). Now, in a perfect world, the NHL would publish the player and puck tracking datasets that are allegedly arriving this preseason. With this data, a model can be formulated to derive the percentage of net covered, explore its correlation with save percentage, identify available goalies who excel at positioning, and identify rostered goalies who may benefit from additional skill engineering in this area. Until that time comes, we’ll make do with what we have - enriched PBP datasets.
Introducing Goalie GameScore - a type of “catch-all” metric that uses a blend of standard and advanced metrics to provide a one-stop readout of a goaltender’s performance in a given game. This metric is a goalie-specific descendent of the preceding Game Score introduced by The Athletic’s Dom Luszczyszyn in July 2016. Goalie GameScore (or just “GameScore” from now on) is derived from shot data provided by MoneyPuck. Each game, a weighted average of 4 metrics is calculated to derive an overall GameScore, or evaluation of single-game performance. The metrics, their definitions, and their weights are provided below:
I decided on these metrics since they had the highest correlation with a win of all the fields offered in the MoneyPuck shots dataset. For the first two metrics, Goals Allowed and Saves, the weights are simply their coefficient of correlation with our target variable, a win.
The weights for Saves Above Expected and WinSteals have been artificially boosted. The coefficient of correlation for these two metrics are truly 0.48 and 0.22 respectively, but this would have a negligible impact on any of the scores and therefore I decided a little bump was appropriate.
Once all GameScores have been calculated for the season, each score is then converted to a percentile so that a score of 100 is best, 0 is worst, and 50 is average.
A few things of note here:
Let’s take a look at the 2020-2021 season in terms of GameScore:
Over the course of 65 appearances, Andrei Vasilevski maintained the highest average GameScore of 62. However, Demko, Saros, Hellebuyck, and Varlamov all narrowly trail Vasy while having played slightly less games. Here's a look at Vasy's season:
Jordan Binnington turned in the best single-game performance according to GameScore after stopping 50 of 51 shots against the Vegas Golden Knights on April 7th. Binnington outperformed his expected saves by 3.5 saves and earned a WinSteal in the process:
On the topic of WinSteals, Juuse Saros led the league with 5 of his 36 appearances resulting in a WinSteal. Four of these performances came in March or later as he and the Predators surged to qualify for the playoffs.
Lastly, we have a view of the most “consistent” goaltenders over the course of last season. Now, you may be looking at this list of names and identify that these players did not have the best seasons last year - and you would be correct. By consistent, I am specifically measuring the variability in performances over the season, without specific focus on quality. This is calculated by the following formula:
Consistency = 100 - (2 x MAD(GameScore))
MAD refers to Mean Absolute Deviation which is a method of measuring variability relative to the average. In this case, if a player were to achieve the same score each time out, the MAD of their performances would be 0 and their Consistency would be 100. Inversely, if a player were to play only two games, registering the two polar opposite results of 100 and 0 respectively, the MAD would be 50 and the Consistency would be 0. With that said, let’s look at another view:
The consistency leaders in this chart would be the 5 icons farthest to the right. If we were to narrow in on which goalies were the most consistently good, only Nedeljkovic stands out on both axes while Carter Hart achieved the opposite status with the most inconsistent and poor results.
With these definitions in place, I was able to go as far back as the 2011 season and compile some historical views. Here's a look at the top 20 games since 2011:
That's right. The best performance ever recorded was in a losing effort. Joonas Korpisalo stopped 85 of 88 shots against the Tampa Bay Lightning in a 5 overtime thriller in Game 1 of the first round of the playoffs, outperforming his expected saves by over 3 saves and setting the record for most saves ever made by a goaltender on record. Otherwise, every other top performance is a WinSteal with some legendary names and a few surprising names.
Speaking of WinSteals, here is a breakdown of most thefts since 2011:
Bob certainly earned his massive deal although he is coming off of a very tough 2020 season. He has the most WinSteals and highest WinSteal Rate of this sample. However, if we sort by WinSteal Rate, we'll see some younger names on the list who are one their way to stockpiling some impressive counting stats in their careers.
Special heartfelt thanks to Matt Donders (@mattdonders) for his crafty data engineering work to help me develop the NHL API pipeline needed for this project, Dom Luszczyszyn (@domluszczyszyn) for his support and thought leadership, Daria Milas (@Kovaltrick) for her talented eye for design in creating the WinSteal icon, and MoneyPuck (@MoneyPuckdotcom) for making this dataset available.