The best part about hockey analytics these days is the wealth of innovative data scattered across the internet.
The worst part? That wealth of innovative data is completely scattered across the internet.
Corsica, Hockey Reference, Natural Stats Trick, and the Passing Project are all excellent resources that either scour the NHL’s play-by-play data or track stats themselves. Each offers different calculations of the data, from the Expected Goals model to scoring chances, to transition and passing data. They all provide pieces of the puzzle, but in their native state, they’re number soup that’s hard to parse, let alone relate to each other.
Visualizations help, especially those from Hockey Viz and Sean Tierney’s tableaus. However, when it comes to player analysis, there are ones that show a player’s relation to his teammates, but not many that show where he sits against the league.
Perhaps the best at this is Domenic Galamini Jr’s Hero charts, which show where players rank in five categories with a simple bar chart. It’s extremely handy for quick analysis, but it’s only updated in the summer and fails to include some of the more detailed stats that are now available. CJ Turtoro’s All-3-Zones charts provide a similar service for Corey Sznajder‘s Passing Project data, but that data is isolated and doesn’t show the rest of the player’s context.
In order to finish up my post-midpoint of the season analysis, I wanted to understand how each of the Avs were performing across a number of categories. Where are their strengths, where are their weaknesses, who is getting lucky or unlucky, and what might we expect from them in the second half of the year?
There wasn’t really a visualization out there that suited my needs, so 70+ spreadsheets later, I created one.
Using the Chart
At its core, the Player Evaluation Tool (PET Chart) is an expanded HERO chart. Just like its predecessor, it’s based on standard deviations instead of percentiles – which, in simpler terms (especially for those of us who would prefer to forget high school math), means that a 5 is average, most players rank between a 4 and 6, and anything in the 0-1 or 9-10 range is very rare. Basically, it’s based on a bell curve, which fit this middle-heavy data much better than a straight ranking.
372 forwards and 186 defensemen are included, which equates to roughly 12 forwards and 6 defensemen from each of the 31 teams. Some teams have a couple more than 18 players and some have a couple less, but the top players in all-situations time on ice after Saturday, March 3rd’s games make up the cohort.
Players that were traded still count as a single player, but their data is broken down into per-team results as well as a combined season total (TOT). So, if you’re itching to see how Matt Duchene is doing in Ottawa vs. his time in Colorado, that data is available in the chart.
Each data bar shows where the player ranks in comparison to the other forwards or defenseman of the league. The analysis was done separately for each position, but they’re all searchable from the same place.
If you hover over each bar, a tooltip will pop up to help explain the stat. Due to space limitations, they’re still pretty short, so here’s a more detailed break-down to help ease any confusion.
Average of Categories – a standardized average of a number of the other categories. It ignores the luck-based stats like PDO and Goals/Goals Against vs. Expected and focuses on process/result stats like ice time, goals, shots, assists, rates against, and transition. It’s meant to give an overall idea of a player’s effectiveness to quickly help make sense of this 20 stat chart, but it’s real-life usefulness is very limited. USE IT WITH CAUTION.
Category: Context – These stats aren’t very useful on their own, but provide a framework on how to judge the other categories.
Age – the age of the player on February 1st. In today’s NHL, youth is prized, so a 10 in this category indicates a teenager.
Ice Time – all situations ice time per game. For forwards, a 5 is around 15:30 in an average game, while it’s around 20 minutes per contest for defensemen. It’s equivalent to a 2nd/3rd line forward who gets some special teams usage and a second pairing defenseman. This is the only stat in the chart that includes special teams – all other stats are strictly 5 on 5 hockey.
PDO – on ice save percentage + on ice shooting percentage, which serves as in indicator of hot and cold streaks. Anything far above (10) or below (0) a 5 means there’s a strong chance the player is getting “lucky” or “unlucky”. This stat is most useful when trying to predict how the other numbers might change by the end of the year.
Zone Starts – Most shifts in the NHL start on the fly, but when the coach gets a chance to decide who heads out for a faceoff in the offensive or defensive zones, who gets the call? Players with high (10) scores primarily start in the offensive zone and are more likely to have higher goal numbers. Likewise, players with low numbers (0) start many of their shifts on defense.
Category: Goals – the results and the process behind scoring individual goals.
Goals – 5 on 5 goals per hour, or the effectiveness of a player when it comes to scoring. Since this is a rate, it doesn’t penalize low minute players, but the elites in this category typically receive a large number of minutes as a result. However, there are some depth scoring gems that still rank very well, such as Ondrej Kase and Sonny Milano.
Goals vs. Expected – the expected goals model looks at a shot’s type, location, and other factors to determine how likely it is to become a goal. This bar factors in the number of goals the player has scored to determine if they’re netting more than expected (10) or getting robbed (0). Like PDO, this stat is most useful when trying to predict how a player’s goal totals might change through the second half of the year, as it naturally wants to regress to a 5.
Shooting % – a player’s even strength shooting percentage. For forwards, anyone with a 8-10% received a 5, while defensemen are around 4% on average. Alexander Kerfoot currently leads the league with a 31.0%, which has been great for the Avs so far, but is very worrisome moving forward. Very few players maintain a shooting percentage that far above league average over the course of their careers, and the stat has a tendency to go cold very quickly. Bank the points while you can, but this serves as a warning flag for the future.
Shots – shot attempts, including misses and blocked shots, per hour. Players who tend to shoot more tend to score more, so this is a good predictor of which way the player’s scoring might head over the remaining games this season.
Category: Assists – a player’s playmaking ability to help create shots and goals.
Assists – 5v5 primary assists per hour. It’s very difficult to predict secondary assists. Sometimes they’re awarded even when the player didn’t have a huge hand in creating the goal, and sometimes they’re not awarded at all. There’s a lot of bias and not a lot of repeatability, so focusing on primary assists – passes made directly to a goal scorer – is a better measure of a player’s playmaking abilities.
Shot Assists – (Note: This is the first of seven stats taken from the Passing Project. See “Category: Passing Project” for more information below.) Primary passes leading to shot attempts per hour. Just like shots, they’re a process stat that tends to line up very well with results over a large enough sample. They also have the benefit of being less teammate-skill dependent, as it’s far easier to generate a shot attempt than actually beat a goalie. Over enough games, assist numbers tend to move towards their shot assist counterpart.
Category: Defense – how well a player prevents the opposition from scoring while in his own zone.
Goals Against – 5v5 on-ice goals against per hour. Like the goals for category, this is expressed as a rate so it doesn’t penalize higher minute players. A 0 in this category means a player is getting lit up way more than a standard player, while a 10 indicates a very competent defensive skillset. Keep in mind that this stat is on-ice instead of individual, which means that it’s difficult to separate out the influence of teammates (especially the goalie).
Goals vs. Expected – This stat looks at the expected goals per hour rate the opposition generates while the player is on the ice. It then compares them to the number of goals allowed, with 0 representing really poor puck luck and 10 indicating all the bounces staying out of your net. If a player (and his skater teammates) are doing a good job of limiting scoring opportunities but his goalie is letting him down, this stat will be more red. Likewise, if a goalie is bailing the team out, this category will be further towards the blue.
Shots Against – As the inverse of shots for, this measures the shot attempts (including missed and blocked shots) that a player allows per hour. It too is a process stat, so as the season wears on, the Goals Against category will typically move towards meeting it.
Category: Passing Project – Context for stats taken from the Passing Project, which are tracked manually and provide more context than traditional NHL play-by-play data.
Sample Size – The NHL only records certain types of data, most of which is shot/goal based. Unfortunately, that only accounts for a portion of what happens in a game. The Passing Project aims to fill in some of those holes, but it means that Corey Sznajder must analyze each game individually instead of relying on in-arena trackers. As a result, at this time, only partial seasons of data are available for each player. The smaller the sample size, the less accurate the Shot Assist and Transition numbers are likely to be. Use them with caution.
Category: Transition – The player’s roles and play quality when 1. moving the puck out of their zone (exit) 2. making it through the neutral zone and entering the offensive zone (entry) and 3. for defensemen, preventing the other team from doing so (denied entry). Tracked by the Passing Project.
Exit Rate – How many defensive zone exits a player attempts per hour. This stat determines a player’s role when it comes to clearing the zone and/or starting the rush. Keep in mind that a player must start on defense to generate an exit, so having a high rate isn’t always a good thing.
Poss Exit % – Measures the quality of exits by looking at what percentage fall within the “pass” or “carry” definition, commonly know as possession exits. Good transition players (especially defensemen tasked with making the first pass out of the zone or the forwards who cycle back to carry it) tend to have a very high (10) rate of possession exits with very few dumps/clears/icing/fails. Poor transition players will try to chip the puck out, which is less beneficial for generating offense.
Entry Rate – How often a player tries to enter into the offensive zone from the neutral zone per hour. This stat shows a player’s role, specifically who is typically responsible for getting the puck into the offensive zone.
Poss Entry % – Possession entries are difficult to accomplish in the NHL, so less skilled players/lines tend to prefer a dump and chase method. Poss Entry % looks at how likely a player is to carry/pass the puck in (10) or opt for a dump/fail (0). In short, it measures the quality of the entry.
Denied Entry Rate – This stat is shown for defenseman only, since forwards typically aren’t as responsible for stopping players at the blueline. As the name suggests, this is the inverse of zone entries, or how often a player is responsible for preventing the opposition from entering the offensive zone.
Denied Entry % – This is the other defenseman-only stat, and it measures the percent of entries against that ended up as dumps and fails rather than carries or passes for the opposition.