clock menu more-arrow no yes mobile

Filed under:

Early Season Advanced Stat Leaders For Dummies

I’ll explain some significant advanced stats in plain language, then look at the Ducks leaders in each one

Vancouver Canucks v Anaheim Ducks Photo by Sean M. Haffey/Getty Images

You may have seen a lot of hoopla (HOOPLA) lately around analytics in hockey. We are at a transitional period in regards to how we evaluate the game. Traditional stats like shots, shots on goal, +/-, blocks, and others were the primary means of evaluating teams and players for decades. But somewhere along the way, some brainiac hockey fans figured out that these numbers only tell a very superficial story.

Stats like number of shots are all well and good, but all shots are not created equal. A weak wrister from the boards in front of the blueline is not nearly as dangerous as a precision snipe from the low slot. A team can be technically “outshooting” another 30-20, but if all of those shots are from distance or the perimeter, that does not really indicate that the team with the higher number is any better than their competition.

Baseball went through a similar transition back in the early 2000s when Oakland A’s General Manager Billy Beane brought sabermetrics to the forefront of MLB front offices around the league. If you haven’t seen it yet, I highly recommend the movie Moneyball (or the book it’s based on, if you prefer), for a great dramatized version of those events.

Now, with more and more teams establishing analytics departments and with more and more pundits and websites tracking these numbers, including us here at Anaheim Calling, it’s time to pay attention to the next generation of player and team evaluation tactics.

I’d like to issue a disclaimer, though, before we begin. I am a firm believer in stats with context. Our own Felix Sicard likes to talk about matching the numbers up with the eye test. Stats in a vacuum are all well and good, but without the context of the game at hand that you can really only get by watching the actual play, they often times can be misleading. These stats are still being refined with great work by some brilliant people being done on a day to day basis, and are not the end-all-be-all for evaluation. What they do well, however, is shine light on aspects of a team and player that traditional stats used to have trouble reaching.

Bored yet? Want me to get on with it? You’re in luck because here we go!

Note: All numbers are as of 11/28/2017, courtesy of

Corsi For Percentage

Many of you who are not very familiar with advanced stats may have heard this term before. As of right now, it is considered by many in the field to be the best advanced stat available to us. Corsi For, put simply, measures shot attempts. There have been many studies that have shown a strong correlation between team and player success and high numbers of shot attempts. The primary stat we use for this is CF% (corsi-for percentage). It is calculated by:

Shot attempts on opponent (includes shots on goal, missed shots, and blocked shots), divided by total number of shot attempts from both teams.

One of these shot attempts in favor of the player being looked at equals one CF (Corsi for event). One of these shot attempts taken by the other team while the player is on the ice is equal to one CA (Corsi against event)

Let’s look at Hampus Lindholm. This season, there have been 238 shot attempts for the team with him on the ice, while opposing teams have gotten 198 shot attempts with the defenseman out there.

276 CF + 231 CA = 507

Now, we divide 507 by the 276 attempts in his favor, and we get 0.5444, or a 54.44 CF%.

If a player is right at 50 CF%, it means that he’s been on the ice for as many shot attempts against as he has been for shot attempts in his team’s favor. Generally, this is considered average. So from these numbers we can conclude that when Hampus Lindholm is on the ice, the team attempts 4.44% more shots than they give up. This is considered to be pretty good, given the high number of Corsi events on a game by game basis.

It is important to know that Corsi is usually evaluated at 5 on 5 play as opposed to all situations, which includes the power play and the penalty kill. Being up or down a man on special teams can unfairly influence a player’s numbers, as those context in which he is playing is generally of no fault on his own.

Ducks CF% Leaders at 5v5 (minimum 10 games played)

  1. Hampus Lindholm — 54.44
  2. Ondrej Kase — 53.98
  3. Jakob Silfverberg — 51.82

Points per 60

While goals are what wins or loses games, points in general are considered to be a better individual indicator of performance as they indicate both goals and a contribution towards goals. The rate at which players register points can show us how a player has been contributing over a certain period of time. Want to get a good idea if a player is hot or not? Points/60 are a good indicator. It is calculated by:

Total points divided by time on ice multiplied by 60.

Why 60? Because there’s 60 minutes in a regulation 3 period hockey game. Would you look at that!

The other nice thing about these per 60 stats is that it puts players with different amounts of ice time on a level playing field to evaluate their production. If you are a fan of dumb comparisons that don’t make any logical sense, you can use this stat to compare the offensive output of Corey Perry to Jared Boll and get a feel for their production while removing the large time on ice difference between the two.

Take a guess at who has historically been the leader in this category in recent seasons for the Ducks. I’ll give you three guesses but you’ll only need one once you catch your reflection in his shiny head.

Ducks P/60 Leaders (minimum 10 games played)

  1. Ondrej Kase — 3.57 (!)
  2. Corey Perry — 2.23
  3. Rickard Rakell — 2.12

Primary Points per 60

As you probably know, on scoring plays there is one goal scorer. Following that, up to two assists are given to the previous two players of the same team who touch the puck before the goal scorer. That second assist can be misleading, as often times the secondary assist is awarded to someone who did not really contribute to the scoring of the goal.

However, the primary assister (the first player listed on the assist) usually has a much greater impact on making the goal happen. P1/60 is calculated the same way as P/60, but it removes any secondary assists. Only primary assists and goals are factored into this calculation. This is calculated by:

Primary points divided by time on ice multiplied by 60.

I’ll give you another guess as to who the historical Ducks leader has been in this category. He celebrates with snot rockets.

Ducks P1/60 Leaders (minimum 10 games played)

  1. Ondrej Kase — 3.57 (!)
  2. Corey Perry — 1.88
  3. Rickard Rakell — 1.59

Goals For Percentage & Expected Goals For Percentage

This number looks at the percentage of goals scored with a certain player on the ice. It is calculated similarly to CF%, but instead using goals rather than Corsi events.

GF% tracks actual goals scored, while expected goals for percentage (xGF%) factors in what percentage of goals a player should be on the ice for when accounting for things like shot quality (shot type like wrister or slapshot, shot distance, location, etc).

The way to get the GF% number is:

Goals for player’s team while on the ice divided by the total number of goals for and against.

As for xGF%, the math is the same, but uses the stat publisher’s methodology for shot quality, which can vary slightly from person to person, utilizing xG (expected goals) in place of actual goals.

Comparing xGF% to actual GF% can help shed light on if a player is getting good looks on the net or not and can help indicate if a player is lucky or unlucky when it comes to goals. It can also be a decent predictor of future success. If a player has a much higher xGF% than his current GF%, there is a good chance that he will eventually start scoring at a higher rate in the near future.

Ducks GF% Leaders (minimum 10 games played)

  1. Andrew Cogliano — 63.64
  2. Brandon Montour — 62.07
  3. Chris Wagner — 61.11

Ducks xGF% Leaders (minumum 10 games played)

  1. Ondrej Kase — 59.83 (!)
  2. Andrew Cogliano — 51.62
  3. Jakob Silfverberg — 51.47


What if I told you there was way to easily summarize how well a player performed on any given night? That is exactly what gamescore is. Some of you may be familiar with this, as both basketball and baseball have developed similar versions of this stat.

There are a couple different versions of gamescore right now. However, the most popular one right now was developed by Dom Luszczyszyn, a contributor to Hockey-Graphs, The Athletic, and The Hockey News.

It looks at goals, primary assists, secondary assists, shots on goal, blocked shots, penalty differential, faceoffs, 5-on-5 corsi differential, and 5-on-5 goal differential. All of those numbers are weighted based on individual game impact, then combined to create a single number.

Gamescore is used as both a counting stat (similar to WAR for the baseball people out there), in that a player will continue to add on to their total season gamescore as the year progresses, as well as an average shown as GS/60.

I can’t recommend following Cole Palmer on Twitter enough. He does some great advanced stats work and publishes a Ducks Gamescore table for each night in an easy-to-read format so you can know who to yell at and who to praise.

Ducks total GS Leaders (minimum 10 games played)

  1. Andrew Cogliano — 12.05
  2. Jakob Silfverberg — 11.88
  3. Josh Manson — 11.10

Ducks GS/60 Leaders (minimum 10 games played)

  1. Ondrej Kase — 4.1 (!)
  2. Andrew Cogliano — 2.24
  3. Jakob Silfverberg — 2.22

Goals Saved Above Average

I wanted to include this stat for a couple of reasons:

  1. It’s one of the more under-the-radar advanced stats out there, but should be talked about much more in my opinion.
  2. I want to hype John Gibson.

GSAA attempts to quantify how many more goals a team would have given up if they replaced their netminder with a “league average” goaltender. You baseball fans may see some parallels to WAR here by utilizing the “replacement level” designation.

Essentially, this number is expressed as the number of goals allowed below the expectation based on shot danger faced. This is really just a mathematical way of saying how many more goals a goalie has saved as opposed to a league average netminder.

John Gibson currently has a 10.45 GSAA this season. This means that, if Gibson was replaced with a league average goaltender, the team would have given up 10.45 more goals this season.

Unfortunately, before last night’s game against the Chicago Blackhawks, Gibby’s GSAA was a decent amount higher. The fault on him personally, though, is limited due to the horrendous defensive play from the team in front of him.

Ducks Goaltender GSAA

  1. John Gibson — 10.45
  2. Ryan Miller — 7.54

To give you some context, the current leader in this category is LA Kings goaltender Jonathan Quick with a fantastic 17.23 GSAA. John Gibson is currently ranked 5th in the league. Not bad considering the staggering amount of shots he’s had to face this season.

This concludes today’s “Hockey Advanced Stats 101” class. There are MANY more advanced stats out there that I did not cover here. Visit to get a glimpse at just how many there are. The ones I covered are some of the more popular ones currently.

Advanced statistics in hockey, while still going through growing pains, is in an exciting transitional period as new ways of evaluating players arise and existing ones are refined at a rapid pace.

These stats allow us to appreciate certain players who might fly under the radar (we learn from these numbers that players like Ondrej Kase and Hampus Lindholm are crazy good and are tremendously underappreciated by a lot of people) as well as players who may not have the greatest impact on the ice (I wonder who I’m referring to hmmmmm...).

Look out for a more in-depth article in the near future by a couple of our contributors as sort of a next step “Hockey Advanced Stats 200” piece!