Fancy Stats Primer

During the Rampage game on Tuesday, some people on twitter asked about a Fancy Stats primer, so I decided to make up questions that I assume you have and answer them. If I didn’t cover something you are interested in or you have some later ask me on twitter: @topherminasi

What is a Corsi? What is a Fenwick?

Corsi is named after Jim Corsi, who is currently the goalie coach for the St Louis Blues. He created it as a way to track Goalie workload. Hockey fans have long known that the better team has the puck more often than their opponents, and quickly realized that short of sitting there with a stop watch, Corsi was the best way to track possession. So what is the super fancy Corsi? Corsi is just all shot attempts. Shot from the point – saved… Corsi event. Shot from the point – blocked… Corsi event. Shot from the point – wide …. Corsi event. You’ll see three different things – Corsi For (CF), Corsi Against (CA) and the Percentage of Corsi Events. Generally above 50% is good, over 52% is great, more than that is fantastic. My game charts will have two 5 on 5 Corsis on them – All Corsi and Corsi Close. All Corsi is pretty self-explanatory. A Corsi event is considered a Corsi Close event during the first 2 periods when a game is within one goal or tied. A Corsi event is a Corsi Close event in the 3rd Period or OT if the game is tied (see Score Effects below).

5 on 5 Corsi is the best measure for two reasons. One is that around 75% of shots are taken at even strength and two is that certain players only play on PP or PK. For instance if I did all Corsi, it would be really mean to Racine, since he plays PK but not PP, all of those PK Corsi Against would make him seem awful.

Fenwick is Corsi minus blocked shots. Fenwick is named after Matt Fenwick who is one of the original #FancyStats writers, and created it. Fenwick arguably is better than Corsi because some systems (shout out to my boy John Tortorella) are designed to block a lot of shots. However if there is a scrum in front it’s very hard for me to tell if it is blocked or if it got through or just went wide, so I take Corsi. If I tried to do Fenwick my numbers would be super wacky and pretty wrong. Also anything I say about Corsi can also be done for Fenwick (such as Relatives).

NHL scorekeepers keep official blocked shots and missed shot records (with players on ice for them), which is why NHL stats sites can keep both easily and I cannot. As of February, the actually now lists Corsi and Fenwick, however they call them Shot Attempts (SAT) and Unblocked Shot Attempts (USAT). I still call them Corsi and Fenwick.

What is Corsi Relative?

Corsi Relative is a player’s Corsi% compared to the team. Let’s say the Rampage have a great game and their Corsi is 55%. Brett Olson has a Corsi of 60%. He is 5% better than the team so his Corsi Relative is +5%. Blake Parlett had a 50%. His Corsi Relative would be a-5%.

The summary Corsi Relatives are based only on games that the player played in (there are a lot a lot of hidden columns).

Why is Corsi Close separate from Corsi All?

Corsi Close is separated to limit how much Score Effects affect the numbers.  Score Effects is a term used to describe how teams play differently when the have a big lead, because when a hockey team take a big lead or is protecting a 3rd period lead, they stop taking risks. They sit back and let the other team have the puck and attempt to limit them to bad shots. During this time, the teams tend to put out their best defensive players which will impact their numbers (Since I started tracking Rampage have a 52.6% Corsi Close and a 49.5% Corsi All because they’ve had a lot of leads).  So Corsi Close gives you the best idea of a team’s talent when teams are playing normally.  For instance on Saturday vs Grand Rapids, the Corsi Counts were pretty close when the game was close. However, after the Rampage scored (1-0 lead in the 3rd period is no longer counted as Corsi Close), Grand Rapids had a 25-6 edge in Coris. This didn’t happen on Tuesday, and I really liked that Texas yesterday didn’t seem to play any differently due to Score Effects.

True story – at one of the Rampage season ticket holder events I asked a player about score effects. He confirmed that it’s a coaching decision to switch from an aggressive 2-1-2 forecheck to a passive 1-2-2.

I’m very against the Rampage playing as extreme as they do by the way. The Rangers do this, but they have elite shot blockers and Henrik Lundqvist, so while it annoys me, it does make sense. I just think that a team with goaltending as inconsistent as the Rampage’s should not play this extremely.

Due to score effects, and the AHL not releasing all Corsi/Fenwick data, Team Corsi/Fenwick Close on the Game Notes is an estimate. @JoshWeissbock’s (him again – he’s really amazing) estimated Fenwick uses the 2nd Period shots to try to account for Score Effects (he updated them today – find them on his twitter or here: When I list it in my Game Notes I run the Est Fenwick the day of the game so it’s more up to date.

On the Game Notes you mentioned PDO, what does that mean?

PDO literally means nothing. It is the user name for a hockey blog commenter. He came up with the idea of measuring luck by adding Shot% and Save%. That’s all PDO is. For a short time a team can get some lucky bounces (COUGH Texas’s 3rd Goal COUGH), and even though they are getting outshot a lot, they win a bunch of games. Last year there were two great examples – Toronto and Colorado. All year the #FancyStats crowd kept saying that Toronto and Colorado weren’t actually good, but were just getting lucky due to PDO and eventually it would turn around. Toronto did at the end of last year. Colorado finally did this year. PDO should trend towards 1000 (100.0%) as the year goes on.

I actually have a perfect AHL example including the Rampage for you. Early this year I kept telling my friends that the Rampage were better than OKC, but OKC was lucky and the Rampage were not. On December 4th, OKC had a PDO of 1021 and the Rampage were at 987. I kept saying it will eventually even out and the Rampage would win the division. Then OKC won something like 12 of 13 and I looked really dumb. So I pivoted and started saying Rampage are still better, but OKC has banked enough points, so the Rampage won’t catch them, but seriously the Rampage are better – I SWEAR. Well, PDO finally started to even out. OKC is now at 1007 and the Rampage are at 1000. The Rampage won the division!

On my Game Notes I include GFAA and GSAA. These measures give you the approximate value of a team’s PDO difference from 1000. TGAA is Goals For Above Average and GSAA is Goals Saved Above Average. Basically that is how many goals a team has scored above/below what a league average team would on the same number of shots. GSAA is how many fewer goals a team has allowed than they would with league average goaltending on the same number of shots. GSAA is my favorite way to compare Goalies, since I takes into account both their workload and their talent. Combine GFAA and GSAA and you get TGAA – Total Goals Above Average. Rampage at 1000 PDO have a GFAA of 1.0 (it’s not exactly zero because of rounding), so the Rampage pretty much are exactly what their record says they are.

To understand how TGAA would affect standings, I went through and calculated the end of season point value of a goal since 2012 and it’s about .30. So a TGAA of about 6 means a team has 1 win more than their Shots total would indicate. It’s not exact, because the Goal Value includes shootout wins and for the game notes I take them out (to give a more accurate count of team goals/shots per game) but it’s a pretty good estimate.

My favorite player is a Plus (high number) and is scoring a lot, but you say his Corsi is low – you are wrong and suck and I hate you!!!

This hasn’t actually happened yet, but I guarantee it will next year. This is because of individual PDO. Individual PDO is comprised of the same two things – Player On-Ice Shooting % and Player On-Ice Save%.

Player On Ice Shooting% is the Team’s Shooting% when the player is on the ice and it is definitely a skill. Here is a list of top 25 and worst 25 players from 2007-2013: Every player on that list makes complete logical sense because it is a skill, however, the gap between the 25th best and 25th worst is only 2.5%, so over the long term even the best players aren’t going to be able to percentage themselves to success without also have a good Corsi.

On Ice Save% is self-explanatory and is mostly lucky and inconsistent from year to year.  To show demonstrate that, here are the top 10 players in on ice save % – none of them show up every season, and only one is on two lists (Kevan Miller).  Also, I’ve seen pretty much every single game Chris Kreider has played in the NHL and the guy is not a defensive stud, he’s on this list because Lundqvist and Talbot are amazing and randomly happen to time their best stretches with Kreider. (From: Minimum 500 Minutes Played)

This year:

this year on ice save %

Last Year:

last year on ice sv%


2012-13 on ice sv%

I’ve been playing around a bit, and I’m pretty sure that next year I can do an estimated On-Ice Shooting% and On-Ice Save% and Individual Player PDO.  I don’t think I have the time to make the Excel updates to make it look how I want it to look until the summers, so sorry but you have to wait.

Back to your favorite player, studies have also shown that the best way to predict future Goals For% for both an individual player and for the team is Corsi/Fenwick For %. So sorry, but your favorite player’s PDO is probably coming back to earth.

The WOWYs look really cool but what are they?

WOWY stands for With Or Without You (note: I always start singing U2 when I do them). It measures how a player plays with a specific other player and without that player. It basically shows if a player is being carried by another excellent player into respectable numbers.

Nate mentioned my hatred of the Racine-Corrente pair on the Pod, so I’ll use them as an example:

Primer WOWY example

So at the top where it says Racine and go down to where it meets Corrente. It’s a green box at 40%. Racine-Corrente when paired are 40% Corsi.

(Which is worse than the Buffalo Sabres. They basically pitch a tent in the Defensive Zone, pull out some lawn chairs, sit down, open some beers and hang out.)

The W/O box shows that if you take Racine away from Corrente he’s a 53.8% Corsi player (which is very good). The green means that Racine makes Corrente better. Now flip and look down from Corrente. That box is red at 40% because he makes Racine worse.

The black box is the player’s overall Corsi. Green, like Zanon means he has a positive Corsi Relative. Red, like, well everyone else on this screen shot, means that they have a negative Corsi Rel.

When you look down you want to see a lot of green (like Zanon’s), because that player typically makes his teammates better. Lots of Red like Corrente, means players are typically worse when paired with him.

I use Corsi Close for the WOWYs.

Why do you care about Offensive Zone Faceoff Percentage?

Directly off an Offensive Zone faceoff win, there will be Corsi events. So if a player starts mostly in the OZ, he will have a Corsi higher than he would if he started mostly in the defensive zone.

Brett Olson is a good example. Right now his Corsi Close Rel is +0.05%. However, he has the toughest Zone Starts (only 40% in OZ, while the Rampage as a team have over 52%), so a Corsi Rel of basically 0, with that deployment is really really impressive. (I’m the President of the (Semi) Official Brett Olson fan club).

For the April 11th Game vs Grand Rapids, you said Rampage Corsi Close was 42.6%, but the shots were 42-40 for Grand Rapids. Are you doing something wrong?

GR shot summary

This a question I kept asking myself a few weeks ago. So I started keeping track of shots on PP, PK, 4 on 4 and Miscellaneous (6 on 5 and OT).   As you can see, the 5 on 5 shots is pretty close to the Corsi numbers I have.

Tracking this stuff will let me do some fun things next year – Goalie Save% by situation and also the 5 on 5 shots compared to Corsi is what I’ll be using to estimate individual PDO.

Last Question- what’s on the Goalie section in the Game Notes?

GSAA is described above in the PDO section. Let’s say for an easy example that League Average Save% is .910 (it’s a little higher). Goalie A has faced 100 shots. League Average Goalie would stop 91 of them, allowing 9 goals. Goalie A only allowed 5. 9-5 is 4. Goalie A has a GSAA of +4. Goalie B allowed 12 goals. 9-12 is -3, so Goalie B has a GSAA of -3. It’s simple and easy. It also takes into account a goalie’s workload.

Example – Goalie A has a .920 save percentage on 1000 shots. He’s allowed 80 goals. League Average Goalie would have allowed 90. So Goalie A is a +10 GSAA.

Goalie B has a .930 save percentage on 500 shots. He’s allowed 35 goals. League Average Goalie allowed 45. So Goalie B is also a +10 GSAA.

Quality Starts measures when a goalie “gives his team a chance to win.” The technical definition of a Quality Start is if he plays above League Average for the game or if he allows 2 goals or less and has a save % of .885.

Example 1: Sam Brittain allowed 3 goals on 36 shots vs Texas. That is a save percentage of .917. League Average is .913 (the real number). So Brittain had a quality start vs. Texas.

Example 2: Brittain allows 2 goals on 20 shots. That is a .900 save percentage, but it is a Quality Start because he only allowed 2 goals.

The flip side of a Quality Start is the Blow Up. A blow up is when the goalie has below an .850 save percentage or  allows 5 goals or more while having a save% less than .873 (5 goals on 40 shots).

Example 1: Goalie allows 4 goals on 22 shots. That is a .818 save percentage – Blow Up!

Example 2: Goalie allows 6 goals on 42 shots. That is a .857 save %, but he allowed 5 goals or more – Blow Up.

Example 3:– Goalie allows 6 goals on 49 shots. That’s a .878 save percentage. It’s not a Blow Up.

AHL averages are 55.8% for Quality Starts and 15.4% for Blow Ups. That means 28.8% are like Example 3 and are neither, so those are just alright – not bad but not good.

To calculate Quality Starts and Blow Ups, I have every single AHL goalie start this season in a single Excel document, meaning I have noticed some fun and quirky moments.

The weirdest start I’ve seen all year happened to poor Jeff Malcolm of the Hartford Wolf Pack. The Wolfies were in Wilkes-Barre Scranton to play the Penguins. The Wolfies jumped all over WBS winning 5-2 and outshooting them 40-13. Malcolm stopped 11 of 13 which is a .846 Save%. So poor Jeff allowed 2 goals but it was technically a blow up.

The 2nd weirdest one was the Adirondack opener. Brad Thiessen must have gotten hurt, because he played 2:12 and didn’t face a shot.   When I post my Quality Start numbers, there will be an odd number of starts- that’s why. The backup came in and allowed 6 goals, which would be a blow up, but the measure is Quality Starts, not Quality Relief Appearances, so I just took it out.

So that is pretty much everything that I will talk about in my Corsi charts, Game Notes or my Goalie stuff. I hope this was helpful and again, if you have any other questions feel free to ask me.

5 thoughts on “Fancy Stats Primer

  1. Pingback: For Running With The Herd – Fancy Stats Primer | The AHL by Topher

  2. Pingback: Rampage Corsi Report: 04/14 vs Texas Stars | Running With the Herd

  3. Pingback: Home Opener vs Stockton | Running With the Herd

  4. Pingback: Rampage Corsi Report: School Day and First Summary | Running With the Herd

  5. Pingback: Rampage Corsi Report: 10/23/16 Wolves | Running With the Herd

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s