With so many players being signed or traded, I’ve been posting a lot of Tweets like this one:
For most people, the stats on this image probably don’t mean much - if anything. I’ve gotten plenty of comments and DMs saying as much. I mean, you can tell that blue is good and red is bad, but other than that there’s not a lot of explanation; that’s the price of concise design, but I am a little bit overdue in explaining exactly what these metrics and numbers actually mean. So I’m going to do that here.
The first thing to know: None of these models were built by me. The data on these cards comes from much cleverer people who have built sophisticated models and compiled the best public hockey stat resources out there. Specifically, the EvolvingWild twins (whose Patreon can be found here) have built an amazing site - Evolving-Hockey where almost endless data can be found dating back to 2007-08. Give them your money.
What I’ve done (hopefully) is present these stats in a way that can help give some sense of a player’s general performance and impact, some context, and how their play has developed over time. So let’s get into it.
What are Percentiles?
My player cards present data in percentile form. Percentiles are a way of showing how a given player ranks compared to their peers. For example, if a forward has 85th percentile goals per 60 minutes, that means that they have a higher goals per 60 than 85% of forwards in the league. So an average goal scoring forward would have “50%” under G/60.
To be included in this dataset, a player needs to have played 200 minutes in a given season. This is to ensure that a certain sample size is required and, for example, that a guy who played three really good games doesn’t totally ruin the standard. With the exception of quality of competition, every stat on this card is based on a three-season weighted average, meaning that the 2019-20 season is weighted heavier than the 2018-19 season, which is weighted heavier than the 2017-18 season. That means that the results are not solely based on this past season, but the past season is the most important.
Forward Card
Context: Included to provide context are the player’s name, team, position, 2020-21 season age, and contract. Also included is role (which is based on time on ice per game) and the bottom right square which is QoC. That stands for Quality of Competition, and uses PuckIQ’s Woodmoney metric to assess how difficult the minutes played by a certain player are in terms of who they played against. So a player who’s constantly deployed against other teams’ best players would rank very high in terms of QoC. The metrics displayed on this card are adjusted for competition, so this should purely be seen as contextual information.
Projected Wins Above Replacement: The biggest number on the card, “Proj. WAR” shows a player’s projected 2020-21 Wins Above Replacement based on their past three seasons of work (weighted) and age. Wins Above Replacement, created by EvolvingWild, estimates how many wins a player individually contributes to his team compared to a “replacement-level” player (think 13th forward or 7th defenceman). A forward with a WAR of 1 or above probably belongs in a top six, and 4 or above is superstar territory. At a basic level, WAR is based on how a player impacts on-ice goals for and expected goals (scoring chances) against as well as penalties taken and drawn. For more info on how the stat works, you can check out The Athletic’s explainer or EvolvingWild’s own multipart rundown on HockeyGraphs.
Wins Above Replacement Components: The first four squares of the top row, “EV Off”, “EV Def”, “PP”, and “PK”, are parts of the Wins Above Replacement model. In short, they show a player’s percentile rank in terms of even strength offensive and defensive WAR as well as their contributions on special teams. As suggested above, EV Off and PP WAR is mostly based on a player’s estimated isolated impact on goals for when they’re on the ice, while EV Def and PK WAR is about limiting on-ice scoring chances. As you might imagine, the higher those percentile ranks are, the better.
Shooting: This stat is based on “finishing,” a word hockey analysts use to talk about how well a player finishes the scoring chances they get compared to what is expected based on the quantity and quality of their shots. A player who consistently outscores “expectations” (based on league-wide past results) would be considered to have great finishing.
Primary Points: “G/60” and “A1/60” are the two most straightforward stats here: they just show how a player ranks in 5v5 goals and primary assists per 60 minutes compared to his peers.
RAPM: RAPM (or regularized adjusted plus-minus) is a stat created by EvolvingWild which estimates how a player individually impacts events when they’re on the ice, isolated from teammates, competition, deployment, score, etc. There are two shown on this card, scoring chances for and against. On this card they’re represented as “xGF” and “xGA”, which stands for expected goals for and against. So in Toffoli’s case, you can see that he’s an elite driver of scoring chances for when he’s on the ice - 98th percentile - and he’s also solid at preventing them too - 70th percentile. To learn more, this Charlie O’Connor article on The Athletic is excellent.
The Graphs: The graphs are based on that same RAPM, but instead of showing a three-year sample it splits them up by season. This lets you see how a player’s impact has changed over time - did they improve or decline, did they become better defensively? The bottom graph shows three RAPM stats, impact on goals for (solid blue), expected goals against (solid red), and expected goals for (dashed light blue). When the solid blue is higher than the dashed blue, it could mean that a player had some on-ice shooting luck, or maybe they’re so talented at scoring or passing that they sustainably outperformed expectation. The top graph combines the solid blue and solid red to show the player’s aggregate impact.
Defenceman Card
Most of the stuff here is the same, with a few exceptions. Firstly, the WAR used here is not technically the same as on the forward card - it’s an adjusted form of expected Wins Above Replacement. Instead of using goals for impact as the measure of offence it uses expected goal impact, because defencemen don’t have the same control over finishing that forwards do.
Secondly, it shows two additional RAPM stats, impact on goals for and goals against. While neither of these stats is typically controllable by a defenceman (who isn’t in charge of scoring and can’t play goalie), there are some cases where it’s worth noting.
Thirdly, the charts on the right ignore goals for entirely and only show expected goals for.
Goalie Cards
Getting a good variety of goalie stats required taking stats from two sources, which isn’t ideal but was ultimately necessary given limited availability. So some inconsistencies might arise between the stats from MoneyPuck (Rebounds, High/Medium/Low Danger GSAx) and Evolving-Hockey (the rest).
WAR: EvolvingWild also have a WAR model for goalies, and a similar projection is made as was made for skaters. “5v5”, “4v5”, and “All” refer to percentile rankings in each of those situations.
Consistency: Goalies are notoriously inconsistent in terms of performance, so I’ve measured three-year consistency in terms of the variance between their past three seasons’ goals saved above expected per sixty minutes.
Quality Start % and Really Good Start %: Both of these stats are nominally available on Hockey-Reference but I’m unsatisfied with them because like save percentage they do not consider the quality of shots a goalie faces. Goals Saved Above Expected (GSAx) is a stat that does, so I decided to combine the two. To do this I manually went through game logs on EvolvingHockey and measured in what % of games a goalie saved 0 or more goals above expected (Quality Start) and more than 2 (Really Good Start). While a goalie’s three year weighted rate of these starts is the input, like all the other stats this is a percentile ranking. So a guy with a “99%” under RGS% does not play “really good” in 99% of his games.
GSAx/60 Timeline: Shows simply how a goalie’s ranked in each of the past three seasons in terms of performance per sixty minutes and charts it to see his trajectory. In Holtby’s case, this lets us see that he had a really bad season, which would not have been apparent otherwise.
Beautiful explanation man! Great work, I like the aesthetic of your player cards, too, very pleasing to read. The team cards are also great!
These cards are beautiful!! How did you go about creating them?