Monday, January 28, 2019

Woodcroft's Corsi Condors & the Guts of the Project

About a month ago I realised that if I only published the numbers from my tracking project for the Bakersfield Condors after every single player was up to date with each of the data points I was tracking, I'd be doing this stuff way further past real-time updating than I wanted to be, maybe even into the summer.

I found this unacceptable; so instead we're going to build this thing on the fly.

For those who have no idea what I'm talking about, over this AHL season I've been manually tracking certain events that I find invaluable for evaluating both what a team is attempting to do and how much they're succeeding at it, and sussing out the same in terms of individual player's identities and how much they're succeeding with them.

This post is both an update on the project and an attempt to get out in front of some of the questions readers may have about the data I'm citing (sometimes as the focal point) in upcoming player profiles like the one published yesterday featuring Tyler Benson.

I've been compiling the following data-points:

Team Totals of-

  1. Shot Attempts For; Against
  2. Unblocked Shots For; Against
  3. Offensive Zone Carry-in Attempts; Successful Carry-ins; Failed Carry-outs/Turnovers
  4. Offensive Zone Pass-in Attempts; Successful Pass-ins; Failed Pass-in Attempts
  5. Offensive Zone Dump-in Attempts; Set Play Dump-ins; Recovered Dump-ins; Set Play Recoveries; Failed Dump-ins/Turnovers
  6. Defensive Zone Carry-out Attempts; Successful Carry-outs; Failed Carry-outs/Turnovers
  7. Defensive Zone Dump-out Attempts; Set-Play Dump-outs; Recovered Dump-outs; Set Play Recoveries; Failed Dump-out/Turnovers

Individual Totals of-

  1. Shot Attempts 
  2. Unblocked Shots 
  3. Shot Attempt Assists 
  4. Unblocked Shot Assists 
  5. OZ Carry-in Attempts; Successful Carry-ins; Failed Carry-ins/Turnovers 
  6. OZ Dump-in Attempts; Recovered Dump-ins; Failed Dump-ins/Turnovers 
  7. DZ Carry-out Attempts; Successful Carry-outs; Failed Carry-outs/Turnovers 
  8. DZ Dump-out Attempts; Recovered Dump-outs; Failed Carry-outs/Turnovers

How I define each of these may vary from others' understanding of them, so I should flesh that out. A lot of these are based in my individual philosophy of what the optimal play in hockey is, and what is the true importance of events as well as other tweaks that are purely my arbitrary distinctions that are not necessarily and airtightly based on empirical data and undeniable evidence. I'll willingly internet-argue about them until either of us dies or my mind is changed; the latter I promise is possible.

I'll also note that the following is entirely optional reading for this piece. This is pure nuts-and-bolts stuff, and isn't at all necessary to understanding what I'm doing and what the data is or means. If you're familiar with micro-stats concepts and don't really care about the minutiae of what's under the hood, skip it. To easily get past it, ctrl-f the phrase 5-on-5.
Shot Attempts - On-ice and Individual

One place where I may stray from others in shot attempts is that I think an individual fanning on a shot is still a shot attempt. I think this is important because if a player makes a good pass or the team is controlling play, I don't want poor execution by the individual shooting to deflate an event that was earned by the other four players on the ice or the passer. It also adds to the distinction between players who get more of their shots on net, players who can work with hot passes and operate within checking distance. It also adds to a distinction between guys whose passes end up legit shots, getting passes in a guys wheelhouse where it's easier to get a good shot off. Another reason I think this is important is because you're going to have to arbitrate this either way at some point along the spectrum between fanning on the puck so much it barely moves, and fanning on the puck but it still hits the net. A player can flub a shot completely, or they can not get all of it. When does it turn into a shot attempt? If it hits the net or not? What happens to fanned shots that miss the net? Aren't they still valuable in terms of being able to redirect? You run into this issue at some point whether you want to or not.

Additionally of note; I count shots from outside the blueline as successful dump-ins (not necessarily un-recovered or recovered though) and not individual or on-ice shots, even if they hit the net - unless they result in goals. I understand this is heretical because those are absolutely still shots technically and that they've resulted in goals before. I compare it to how the NHL doesn't count shots from behind the net as shots on goal unless they bank off of the goalie/a player and go in, resulting in a heatmap of scoring likelihood (blue is shots that have  below 6-point something percentage of resulting in a goal and orange are shots above that, forget how it was constructed) looking like this:

(Via Emmanuel Perry, by the way)

A third difference is an on-ice distinction - This may be more heresy, but if a player leaves for the bench and a shot for or against happens immediately after another player replaces them, I'm giving that event to the player(s) who left the situation unless the replacement makes it to the blueline. This works in the DZ to punish the bad changer and not the replacement, and in the OZ to reward the defensemen who were on for the successful break-out and not the guy who changes on into a favourable (in shot event terms) situation. Obviously change effects aren't eliminated by this choice of mine, but the more extreme change-based punishments/rewards are.

The reason I don't record actual SOG is because one, I don't typically use SF% in evaluation for a variety of reasons; and two, it's already recorded by the AHL and so I can use it without recording it manually and to inform where big gaps from FF and SF exist. There's also a second witness in this way.

Zonal Transition

Let's define the distinction between a success and a failure. To me, a successful carry-out or carry-in means the player fully crossed the line both technically and in effect. What I mean by in effect is this: by NHL-style, video-review, photo-finish maybe a player crosses the line completely with the puck before getting rubbed out along the boards without any puck support and turning the puck over, but that's still a failure to carry the puck in because the effect is the same. If you don't make it five feet into the OZ before turning the puck over, I don't think any hockey coach is going to consider your turnover not a blueline turnover, the fatal kind, just because you technically did or didn't get across the line. I decide at what point the carry-in is successful on a case-by-case basis, with a focus on whether or not the puck supports existence or inexistence is of the player's volition. Meaning, is he attempting an carry-in entry to the offensive zone while his entire team is changing and turning the puck over, resulting in a headman pass to an opposition forward who hard-punishes the wholesale change for a breakaway chance? Or does he get separated from the puck at the exact moment his puck support arrives, who picks up the loose puck with ease and the going gets going?
In this way, a recovered puck is never a failure. I split credit for individuals who recover the puck on dump-ins, because that's the way forechecks work most of the time. The first forward comes in, disrupts the defending team's recovery of the puck and attempt to break out the puck by separating the recover-er (typically but not always a defenseman) from the puck and the second forward collects. In that situation, both guys get 1 credit for a recovery. In the rarer situation where it's a one man show busting an attempted breakout and recovering the puck all by himself, I give him a 2

What follows is the team totals data that I feel comfortable publishing right now. What I mean in terms of comfortable, is that I've vetted these numbers fairly heavily and feel they're at a decent enough sample size. In terms of distance from being published, I'd say more shot-events data is closer to being here, and zonal-transition team totals are a bit further away, and zonal-transition individual totals are the furthest away in our timeframe. Right now, a lot of stuff (all the zonal transition data) isn't to my standards of publishing, but that also means it's not under the hood when I'm posting player profiles and pieces like that. The only information I'm citing in those posts is the on-ice numbers that follow, as well as the individual players' shots, shot assists, and on/off data that'll be released as each player is profiled and all fit into what we see here. None of the data that's unpublishable is being used or cited in a black-box manner.

5-on-5 Shot Attempts

The games I have tracked are purposely diverse in terms of opponent and date. I have games from each month fairly evenly, none of the months have groups of games all in a row tracked, except for the four games Jesse Puljujärvi played because I was very curious about them. To be transparent, each of the game reports are listed below.

(I'll also add the AHL-recorded all-strengths shots-on-goal totals along with the amount of powerplay opportunities for each team to 'show my work' in verifying that my records aren't out of the realm of reasonable from what the league themselves have on record. The way this works is we're going to look at where any of my 5v5 shot attempt totals are much different from what the AHL-recorded all-strengths shots-on-goal ones are, and then check if the amount of powerplay opportunities given to each team could have resulted in the total numbers getting goosed either way by one team getting, like, 10 more powerplay shots from being awarded 3 more powerplay opportunities. Remember that this is a fairly crude instrument because not all powerplays or powerplay opportunities are equal in shot generation rate or duration. To be clear: The 5v5 data is mine, the All-Strengths totals are from

October 20th vs. San Diego Gulls


CF - 72
CA - 33
CD - (+39)

All-Strengths (PPOP)

SF - 49 (5)
SA - 23 (3)
SD - (+26)

October 27th vs. Stockton Heat


CF - 48
CA - 34
CD - (+14)

All-Strengths (PPOP)

SF - 30 (7)
SA - 24 (1)
SD - (+6)

November 16th vs. San Diego Gulls

CF - 76
CA - 34
CD - (+42)

All-Strengths (PPOP)

SF - 47 (2)
SA - 40 (7)
SD - (+7)

November 17th vs Colorado Eagles


CF - 41
CA - 20
CD - (+21)

All-Strengths (PPOP)

SF - 42 (5)
SA - 25 (1)
SD - (+17)

November 20th vs Colorado Eagles


CF - 43
CA - 54
CD - (-11)

All-Strengths (PPOP)

SF - 30 (3)
SA - 30 (3)
SD - (0)

November 23rd vs. Ontario Reign


CF - 58
CA - 49
CD - (+9)

All-Strengths (PPOP)

SF - 33 (4)
SA - 30 (6)
SD - (+3)

November 24th vs. Ontario Reign 


CF - 41
CA - 29
CD - (+12)

All-Strengths (PPOP)

SF - 29 (5)
SA - 33 (5)
SD - (+4)

November 29th vs Ontario Reign


CF - 46
CA - 36
CD - (+10)

All-Strengths (PPOP)

SF - 37 (4)
SA - 25 (7)
SD - (+12)

December 5th vs. Manitoba Moose


CF - 50
CA - 56
CD - (-6)

All-Strengths (PPOP)

SF - 31 (1)
SA - 32 (1)
SD - (-1)

December 8th vs. San Jose Barracuda


CF - 55
CA - 22
CD - (+33)

All-Strengths (PPOP)

SF - 35 (7)
SA - 18 (1)
SD - (+17)

December 19th vs. Stockton Heat


CF - 56
CA - 41
CD - (+15)

All-Strengths (PPOP)

SF - 42 (2)
SA - 31 (4)
SD - (+11)

December 22th vs. Colorado Eagles


CF - 45
CA - 48
CD - (+3)

All-Strengths (PPOP)

SF - 35 (4)
SA - 35 (4)
SD - (0)

December 31st vs. Ontario Reign

CF - 58
CA - 34
CD - (+24)

All-Strengths (PPOP)

SF - 31 (4)
SA - 31 (4)
SD - (0)

January 5th vs. Tucson Roadrunners


CF - 59
CA - 37
CD - (+22)

All-Strengths (PPOP)

SF - 35 (5)
SA - 24 (3)
SD - (+11)

January 9th vs Texas Stars


CF - 49
CA - 54
CD - (-5)

All-Strengths (PPOP)

SF - 30 (3)
SA - 26 (2)
SD - (+4)

January 18th vs Stockton Heat


CF - 47
CA - 31
CD - (+16)

All-Strengths (PPOP)

SF - 36 (5)
SA - 20 (6)
SD - (+16)



CF - 844 (52.75 per game)
CA - 612 (38.25 per game)
CD - (+232) (+14.50 per game)
CF% - 57.97%


SF - 572 (35.75 per game)
SA - 447 (27.94 per game)
SD - (+125) (+7.13 per game)
SF% - 56.13%

PPOP - 66 (4.125 per game)
TSH - 61 (3.81 per game)

I figure another important point here is to find out whether or not I've selected games where the Condors generally have a better powerplay opportunity differential than in the rest of their games that aren't tracked. This could also pollute the sample; what if the games I've selected have, in aggregate, the Condors getting more PPOP for and less against (and from there more all-strength shots-for than against) than they usually do, which would cover up the possibility that I've been too generous a shot-tracker to Bakersfield? The AHL website's team stats section has records of this and has the Condors are 161 powerplay opportunities, and 162 times shorthanded. Over 42 games, that's a rate of 3.83 times on the powerplay per game, 3.86 times shorthanded per game. Given that our sample's rate of PPOP is above and TSH below, we can infer that the group of non-tracked games have an even lower rate of PPOP and higher rate of TSH than in our sample in order for the total rates of the tracked and non-tracked games to land in the middle like that.

So, if we assume there's a normal distribution in regards to AHL team's shot generation on the power-play (meaning the Condors, and their opponents in aggregate, all get effectively close to the same average amount of shots-on-goal per powerplay opportunity) the all-strengths and 5-on-5 numbers seem fairly close and allow for a small amount of a great many possible factors, like perhaps the Condors getting more of their shot attempts from the point or from sources unlikely to register shots-on-goal (more on that in the future) result in the difference there. Perhaps the penalty kill is poor and allows more shots-on-goal than the powerplay registers and that pulls the all-strengths numbers down. If none of these (or a multitude of other factors) are true to any degree, then the only remaining one is that my tracking is generous to the Condors. This could always play a factor, but given the fact that the AHL-tracked numbers are in the same neighbourhood it's unlikely that many points I'm going to be making by drawing on the data I've tracked is fully invalidated by this effect.

Either way, it's useful to the readership to spill the guts on the results of an audit like this (however flawed) so that they (you) can better inform your own decisions and takeaways from my writing.

And now, what we've all been waiting for, Actual Hockey Goals, even-strength, from the AHL themselves.

Even-Strength Goals for and against

GF - 102 (2.45 per game)
GA - 84 (2.00 per game)
GD - (+18) (+0.45 per game)
GF% - 54.84%

There you have it, folks. Even with the considerations listed, I'd posit that the Condors are a shot volume team and that this has translated into a strong even-strength goal differential, though some gets lost along the way. By video, this is a McLellanite team through-and-through. I don't mean this as an insult, but if you watched the early 2017-18 Oilers team, the Condors operate a lot like them in the way they pursue their goals. The breakout is along the boards, and the offensive-zone play often consists of going low-to-high after a dump-in retrieval and hammering the opposition with point shots.

We'll get to a video and zonal transition data based analysis and critique of these things in time - in terms of the team and individual players - but since I'm launching my profiles of individual players using some of the stuff I've tracked so far, I figure now was a good time to update everyone on my processes, and on the early results in totality to give you a good idea of where I'm at in a macro sense of dissecting this team.

I hope this pre-emptively answers most of the questions people have about where I'm at with everything and how I'm managing the endeavour; and gives a better idea of what I'm setting out to do and some of the obstacles that stand in the way. I look forward to publishing more player profiles as things go along and updating them as the project starts to more resemble its finished form.

Sunday, January 27, 2019

Player Profile - #16 Tyler Benson

The following is an except from the intro of an upcoming article of mine that talks about the status of my tracking project for the 2018-19 Bakersfield Condors:

About a month ago I realised that if I only published the numbers from my tracking project for the Bakersfield Condors after every single player was up to date with each of the data points I was tracking, I'd be doing this stuff way further past real-time than I wanted to be, maybe even into the summer.

I found this unacceptable; so instead we're going to build this thing on the fly.

For those who have no idea what I'm talking about, over this AHL season I've been manually tracking certain events that I find invaluable for evaluating both what a team is attempting to do and how much they're succeeding at it, and sussing out the same in terms of individual player's identities and how much they're succeeding with them.

One of the players I have a decent enough sample size (16 games;) to share the data for is one of the Oilers fanbase's deserved intrigue: LW Tyler Benson.

I've got his individual shot events vetted and ready to go, so I thought I'd give a profile on his work this season so far. The following is entirely from the 5-on-5 game-state.

On-ice Totals:

CF - 222
CA - 112
CD - (+110)
CF% - 66.47%

Condors without Benson:

CF - 622
CA - 500
CD - (+122)
CF% - 55.44%

iCF - 42
iCF/GP - 2.63

iFF - 34
iFF/GP - 2.13

iCFA - 67
iCFA/GP - 4.19

iFFA - 55
iFFA/GP - 3.44

(iCF is an individual shot attempt, iCFA is a shot attempt assist, iFF is an individual unblocked shot, iFFA is an unblocked shot assist. I should also mention that I only count primary shot assists; there is only one assist credit given out for each shot - if there is one - and it goes to the player who makes the last pass before the shot is taken)

So, spoiler alert - you'll see this in the team-based post - the Condors are a strong possession team (in my sample), and look to drive their collective 54.8 even-strength goalshare (a data-point from their 42-game body of work that I grabbed manually from available stuff on and by sheer shot volume. Benson succeeds through this system to a staggering degree in my sample, but remember that if he plays the 13.01 5v5 minutes estimates him to, we're only looking at about 200 minutes here.

They're a McLellanite team, a lot of their breakout style runs along the walls and the way that they're heavy shot-blockers combines with hammering from the point in the offensive zone into a system that in effect reminds me most of the early season 2017-18 Edmonton Oilers - and I don't mean that in an inflammatory way. Again, more on this in the team-based post.

Benson is in the upper group among the entire team in many areas and vies with Marody for the lead in passing categories. The Condors will often times utilise a hard top-six type deployment, where Benson plays on a skill line with some of Marody, Hebig and Currie. The other main line always features Malone at centre, often with Gambardella and Russell or Christoffer and they bear such responsibilities that indirectly inflate Benson and co's possession shares.

He was centred by Marody or Currie (often with both splitting centre duties, again McLellan-like) 14 of the 16 games, spending the other two with Tyler Vesel in games where Woodcroft spread the wealth - typically games where Cameron Hebig was his opposite wing.)

His most impressive game in puck distribution was November 17th versus the Colorado Eagles, where he assisted nine shot attempts and seven went unblocked. On December 19th versus the Stockton Heat, he had seven shot attempts himself and assisted on 7 more shots attempts.

Benson's sense and his understanding of checking is the reason he scores, but his sense and his understanding of timing is the reason he's dominant territorially. Woodcroft's Condors love to break out like McLellan's Oilers, but when Benson's on the ice he appears to be trusted to take plays through the middle and frequently finds teammates moving up the ice after he takes the first pass from a defenceman on the breakout.

I could show you a million clips like this, where he makes things very easy on his teammates:

And then once he's in-zone, there's a number of tricks up his sleeve. He's a crafty forechecker  and disrupter of breakouts, knowing just how to punish turnovers. Note too his positioning in front of the net on the Bear goal, and how he frequently occupies would-be shot-blockers or keeps defensemen engaged on him. A favourite move of his, which you'll see a couple examples of, is the spin-o-rama or behind the back pass:

(The following also features a slick play by Ethan Bear)

But he was perhaps at his strongest in the forechecking discipline when he was paired up with Puljujärvi during the latter's dominant stint in the AHL this year.

In the second part of the last clip, you can see Benson use his edges to shake a check, which is extremely important for him to be able to do because although he does want to draw attention to himself by holding onto the puck, he's not of the frame to bully checkers physically like a power forward might. Because of this combined with his inability to outright burn opposing players with speed, he's essentially got to be able to both know where he's going to send the puck far before he lets it go, and pass through layers of checking when he does. He's usually able to do so.

Should Benson play at the next level, you'd get the most out of him by playing him on at least your secondary powerplay unit. He often plays off of the half-wall, but given his threat level behind the net, he's likely able to perform as a goal-line player as well.

We should note that Benson's outsized shot share hasn't fully translated into goals-for percentage. His GF% via prospect-stats is still 55% and +3.46 relative to team, and it's not uncommon in the NHL for rookie players (who go on to be good NHLers) to have a similar effect of impacting possession before the goal-share catches up.

A certain factor is his own 4.55 shooting percentage at all strengths, despite sharing the team lead in total shots-on-goal with 110. He's still figuring out how to beat professional goalies, which is certainly a hint that the organisation is doing him a great favour in letting him develop on the farm. If he had an individual shooting percentage closer to some of his fellow teammates who also play leading roles on the power-play, he would have closer to 10-11 goals - putting him right at a point per game in the AHL.

He doesn't, and I believe the time at which he advances through this phase is an indicator for or not he plays years on a second line in the NHL, or a third, should he make it. There's enough work here at an early age to suggest it's more likely than not he plays 100 NHL games in an organisation that operates like Edmonton does, but there's also a chance for much more. His elevated scoring play when partnered with other NHL-calibre futures like Jesse Puljujärvi, Cooper Marody and Kailer Yamamoto reads like a player who can play-up in terms of offense, which in tandem with the players ability to extend offensive zone play and get the puck there in the first place gives him a chance to be the complementary third-best offensive player on a line that scores well during the hardest game-state of the hardest league.

My prescription would be to leave he, Kailer Yamamoto, and Cooper Marody together on the farm to give all three the best chance to be full-time contributors to the 2019-20 Edmonton Oilers.