Nation Sites
The Nation Network
CanucksArmy has no direct affiliation to the Vancouver Canucks, Canucks Sports & Entertainment, NHL, or NHLPA
Data dumps: Canucks adjusted Corsi/Fenwick numbers

By Cam Charron
Jun 5, 2012, 13:42 EDT

Using Vic Ferrari’s timeonice.com scripts, I looked at data from here, here and here to determine Corsi and Fenwick numbers for the Vancouver Canucks this season. The Ferrari scripts will differ slightly from Behind the Net’s because BtN looks at 5-on-5 data while TOI, I do believe, registers all even strength situations.
Either way, both are solid resources and the charts below will offer us a glimpse into which Canucks were the best at controlling the play when they were on the ice.
First off, here is how Corsi and Fenwick numbers are counted:
No | NAME | TOI | GP | GF | GA | SF | SA | MF | MA | BF | BA |
2 | Dan Hamhuis | 1528 | 82 | 74 | 46 | 703 | 679 | 297 | 232 | 394 | 258 |
3 | Kevin Bieksa | 1506.9 | 78 | 67 | 56 | 727 | 674 | 316 | 240 | 402 | 269 |
4 | Keith Ballard | 675.8 | 47 | 21 | 21 | 304 | 322 | 123 | 115 | 171 | 153 |
5 | Marc-André Gragnani | 193.7 | 14 | 5 | 9 | 107 | 94 | 44 | 22 | 52 | 46 |
6 | Sami Salo | 1060.4 | 69 | 40 | 37 | 466 | 501 | 197 | 144 | 268 | 216 |
7 | David Booth | 743.1 | 56 | 25 | 25 | 400 | 315 | 181 | 111 | 215 | 131 |
8 | Chris Tanev | 393.3 | 25 | 17 | 8 | 201 | 162 | 70 | 60 | 100 | 87 |
9.1 | Cody Hodgson | 686.2 | 63 | 33 | 25 | 281 | 303 | 125 | 107 | 160 | 141 |
9.2 | Zack Kassian | 174.7 | 17 | 5 | 6 | 78 | 87 | 34 | 30 | 46 | 35 |
14 | Alex Burrows | 1155.9 | 80 | 53 | 34 | 576 | 499 | 226 | 152 | 329 | 182 |
15 | Marco Sturm | 61 | 6 | 1 | 5 | 29 | 23 | 12 | 9 | 16 | 12 |
17 | Ryan Kesler | 1123.9 | 77 | 40 | 31 | 558 | 506 | 250 | 156 | 306 | 233 |
20 | Chris Higgins | 952.5 | 71 | 45 | 34 | 456 | 434 | 192 | 135 | 261 | 199 |
21 | Mason Raymond | 744.7 | 55 | 29 | 28 | 367 | 404 | 132 | 108 | 211 | 159 |
22 | Daniel Sedin | 1096.8 | 72 | 52 | 35 | 556 | 454 | 246 | 144 | 306 | 163 |
23 | Alex Edler | 1488.8 | 82 | 60 | 64 | 681 | 695 | 291 | 213 | 385 | 302 |
24 | Mark Mancari | 49.9 | 6 | 0 | 0 | 17 | 25 | 8 | 6 | 15 | 7 |
25 | Andrew Ebbett | 152.2 | 17 | 7 | 5 | 74 | 66 | 32 | 23 | 31 | 25 |
26.1 | Mikael Samuelsson | 66.3 | 6 | 2 | 3 | 36 | 24 | 10 | 7 | 19 | 11 |
26.2 | Samuel Pahlsson | 236.6 | 19 | 9 | 6 | 110 | 116 | 36 | 31 | 65 | 56 |
27 | Manny Malhotra | 769 | 78 | 24 | 38 | 251 | 393 | 89 | 152 | 146 | 192 |
29 | Aaron Rome | 602.1 | 43 | 16 | 21 | 281 | 260 | 102 | 99 | 141 | 148 |
32 | Dale Wiese | 549 | 68 | 13 | 13 | 200 | 271 | 86 | 100 | 104 | 122 |
33 | Henrik Sedin | 1257 | 82 | 65 | 40 | 637 | 544 | 272 | 171 | 339 | 201 |
34 | Byron Bitz | 104.3 | 10 | 4 | 2 | 36 | 42 | 12 | 14 | 20 | 25 |
36 | Jannik Hansen | 1033.9 | 82 | 49 | 33 | 431 | 484 | 195 | 154 | 281 | 232 |
38 | Victor Oreskovich | 5.9 | 1 | 0 | 0 | 1 | 7 | 0 | 1 | 0 | 2 |
40 | Maxim Lapierre | 821.4 | 82 | 24 | 28 | 317 | 391 | 117 | 156 | 164 | 179 |
41 | Andrew Alberts | 575.4 | 44 | 22 | 18 | 209 | 276 | 81 | 90 | 139 | 131 |
42 | Bill Sweatt | 10.2 | 2 | 0 | 0 | 4 | 2 | 1 | 3 | 1 | 4 |
52 | Alexander Sulzer | 180.9 | 12 | 9 | 3 | 72 | 96 | 31 | 35 | 40 | 28 |
54 | Aaron Volpatti | 203.9 | 23 | 5 | 6 | 68 | 88 | 34 | 41 | 44 | 55 |
79 | Mike Duco | 48.2 | 6 | 4 | 3 | 18 | 25 | 2 | 8 | 7 | 14 |
[ TOI = Even strength time on ice, GP = Games Played, GF = Goals For, GA = Goals Against, SF = Shots For, SA = Shots Against, MF = Misses For, MA = Misses Against, BF = Blocks For, BA = Blocks Against ]
Corsi is calculated by adding up GF, SF, MF and BF and subtracting them by GA, SA, MA and BA. Shot attempts are a very good proxy for offensive zone time. Fenwick, a variant of Corsi, takes blocked shots out of the calculation and it is more indicative of scoring chances than overall puck possession.
Anyhow, if you were total raw Corsi/Fenwick numbers, here would be your team leaders:
No | NAME | Corsi | Fenwick |
22 | Daniel Sedin | 364 | 221 |
33 | Henrik Sedin | 357 | 219 |
14 | Alex Burrows | 317 | 170 |
3 | Kevin Bieksa | 273 | 140 |
2 | Dan Hamhuis | 253 | 117 |
7 | David Booth | 239 | 155 |
17 | Ryan Kesler | 228 | 155 |
20 | Chris Higgins | 152 | 90 |
23 | Alex Edler | 143 | 60 |
6 | Sami Salo | 73 | 21 |
8 | Chris Tanev | 71 | 58 |
36 | Jannik Hansen | 53 | 4 |
21 | Mason Raymond | 40 | -12 |
5 | Marc-André Gragnani | 37 | 31 |
25 | Andrew Ebbett | 25 | 19 |
9.1 | Cody Hodgson | 23 | 4 |
26.1 | Mikael Samuelsson | 22 | 14 |
29 | Aaron Rome | 12 | 19 |
26.2 | Samuel Pahlsson | 11 | 2 |
15 | Marco Sturm | 9 | 5 |
4 | Keith Ballard | 8 | -10 |
9.2 | Zack Kassian | 5 | -6 |
24 | Mark Mancari | 2 | -6 |
42 | Bill Sweatt | -3 | 0 |
38 | Victor Oreskovich | -9 | -7 |
52 | Alexander Sulzer | -10 | -22 |
34 | Byron Bitz | -11 | -6 |
79 | Mike Duco | -19 | -12 |
54 | Aaron Volpatti | -39 | -28 |
41 | Andrew Alberts | -64 | -72 |
32 | Dale Wiese | -103 | -85 |
40 | Maxim Lapierre | -132 | -117 |
27 | Manny Malhotra | -265 | -219 |
This isn’t the best measure to judge a hockey player, mind you. Corsi and Fenwick numbers, like goal totals, are somewhat reliant on overall offensive and defensive zone starts. Manny Malhotra and Maxim Lapierre are at a disadvantage because they usually start shifts in their own end, while the Sedins usually start them in the opposite end. The other caveat is the amount of time on ice each player gets.
By dividing Corsi by time on ice and multiplying by 60, we get a “Corsi/ON” number, which is the rate of extra offensive shots fired per 60 minutes:
No | NAME | Corsi/60 | Fenwick/60 |
22 | Daniel Sedin | 19.9 | 12.1 |
26.1 | Mikael Samuelsson | 19.9 | 12.7 |
7 | David Booth | 19.3 | 12.5 |
33 | Henrik Sedin | 17.0 | 10.5 |
14 | Alex Burrows | 16.5 | 8.8 |
17 | Ryan Kesler | 12.2 | 8.3 |
5 | Marc-André Gragnani | 11.5 | 9.6 |
3 | Kevin Bieksa | 10.9 | 5.6 |
8 | Chris Tanev | 10.8 | 8.8 |
2 | Dan Hamhuis | 9.9 | 4.6 |
25 | Andrew Ebbett | 9.9 | 7.5 |
20 | Chris Higgins | 9.6 | 5.7 |
15 | Marco Sturm | 8.9 | 4.9 |
23 | Alex Edler | 5.8 | 2.4 |
6 | Sami Salo | 4.1 | 1.2 |
21 | Mason Raymond | 3.2 | -1.0 |
36 | Jannik Hansen | 3.1 | 0.2 |
26.2 | Samuel Pahlsson | 2.8 | 0.5 |
24 | Mark Mancari | 2.4 | -7.2 |
9.1 | Cody Hodgson | 2.0 | 0.3 |
9.2 | Zack Kassian | 1.7 | -2.1 |
29 | Aaron Rome | 1.2 | 1.9 |
4 | Keith Ballard | 0.7 | -0.9 |
52 | Alexander Sulzer | -3.3 | -7.3 |
34 | Byron Bitz | -6.3 | -3.5 |
41 | Andrew Alberts | -6.7 | -7.5 |
40 | Maxim Lapierre | -9.6 | -8.5 |
32 | Dale Wiese | -11.3 | -9.3 |
54 | Aaron Volpatti | -11.5 | -8.2 |
42 | Bill Sweatt | -17.6 | 0.0 |
27 | Manny Malhotra | -20.7 | -17.1 |
79 | Mike Duco | -23.7 | -14.9 |
38 | Victor Oreskovich | -91.5 | -71.2 |
Poor Victor Oreskovich. He played six minutes of awful hockey this season.
Now, we adjust them for defensive zone starts. Each extra defensive zone start will add an extra 0.8 Corsi points to each player’s total, and 0.6 Fenwick points:
No | NAME | Corsi/60 | Fenwick/60 | Adj Cor/60 | Adj Fen/60 |
26.1 | Mikael Samuelsson | 19.9 | 12.7 | 21.4 | 13.8 |
25 | Andrew Ebbett | 9.9 | 7.5 | 16.8 | 12.7 |
7 | David Booth | 19.3 | 12.5 | 14.0 | 8.5 |
8 | Chris Tanev | 10.8 | 8.8 | 13.8 | 11.0 |
24 | Mark Mancari | 2.4 | -7.2 | 12.0 | 0.0 |
17 | Ryan Kesler | 12.2 | 8.3 | 12.0 | 8.1 |
27 | Manny Malhotra | -20.7 | -17.1 | 11.5 | 7.1 |
15 | Marco Sturm | 8.9 | 4.9 | 11.2 | 6.7 |
3 | Kevin Bieksa | 10.9 | 5.6 | 11.0 | 5.6 |
2 | Dan Hamhuis | 9.9 | 4.6 | 10.0 | 4.6 |
20 | Chris Higgins | 9.6 | 5.7 | 9.5 | 5.6 |
40 | Maxim Lapierre | -9.6 | -8.5 | 8.6 | 5.1 |
5 | Marc-André Gragnani | 11.5 | 9.6 | 6.8 | 6.1 |
29 | Aaron Rome | 1.2 | 1.9 | 5.9 | 5.4 |
26.2 | Samuel Pahlsson | 2.8 | 0.5 | 5.8 | 2.8 |
36 | Jannik Hansen | 3.1 | 0.2 | 4.8 | 1.6 |
34 | Byron Bitz | -6.3 | -3.5 | 4.7 | 4.8 |
22 | Daniel Sedin | 19.9 | 12.1 | 3.2 | -0.5 |
4 | Keith Ballard | 0.7 | -0.9 | 3.1 | 0.9 |
14 | Alex Burrows | 16.5 | 8.8 | 3.0 | -1.3 |
33 | Henrik Sedin | 17.0 | 10.5 | 2.5 | -0.5 |
32 | Dale Wiese | -11.3 | -9.3 | 2.1 | 0.7 |
23 | Alex Edler | 5.8 | 2.4 | 1.3 | -0.9 |
9.1 | Cody Hodgson | 2.0 | 0.3 | 1.0 | -0.4 |
52 | Alexander Sulzer | -3.3 | -7.3 | 0.4 | -4.5 |
6 | Sami Salo | 4.1 | 1.2 | -0.5 | -2.3 |
54 | Aaron Volpatti | -11.5 | -8.2 | -0.9 | -0.3 |
21 | Mason Raymond | 3.2 | -1.0 | -1.5 | -4.5 |
41 | Andrew Alberts | -6.7 | -7.5 | -1.9 | -3.9 |
9.2 | Zack Kassian | 1.7 | -2.1 | -3.8 | -6.2 |
79 | Mike Duco | -23.7 | -14.9 | -5.7 | -1.5 |
42 | Bill Sweatt | -17.6 | 0.0 | -17.6 | 0.0 |
38 | Victor Oreskovich | -91.5 | -71.2 | -83.4 | -65.1 |
Now we’re getting somewhere. Mikael Samuelsson had a great start possessionally before he was traded, and Andrew Ebbett thrived in his limited minutes, but the best Canucks were David Booth and Kevin Bieksa according to this measure. Chris Tanev again proves promising by adjusted statistics.
Caveat: this isn’t a measure of how good a player is, or at least isn’t the only measure. There are other factors, but generally, teams that hold onto the puck well tend to score more goals, and teams that score more goals tend to win more games. There are many other factors in play here. We refer to these numbers in absence of team scoring chance data, and we’ll show you why later this week when we begin to unveil Canucks scoring chances.
Since Corsi and Fenwick are a way of establishing who has the puck, they can be indicators of good two-way play. In this case, Canuck fans may be underestimating the positive impact of Marc-André Gragnani and Aaron Rome…
Recent articles from Cam Charron
Breaking News
- Tank-Watch 2026-27: Who else is competing with the Canucks for last place?
- Friedman: Canucks have offered Sedins larger roles in front office
- 4 Canucks make IIHF World Championship rosters; Öhgren cut from Team Sweden
- Canucks prospect Gabe Chiarot picks up two assists as his Kitchener Rangers come one win away from OHL Championship
- Vancouver-born Macklin Celebrini named Captain of Team Canada for IIHF World Championships
