General Terms

General terms applicable to many pages on Evolving-Hockey

Metric Definition
GP Games Played
TOI Time On Ice (total minutes played)
GF Goals For
GA Goals Against
SF Shots For (goals, shots on goal)
SA Shots Against (goals, shots on goal)
FF Fenwick For (goals, shots on goal, missed shots)
FA Fenwick Against (goals, shots on goal, missed shots)
CF Corsi For (goals, shots on goal, missed shots, blocked shots)
CA Corsi Against (goals, shots on goal, missed shots, blocked shots)
xGF Expected Goals For (total goal probability of all Fenwick shots)
xGA Expected Goals Against (total goal probability of all Fenwick shots)


Strength State Definition
All All Situations (shootouts and penalty shots excluded)
EV Even-Strength (5v5, 4v4, 3v3)
PP Powerplay (5v4, 5v3, 4v3)
SH Shorthanded (4v5, 3v5, 3v4)
Ev5, Ev4, Ev3 Away Team Empty Net
5vE, 4vE, 3vE Home Team Empty Net


Measure Definition
Per 60 (…/60) Rate version of any specific metric: (metric / toi) * 60
SD Standard Deviation


General Terms: Detail

Shots on Goal (SF / SA): Sometimes abbreviated as “SOG”, shots on goal includes shots stopped by the goaltender and shots that resulted in a goal. The NHL has tracked individual shots on goal since the 1959-1960 season, but “on-ice” shots on goal data on the site only dates back to the 2007-2008 season (more below).

Corsi (CF / CA): arguably the most well-known “advanced” stat, Corsi is an unfortunate name for a standard concept: shot attempts. In the hockey’s case, this includes goals shots on goal, missed shots, and blocked shots.

Fenwick (FF / FA): also an unfortunate name, this metric excludes blocked shots (goals, shots on goal, and missed shots). Fenwick is often referred to as unblocked shots.

Expected Goals (xGF / xGA): here we increase complexity by several magnitudes. While Expected Goals (often abbreviated as xG) is a term used in a similar manner to the Corsi and Fenwick, xG is different in several ways:

  • xG is the result of a model output.
  • xG is not “standardized”. In the public at any given time, there are multiple models that one may come across (the model available on our site, Natural Stat Trick, HockeyViz, MoneyPuck, among others). Each site has their own model that is built using NHL play-by-play data.

That said, xG as a concept is relatively streamlined, and all public models are (most likely although it’s never been properly investigated for numerous reasons) quite similar in aggregate. An Expected Goal model works like this: take a certain number of unblocked shots (Fenwick), use any number of additional features describing those shots, and build a model that predicts how likely a given unblocked shot is to result in a goal. We use unblocked shots as our observations since the NHL does not currently track the location of where blocked shots were taken on the ice. There are numerous descriptive features that are used in these models including distance and angle to the net, shot type, events prior to the shot, score and game state, among many other features. The modeling problem itself for xG is referred to as binary classification: a model that attempts to classify two outcomes (in our case, whether a shot becomes a goal or does not become a goal).

The output of the model is in the form of a probability between 0 and 1 for a given shot – the higher the number, the more likely a given shot is to be a goal in a predictive sense. The outputs of this model are the values used for xG. Instead of counting 1 the way we do for Corsi, Fenwick, or shots on goal, we count the raw probability for every shot. This number is then used in the same form as any other metric, but we instead use the probability for counting. For more information on how our model works, please reference our writeup linked at the bottom of this section.

Rate metrics (per 60, per FA): often, any given metric is displayed in a “totals” format – that is, the sum of a given metric for a player, team, line combo, etc. However, these totals can be adjusted to standardize ice time for all players. This is where rate metrics come into play. The most common version of a “rate” metric is any number that is in “per 60” form, but other common rate metrics include per game played or per Fenwick Shot Against (for goalies). Here are few examples of rate calculations:

  • CF/60: (Corsi For / TOI) * 60
  • CF/GP: Corsi For / GP
  • 100FA: (GAR / Fenwick Against) * 100

“60” is often used to mirror the length of a game, however, any number could be used here to arrive at the same result. Rate metrics provide a way to evaluate performance for any given stat with playing time held constant for all players, team, goalies, etc. This approach can allow for better comparison between players and teams with differing playing time (first-line vs. fourth-line skaters, starter/backup goalies, varying special-team time among team). However, it’s important to keep in mind that rate metrics are notably unstable in low-playing time situations. When using them, it’s best to set a cutoff based on playing time to better account for this instability depending on the area of evaluation.

On-Ice: this term refers to the method of “counting” events that occur for both teams when a given player or team is on the ice. Events performed by a player and their teammates are usually denoted as “For”, and events performed by any opposing player’s team are referred to as “Against”. On-ice metrics differ from individual metrics (such as the standard box score metrics like goals, assists, blocks, hits) in that they consider everything an individual skater did plus everything every other player did while a given player or team were on the ice. This method became available in 2007 when the NHL began tracking events and shifts at a play-by-play level through the league’s RTSS or HITS tracking system. Usually, on-ice metrics are used exclusively for shot metrics, but theoretically any metric tracked since 2007 could be evaluated this way.

Differential / Percentage: arguably the foundation of modern hockey statistics, converting Corsi or shot attempts (specifically in the on-ice form) into a differential or percentage form is a standard format that one may encounter. This entails finding the ratio of on-ice events for a team or player compared to the opposition they faced. Let’s say the Philadelphia Flyers have a total of 500 shot attempts through 15 games, and they have allowed a total of 600 shot attempts against in those 15 games. The calculations look like this:

  • CF ± (Differential): 500 – 600 = -100
  • CF%: 500 / (500 + 600) = 45.45%

Score Effects / Venue Effects / Adjustment: depending on the score state of a game, teams and the players on those teams play differently. For example, teams with a lead in the third period tend to play more defensive to protect their lead, and trailing teams tend to press harder to score. This is even more pronounced based on whether these teams are the home or away team. Trailing home teams tend to shoot more than trailing away teams when down by the same amount. Away teams that are leading tend to shoot less than home teams with the same lead. Not only is this something most hockey fans have witnessed by watching a game, this trend shows up in the data. Since this trend is universal, it’s important to account for the variation in event-rates by adjusting metrics based on their score and venue attributes. We utilize Micah Blake McCurdy’s method for score and venue adjustment on the site. All of our score and venue adjustment weights can be found here.

What about scoring chances? As you may have noticed, scoring chance data is not available on Evolving Hockey. Before we talk about why (and there is a conscious “why” here), let’s first talk about what a scoring chance in the NHL is. From everything we can tell, the league does not have an official definition of what a scoring chance is. When the term “scoring chance” is used by teams, broadcasts, or anyone else, the definition can vary depending on the source. The most common definition seems to be any shot taken from within the “home plate” area on the ice, and can occasionally also include situational events like rush shots. Usually, any shot that meets the definition of a “scoring chance” receives a 1 and all other shots are discarded. However, it’s important to keep in mind that when the term “scoring chance” is being used, it’s not standardized and can differ between sources.

There is also the method of splitting shots into various danger zones, often separated into low, medium, and high danger scoring chances. The leading definition of this method, like quite a few things in hockey statistics, was developed by A.C. Thomas at War on Ice in 2013 and later updated in their glossary. This method splits scoring chances into three categories based on shot location and amends that number based on additional features (rush, rebound, blocked shots, and so on).

Why don’t we provide scoring chance data on the site? Scoring chances (in any form) are limited in their ability to describe what is happening on the ice which, in turn, can result in misleading or even incorrect analysis. Scoring chances and their slightly better danger-zone adaptation force a continuous concept (goal probability) into a discrete container (a finite number of categories). This is often referred to as “binning”. While this approach can be useful in certain contexts, it introduces a level of arbitrariness into analysis that can (and usually should) be avoided.

We prefer to use our expected goals model to account for scoring chances in their natural continuous nature. In our opinion, every shot has the potential to result in a goal regardless of circumstance. An expected goal model evaluates goal probability on a continuous level, does not introduce arbitrary assumptions into the data, and allows for more nuanced and granular analysis that scoring chance data prohibits. Because of these reasons, we do not provide scoring chance data on Evolving Hockey and do not have plans to in the future. Simply, an expected goals model is better.


For more information and different perspectives, here’s a list of various other primer articles along with links to several other pertinent writeups:


← Return to Glossary Home