Note (Nov 27, 2015): As a blanket disclaimer, we didn’t define most of the terms or notations used on this site. These are all products of the community, both as individuals and as collectives. Our innovations are specifically labelled here; the rest should not be taken as ours, especially if a reference is provided.
As complete a list of terms that we have on the site follows (or the relevant links.)
WAR/GAR: The whole series is linked here.
Time on ice:
- TOI is the time in minutes when a player is on the ice.
- TOIoff is the time when a player is off the ice, but in a game in which they played.
- TOI% is the percentage of time they spend on the ice;
- TOI60 is the amount of minutes out of 60 that the player was on the ice.
- TOI/Gm is the amount of minutes spent on the ice per game.
General Shot-Based Event Counts: The bread and butter of modern hockey analysis.
Goal Events (G): Shots that are not saved and cross the goal line. The ceremony consists of a bright red light of shame, a stripe-fashioned league employee exaggeratedly drawing attention to the goaltender’s failure to do their job, and a small party at center ice to begin the process anew.
- G: Goals scored by the individual/team.
- A: All assists. A1: Primary assists; A2: Secondary assists.
- G60: Goals scored by the individual/team, per 60 minutes. A60 and P60 for all assists and points.
- GF: Goals scored by a player or their teammates when the focal player is on the ice. GFoff: goals scored by a player’s teammates when the player is off the ice.
- GA: Goals scored against a team when the focal player is on the ice.
- G+/-: Goal differential (GF – GA). Similar to plus-minus but should always include the specific game scenario when identified (such as 5v5).
- GF60: GF / TOI * 60 minutes.
- GA60: GA / TOI * 60 minutes.
- GF%: The share of goals scored by the focal player’s team compared to all goals scored when the player is on the ice — GF/(GF + GA).
- GF%off: The share of goals scored by the focal player’s team compared to all goals scored when the player is on the ice — GFoff/(GFoff + GAoff).
- GF%Rel: The on-ice share of goals for a player’s team minus the off-ice share of goals.
Shots On Goal (S): Shot attempts that are somehow the goaltender’s responsibility. Includes goals, as above, and saved shots, which comprises the bulk of a goaltender’s productive output.
Take the above quantities and replace “G” with “S” like so:
- SF: Shots on goal produced by a player or their teammates when the focal player is on the ice. SFoff: Shots on goal produced by a player’s teammates when the player is off the ice.
- iSF: Individual shots-on-goal for.
- SH: Individual saved shots.
- PSh%: Personal shooting percentage: a player’s goals (G) divided by their individual shots on goal (iSF).
- OSh%: On-ice shooting percentage: a player’s on-ice goals for (GF) divided by their on-ice shots on goal (SF).
- OSv%: On-ice save percentage: a player’s on-ice goals against (GA) divided by their on-ice shots on goal against (SA).
- PDO: The sum of on-ice save and shooting percentages (OSh% + OSv%). League average is 100 by construction. Origins: Irreverent Oilers, with a nice write-up here.
Fenwick (F)/Unblocked Shot Attempts (USAT): Take shots on goal and add shots that miss the net entirely. Named for its inventor, Battle of Alberta author Matt Fenwick, not a fictional Duchy that changed the course of the fictional world.
Take the above quantities and replace “G” with “F” like so:
- FF: Unblocked shots produced by a player or their teammates when the focal player is on the ice. FFoff: Unblocked shots produced scored by a player’s teammates when the player is off the ice.
- iFF: Individual unblocked-shots-on-goal for.
- MS: Individual shots that missed the net.
- PFenSh%: Personal Fenwick shooting percentage: a player’s goals (G) divided by their individual unblocked shots (iFF).
- OFenSh%: On-ice shooting percentage: a player’s on-ice goals for (GF) divided by their on-ice unblocked shots (FF).
- OFenSv%: On-ice save percentage: a player’s on-ice goals against (GA) divided by their on-ice unblocked shots against (FA).
- FenPDO: The sum of on-ice Fenwick save and shooting percentages (OFenSh% + OFenSv%). League average is 100 by construction. Not on the site at present.
- FP60: Fenwick Pace (per 60 minutes), equal to FF60 + FA60.
- OFOn%: On-ice Fenwick on-goal percentage: a player’s on-ice shots on net (SF) divided by their on-ice unblocked shots (FF).
- OFAOn%: On-ice Fenwick on-goal percentage against: a player’s on-ice shots on net against (SA) divided by their on-ice unblocked shots allowed (FA).
Corsi (C)/Shot Attempts (SAT): Corsi events consist of all shot attempts: blocked, missed, saves, goals. Should probably just be called “shots”, so we’ll do that here. Named for goaltending coach and mustache champion Jim Corsi, coined and minted by Tim Barnes (aka Vic Ferrari).
Take the above quantities and replace “G” with “C” like so:
- CF: Shots produced by a player or their teammates when the focal player is on the ice. CFoff: Shots produced scored by a player’s teammates when the player is off the ice.
- iCF: Individual shots.
- BK: Shots that an individual attempted that were blocked.
- AB: Attempts Blocked, shots that the individual themselves blocked.
- CP60: Corsi Pace (per 60 minutes), equal to CF60 + CA60.
- OCOn%: On-ice Corsi on-goal percentage: a player’s on-ice shots on net (SF) divided by their on-ice shots (CF).
- OCAOn%: On-ice Corsi on-goal percentage against: a player’s on-ice shots on net against (SA) divided by their on-ice shots allowed (CA).
The NHL has (x,y) location data available for all shots-on-goal, as well as hits and penalties. ESPN and Sportsnet both have this data available for missed shot locations and the location where shots were blocked (not from where they were taken, though both are useful).
This location data has systematic bias from rink to rink as well as random measurement error. We can’t do much for the random error, but to correct the bias in shot location data, we use the basic method proposed by Schuckers and Curro (Appendix A):
- Get the distances for each shot from the net, conditioned on type (slap/not) and whether they were at home or away for the team.
- Calculate the cumulative distribution functions for the distances of these shots at home and away for each team (which assumes that the shot distance distribution is truly the same, both home and away). Assume that all distances differ around the same league average and that there is no net league bias (which for standardization is fine).
- The adjusted distance for a shot is then calculated by quantile: what fraction of shots in this building of this type were at this distance? (Say, 25% of non slap shots were within 17 feet of the net.) Take that quantile and get the number for that team on the road. (Say, 25% of non slap shots were within 19 feet of the net on the road).
- Project the shot on a line from the center of the goal line (which is the reference point for distance) going through the shot; move the shot to a position on that line with the correct distance.
Having a de-biased measure for shot location is essential for any measures that are going to compare from building to building. Speaking of:
Danger Zones And Types:
There are all sorts of mechanisms for judging the relative worth of a shot given its (x,y) coordinates and other information. Schuckers has a comprehensive method for evaluating expected goals called DIGR; for our purposes, we simplified the available data into three main features:
- Shot location, by block. There are any number of ways to dissect the impact of location, but the most straightforward is by grouping into location blocks rather than smoothing a continuous function over a surface (as in DIGR). There were a few inspirations for this scheme:
- Kirk Goldsberry’s shot charts for the NBA, which discretized at two levels: small individual hexagonal bins and larger zones.
- Brian Macdonald’s bins, whose code is lost to the ages but thankfully tweeted by Michael Lopez.
- CMU Statistics graduate Hannah Pileggi and her colleagues at Georgia Tech, who binned shots by distance.
- The “Home Plate” demarcation from Rob Vollman, one of the most popular zone-based methods for distinguishing shot importance.
- We chose a binning scheme that led to 16 discrete zones referring to common shot locations, mixing these methods together (including a note from Bruce McCurdy on the extension of the high slot.) When plotting the results in each zone, it became immediately clear that a three-zone breakdown was the way to go that balanced power with simplicity.
- Shot features, gleaned from the play by play: rebounds are classified shots taken within 3 seconds of another shot attempt, and rush shots are taken within 4 seconds of an event in another zone (a definition derived from David Johnson’s work).
- Blocked shots pose an extra problem: they’re shots that have been recorded at the point at which they’ve been blocked, and are also more likely to be shots of less quality and speed by nature of their blocking.
A shot’s Danger is then defined by this method:
- Start with the zone in which the shot attempt was recorded, 1 through 3.
- Add 1 if it was a rebound or a rush shot.
- Subtract 1 if it was a blocked shot.
- Increase to 1 if it was equal to 0.
For goaltenders, we then have
- G.U, S.U: Goals and Saves with unknown danger.
- G.L, S.L: Goals and Saves with low (1) danger.
- G.M, S.M: Goals and Saves with medium (2) danger.
- G.H, S.H: Goals and Saves with high (3+) danger.
Scoring Chances (SC):
All shot attempts that have danger 2 or greater. As originally described here.
Take the above quantities and replace “G” with “SC” like so:
- SCF: Scoring chances produced by a player or their teammates when the focal player is on the ice. SCFoff: Scoring chances produced scored by a player’s teammates when the player is off the ice.
- iSC: Individual scoring chances.
- SCP60: Scoring Chance Pace (per 60 minutes), equal to SCF60 + SCA60.
High-Danger Scoring Chances (HSC):
All shot attempts that have danger 3 or greater. Take the above quantities and replace “G” with “HSC” like so:
- HSCF: Scoring chances produced by a player or their teammates when the focal player is on the ice. HSCFoff: Scoring chances produced scored by a player’s teammates when the player is off the ice.
- iHSC: Individual scoring chances.
- HSCP60: Scoring Chance Pace (per 60 minutes), equal to HSCF60 + HSCA60.
Adjusted Save Percentage (AdSv%):
Defined here, it is the weighting of a goaltender’s save percentage in each danger level by the fraction of shots that would be expected from the league-wide distribution.
Score Effects are the acknowledged differences in team performance based on the difference in score. There are popular methods are used for accounting for the score in whatever results are presented; we host two. The first, Score Close, was pioneered by Tore Purdy (aka JLikens) and simply includes situations where teams are within 1 goal of each other in Periods 1 and 2, and tied afterwards.
The second, manual score adjustment, has a few different predecessors:
- MIcah Blake McCurdy’s method, which is based on Poisson expectations;
- Eric Tulsky’s, used to realign counts based on the time spent in each state;
- Our own work with Poisson models, publicly dating back to 2012.
Not surprisingly, we went with our adjustments, and implement a full Poisson model for score, period and rink effects for each shot type by each danger zone. Adding the rink bias correction to our score and period correction was inspired by Schuckers and Macdonald.
Bubble charts: The main look and design of the bubble charts, with four variables displayed simultaneously, comes from Rob Vollman’s Player Usage Charts, including the starting variables: x-axis for zone starts, y-axis for quality of competition, color for Relative Corsi. Our expansions and additions include every variable we have at our disposal including different game and score states.
Hextally: Directly inspired by Kirk Goldsberry’s NBA Shot Charts for Grantland and 538 (but perhaps the lack of a player with an appropriate name in the NBA made it difficult.) Expanded for both shot success probabilities (standard for basketball) and the rate of shots taken from each area of the ice (not standard for basketball, even if it were played on the ice.)
Shift Charts: We started with the original NHL shift charts before adding our own features. Both ShiftChart.com and timeonice.com (now defunct) hosted their own versions, inspiredby the same NHL.com template.
Shot Attempt Timelines: ExtraSkater (defunct) made them popular, but Behind The Net had the first ones we could find online.
Pulling the Goalie: Original post is here.
Raw Teammate/Competition Statistics:
For each of the teammate and competition statistics, relative numbers on a game by game basis by taking an exponentially weighted prediction of the next game’s numbers.
- TOIT60, TOIC60: The average time on ice per 60 minutes for teammates and competition in previous games, weighted by mutual time on ice.
- CorT%, CorC%: The share of Corsi events for the teammates and competition in previous games, weighted by mutual time on ice.
- tCF60, cCF60: The rate of Corsi events recorded on-ice for the teammates and competition in previous games, weighted by mutual time on ice.
- tCA60, cCA60: The rate of Corsi events recorded on-ice against the teammates and competition in previous games, weighted by mutual time on ice.
- Penalties: PN are non-coincidental penalties taken by a player; PN- are non-coincidental penalties drawn by a player. PenD is the difference, PN- minus PN; PenD60 is the net rate of penalties drawn every 60 minutes.
- Faceoffs: FO_W are faceoff wins. FO_L are faceoff losses. FO%^ is a shrunken faceoff win percentage, to avoid extreme results: identical to FO% if more than 20 faceoffs were taken, a combination of this and a 40% success ratio if less.
- Zone starts: ZSO, ZSN and ZSD are the number of faceoffs taken in the offensive, neutral and defensive zones for which the player was present; ZSOoff, ZSNoff and ZSDoff are the number of faceoffs taken in the offensive, neutral and defensive zones for which the player was absent. ZSO% is the share of offensive starts divided by the offensive plus defensive. ZSO%Off is the share of offensive starts for when that player is absent; ZSO%Rel is ZSO% minus ZSO%Off.
- GV are giveaways, TK are takeaways. HIT are hits taken, HIT- are hits absorbed. None of these are recorded reliably in NHL buildings.