Games today: 10
puckmodel

Anatomy of a player card

Follow the numbers: each marker explains one piece of the card, and every player card on the site reads the same way.

Nathan MacKinnon
C · #29 · COL · 31 · 6′0″ · 200 lb
Playmaker · Steady (78th pct)
Draft2013 · COL · Round 1 · 1st overall
Cap hit
$12.60M
12.1% of the $104M cap
Year 4 of 8
23-2426-2730-31
UFA · summer 2031 · age 35
Average career stats over an 84-game season 1
37
G
64
A
101
P
+20
+/−
38
PIM
20:39
TOI/GP
3:35
PP TOI/GP
0:16
SH TOI/GP
2
SeasonTeamTypeBox scoreNet goals per 84 gamesEloOn-ice contextContract
GPGAP+/−PIMPPPSHPGWGSOGHITBLKTKGVHITTShootoutOZ/DZ
starts
EV offEV defPPPKFinPlaySuppPenFOSOOverallCompTop oppMatesTop linematesCap hitPlayer
value
Contract
value
2013-14COL82243963+20261705241574551281280/31.79-0.114:56-2.1+0.82:20+0.10:04+0.8+5.5+0.2+3.1-0.7-0.9+6.6+52+0.6Hjalmarsson3.2%+1.3Landeskog49%Johnson37%Benoit36%Barrie30%$0.93M1.4%$4.1M6.4%+$3.2M
2014-15COL64142438-73470219243414538816/91.23-0.114:33-1.7-0.42:26+0.10:02-0.8+3.7-0.2+2.7-0.3+4.3+7.4+11+1.2Wheeler3.5%-1.7Landeskog64%O'Reilly42%Barrie38%Johnson32%$1.14M1.6%$4.9M7.1%+$3.8M
2015-16COL72213152-420161624546532839682/32.15-0.215:21-1.8-1.12:55+0.20:34+0.5+4.0+0.1+2.8-0.4+1.7+6.0+29+0.4Myers3.8%-1.1Duchene48%Landeskog44%Beauchemin43%Barrie42%$0.93M1.3%$5.2M7.3%+$4.3M
2016-17COL82163753-1416142425156304745611/31.24-0.815:25-0.6-0.62:46-0.31:44-3.4+5.9-0.3+2.0+0.2-0.3+1.7-36+1.0Byfuglien3.4%-2.9Rantanen57%Landeskog47%Barrie42%Beauchemin30%$6.30M8.6%$4.7M6.4%−$1.6M
2017-18COL74395897+11553211228438223641741/32.27-0.615:59-1.2-1.33:36+0.10:18+6.5+9.3-0.4+0.8-2.1+0.1+11.2+92+0.7Pietrangelo3.7%+1.5Rantanen86%Landeskog73%Barrie44%Johnson32%$6.30M8.4%$5.3M7.1%−$1.0M
2018-19COL82415899+2034370636554314864951/42.56-0.117:53-1.8-0.44:05-0.50:06+0.9+7.3+0.6+5.3-1.5-0.2+9.6+38+0.6Trouba3.3%+1.7Rantanen74%Landeskog71%Barrie52%Girard36%$6.30M7.9%$6.1M7.7%−$0.2M
2019-20COL69355893+1312280431851313853810/22.39+1.417:01-1.0-0.14:07+0.60:04+1.9+10.1-0.2+3.7-1.4-0.8+14.2+106+0.5Lindell3.9%+3.9Landeskog59%Makar49%Rantanen46%Girard42%$6.30M7.7%$7.9M9.7%+$1.6M
2020-21COL48204565+2237250220638151629510/13.87+1.316:12+1.8+4.04:06+0.50:02-2.0+10.9-0.1+3.1-0.3-0.7+18.5+71-0.0Burns9.9%+10.4Landeskog82%Rantanen81%Makar59%Toews42%$6.30M7.7%$8.4M10.4%+$2.1M
2021-22COL65325688+2242270529968393756821/52.44+1.517:20-1.9+1.43:40-0.10:03+1.4+9.4+0.2+4.4-1.0-0.7+14.6+46+0.4Ceci3.9%+9.4Rantanen78%Makar70%Landeskog43%Toews41%$6.30M7.7%$9.1M11.2%+$2.8M
2022-23COL714269111+2930340936653404347732/62.63+1.018:08-0.6+1.74:05+0.10:05+1.0+11.5+0.1+3.4-1.5+0.1+16.8+79+0.6Lindell3.0%+5.5Rantanen72%Toews53%Lehkonen52%Makar50%$6.30M7.6%$9.6M11.7%+$3.3M
2023-24COL825189140+3542480940555694282850/33.31+2.918:14+0.3+0.74:30+0.50:03+2.0+12.4-0.4+2.5-1.0-1.0+18.8+89+0.4Parayko3.1%+7.0Rantanen84%Makar68%Toews55%Drouin50%$12.60M15.1%$10.2M12.2%−$2.4M
2024-25COL793284116+25413805320385827121681/53.00+5.718:53-1.2+0.53:49+0.20:03-2.0+10.7-0.2+2.0-0.0-0.9+14.7+59+0.7Vlasic3.4%+5.5Makar74%Lehkonen53%Toews53%Rantanen49%$12.60M14.3%$10.8M12.2%−$1.8M
2025-26COL805374127+57393007350643525165753/63.38+3.117:55-1.6+1.54:17+0.70:02+2.1+9.8+0.4+1.0+0.3+1.7+18.9+86+0.4Lindell3.3%+6.3Necas80%Makar62%Lehkonen48%Toews38%$12.60M13.2%$12.1M12.6%−$0.5M
2026-27COL3235-1510013200336.67+1.515:04+1.2-1.73:33+0.10:05+5.8+7.1-0.0+5.0-2.0+0.0+17.1+10+0.0Barron27.2%+0.0Necas82%Makar69%Lehkonen56%Toews50%$12.60M12.1%$12.0M11.6%−$0.6M
2013-14COL82243963+20261705241574551281280/31.79-0.114:56-0.8+0.32:20+0.00:04+0.2+3.2+0.2+1.5-0.4-0.0+4.1+52+0.6Hjalmarsson3.2%+1.3Landeskog49%Johnson37%Benoit36%Barrie30%$0.93M1.4%$4.1M6.4%+$3.2M
2014-15COL64142438-73470219243414538816/91.23+0.014:33-0.8+0.02:26+0.00:02-0.0+2.8-0.4+2.0-0.4+0.4+3.7+11+1.2Wheeler3.5%-1.7Landeskog64%O'Reilly42%Barrie38%Johnson32%$1.14M1.6%$4.9M7.1%+$3.8M
2015-16COL72213152-420161624546532839682/32.15-0.015:21-1.0-0.32:55+0.10:34+0.2+2.9-0.1+2.3-0.4+0.2+3.8+29+0.4Myers3.8%-1.1Duchene48%Landeskog44%Beauchemin43%Barrie42%$0.93M1.3%$5.2M7.3%+$4.3M
2016-17COL82163753-1416142425156304745611/31.24-0.415:25-0.7-0.22:46-0.11:44-0.9+4.1-0.4+2.0-0.0+0.2+3.6-36+1.0Byfuglien3.4%-2.9Rantanen57%Landeskog47%Barrie42%Beauchemin30%$6.30M8.6%$4.7M6.4%−$1.6M
2017-18COL74395897+11553211228438223641741/32.27-0.315:59-0.9-0.53:36+0.00:18+1.7+6.1-0.4+1.5-1.4+0.2+5.9+92+0.7Pietrangelo3.7%+1.5Rantanen86%Landeskog73%Barrie44%Johnson32%$6.30M8.4%$5.3M7.1%−$1.0M
2018-19COL82415899+2034370636554314864951/42.56-0.117:53-1.2-0.34:05-0.10:06+0.6+5.6+0.5+3.5-1.2+0.1+7.5+38+0.6Trouba3.3%+1.7Rantanen74%Landeskog71%Barrie52%Girard36%$6.30M7.9%$6.1M7.7%−$0.2M
2019-20COL69355893+1312280431851313853810/22.39+0.717:01-0.9-0.24:07+0.10:04+1.0+7.0-0.2+3.0-1.2+0.1+9.5+106+0.5Lindell3.9%+3.9Landeskog59%Makar49%Rantanen46%Girard42%$6.30M7.7%$7.9M9.7%+$1.6M
2020-21COL48204565+2237250220638151629510/13.87+0.616:12-0.2+0.94:06+0.10:02-0.0+7.3-0.1+2.7-0.5+0.1+10.8+71-0.0Burns9.9%+10.4Landeskog82%Rantanen81%Makar59%Toews42%$6.30M7.7%$8.4M10.4%+$2.1M
2021-22COL65325688+2242270529968393756821/52.44+0.817:20-1.1+0.53:40+0.00:03+0.8+7.3+0.1+3.4-0.9+0.0+10.9+46+0.4Ceci3.9%+9.4Rantanen78%Makar70%Landeskog43%Toews41%$6.30M7.7%$9.1M11.2%+$2.8M
2022-23COL714269111+2930340936653404347732/62.63+0.618:08-0.8+0.74:05+0.00:05+0.7+8.7+0.0+3.0-1.3+0.1+11.9+79+0.6Lindell3.0%+5.5Rantanen72%Toews53%Lehkonen52%Makar50%$6.30M7.6%$9.6M11.7%+$3.3M
2023-24COL825189140+3542480940555694282850/33.31+1.718:14-0.4+0.44:30+0.20:03+1.2+9.8-0.4+2.6-1.0+0.0+14.0+89+0.4Parayko3.1%+7.0Rantanen84%Makar68%Toews55%Drouin50%$12.60M15.1%$10.2M12.2%−$2.4M
2024-25COL793284116+25413805320385827121681/53.00+3.218:53-1.0+0.33:49+0.10:03-0.2+9.2-0.2+2.4-0.3-0.0+13.5+59+0.7Vlasic3.4%+5.5Makar74%Lehkonen53%Toews53%Rantanen49%$12.60M14.3%$10.8M12.2%−$1.8M
2025-26COL805374127+57393007350643525165753/63.38+2.017:55-1.1+0.74:17+0.20:02+1.1+8.9+0.4+1.9-0.1+0.1+14.1+86+0.4Lindell3.3%+6.3Necas80%Makar62%Lehkonen48%Toews38%$12.60M13.2%$12.1M12.6%−$0.5M
2026-27COL3235-1510013200336.67+1.015:04-0.8+0.33:33+0.10:05+0.7+8.1-0.1+2.6-0.8+0.1+11.2+10+0.0Barron27.2%+0.0Necas82%Makar69%Lehkonen56%Toews50%$12.60M12.1%$12.0M11.6%−$0.6M
2013-14COL82243963+20261705241574551281280/31.79+0.114:56-0.5+0.22:20+0.00:04+0.2+1.8-1.5+1.5-0.4-0.0+1.41552+0.6Hjalmarsson3.2%+1.3Landeskog49%Johnson37%Benoit36%Barrie30%$0.93M1.4%$4.1M6.4%+$3.2M
2014-15COL1463863101+136024074331008696662096/121.50+0.114:33-0.6+0.12:26+0.00:02+0.0+1.4-1.6+1.8-0.4+0.2+1.21552+0.8Hjalmarsson3.3%-0.0Landeskog56%Johnson35%Barrie33%Benoit21%$1.03M1.5%$4.5M6.8%+$3.5M
2015-16COL2185994153+980401136781461391241052778/151.71+0.115:21-0.8-0.02:55+0.00:34+0.1+1.5-1.2+2.1-0.4+0.2+1.71571+0.7Hjalmarsson3.4%-0.4Landeskog52%Barrie37%Johnson23%Duchene17%$1.00M1.5%$4.7M6.9%+$3.7M
2016-17COL30075131206-596543179292021691711503389/181.52-0.015:25-0.8-0.12:46+0.01:44-0.5+2.0-0.6+2.0-0.3+0.2+2.11521+0.8Hjalmarsson2.4%-1.1Landeskog50%Barrie38%Beauchemin19%Rantanen17%$2.32M3.3%$4.7M6.8%+$2.4M
2017-18COL374114189303+615186429121324019120719141210/211.66-0.115:59-0.8-0.23:36+0.00:18+0.5+3.1-0.6+1.8-0.6+0.2+3.31609+0.8Hjalmarsson1.9%-0.6Landeskog55%Barrie40%Rantanen31%Johnson19%$3.12M4.3%$4.8M6.8%+$1.7M
2018-19COL456155247402+26185123435157829422225525550711/251.80-0.017:53-0.9-0.24:05-0.00:06+0.5+3.4-0.2+2.4-0.7+0.1+4.41625+0.7Hjalmarsson1.5%-0.1Landeskog58%Barrie42%Rantanen40%Johnson15%$3.65M4.9%$5.0M7.0%+$1.4M
2019-20COL525190305495+39197151439189634525329330858811/271.87+0.117:01-0.9-0.24:07+0.00:04+0.7+4.3-0.2+2.5-0.8+0.1+5.61705+0.7Hjalmarsson1.3%+0.5Landeskog58%Rantanen41%Barrie36%Johnson13%$4.03M5.3%$5.4M7.4%+$1.4M
2020-21COL573210350560+61234176441210238326830933763911/281.97+0.216:12-0.8+0.04:06+0.00:02+0.5+4.9-0.3+2.6-0.8+0.1+6.41736+0.6Hjalmarsson1.2%+1.3Landeskog60%Rantanen45%Barrie33%Johnson12%$4.31M5.6%$5.8M7.7%+$1.5M
2021-22COL638242406648+83276203446240145130734639372112/332.01+0.317:20-0.9+0.13:40+0.00:03+0.6+5.2-0.1+2.7-0.8+0.1+7.31735+0.6Hjalmarsson1.0%+2.2Landeskog59%Rantanen48%Barrie29%Makar18%$4.53M5.8%$6.2M8.1%+$1.7M
2022-23COL709284475759+112306237455276750434738944079414/392.06+0.318:08-0.9+0.24:05+0.00:05+0.6+6.0-0.2+2.8-0.9+0.1+8.11766+0.6Lindell1.1%+2.6Landeskog52%Rantanen51%Barrie26%Makar21%$4.71M6.0%$6.5M8.5%+$1.8M
2023-24COL791335564899+147348285464317255941643152287914/422.16+0.418:14-0.8+0.24:30+0.10:03+0.7+7.1-0.2+2.8-0.9+0.0+9.51802+0.6Lindell1.0%+3.1Rantanen55%Landeskog46%Makar27%Barrie23%$5.43M6.8%$6.9M8.8%+$1.4M
2024-25COL8703676481015+172389323469349259747445864394715/472.23+0.818:53-0.8+0.33:49+0.10:03+0.5+7.7-0.2+2.7-0.8+0.0+10.31801+0.6Lindell0.9%+3.3Rantanen54%Landeskog41%Makar32%Toews21%$6.02M7.5%$7.2M9.1%+$1.2M
2025-26COL9504207221142+2294283534763842661509483808102218/532.30+0.917:55-0.9+0.34:17+0.10:02+0.6+8.2-0.1+2.6-0.7+0.1+11.11826+0.6Lindell1.1%+3.6Rantanen49%Landeskog38%Makar34%Toews23%$6.53M7.9%$7.6M9.4%+$1.0M
2026-27COL9534227251147+2284333544763855663509483811102518/532.30+0.915:04-0.9+0.33:33+0.10:05+0.7+8.2-0.1+2.6-0.7+0.1+11.21771+0.6Lindell1.1%+3.6Rantanen49%Landeskog37%Makar34%Toews23%$6.96M8.2%$7.9M9.5%+$0.9M
SeasonTeamBox scoreNet goals per 84 games
GPGAP+/−PIMPPPSHPGWGSOGHITBLKTKGVHITTEV offEV defPPPKFinPlaySuppPenFOSOOverall
2013-14COL72810+2410118124416-4.4+0.8-3.3+0.1+4.9+9.5-0.1-2.3-0.6-0.0+4.6
2017-18COL6336-2410128420411-2.7-3.4-2.4-0.3+2.2+6.2-0.1-2.9-2.9-0.0-6.3
2018-19COL126713-426035715871120+5.2-5.1+1.0+0.4-1.8+2.2-0.1+4.6-1.5+0.0+4.9
2019-20COL1591625+13129006520571534+3.1-0.8+7.9+0.3+2.0+11.0-0.0+2.6-0.4-0.0+25.6
2020-21COL108715+62602381556714-2.7-1.1+1.6+0.2+4.1+11.1-0.1+5.7-0.2-0.0+18.6
2021-22COL20131124+1189001172812141341+3.3+2.6+4.3-1.0+0.5+9.5-0.0+1.2-0.6-0.0+19.8
2022-23COL7347+8410140992322+4.0+1.3-3.4+0.9-3.0+8.6-0.2-2.7+1.3-0.0+6.7
2023-24COL1141014-147004681391216-0.0+1.5-1.5+0.0+1.4+12.3-0.2-0.4-1.3+0.0+11.8
2024-25COL77411+523023912331012+3.6-3.7+5.0+1.0+13.8+1.5-0.1+2.0+0.2-0.0+23.2
2025-26COL137815+566004711642223+1.0+1.9-0.2+0.7-1.0+6.5-0.1+5.8+0.8-0.0+15.2
2013-14COL72810+2410118124416-4.4+0.8-3.3+0.1+4.9+9.5-0.1-2.3-0.6+0.0+4.6
2017-18COL1351116+0820246544827-3.6-1.1-2.9-0.1+3.7+8.0-0.1-2.6-1.7-0.0-0.4
2018-19COL25111829-4108051032012111947+0.6-3.0-1.0+0.2+1.0+5.2-0.1+0.9-1.6+0.0+2.1
2019-20COL40203454+92217051684017183481+1.6-2.2+2.3+0.2+1.4+7.4-0.1+1.5-1.2+0.0+10.9
2020-21COL50284169+152423072065522244195+0.7-2.0+2.2+0.2+1.9+8.1-0.1+2.3-1.0-0.0+12.5
2021-22COL70415293+2632320732383343854136+1.5-0.7+2.8-0.1+1.5+8.5-0.1+2.0-0.9-0.0+14.6
2022-23COL774456100+3436330836392434057158+1.7-0.5+2.2-0.0+1.1+8.5-0.1+1.6-0.7-0.0+13.8
2023-24COL884866114+33404008409100564969174+1.5-0.2+1.7-0.0+1.2+9.0-0.1+1.3-0.8-0.0+13.6
2024-25COL955570125+384243010448112595279186+1.6-0.5+2.0+0.1+2.1+8.4-0.1+1.4-0.7-0.0+14.3
2025-26COL1086278140+4348490104951236556101209+1.5-0.2+1.7+0.1+1.7+8.2-0.1+1.9-0.5-0.0+14.4

2026-27 projection

How it was builthis last five seasons, aged, weighted by recency, shrunk toward a prior

+14.8 NG/84 · 84 projected GP → +14.8 net goals over the season

The seasons behind it (NG/84)
SeasonGPNG/84Age adjAged
2021-2265+14.35-2.26+12.08
2022-2371+16.63-1.96+14.67
2023-2482+18.72-1.49+17.23
2024-2579+13.66-1.01+12.65
2025-2680+17.76-0.52+17.23
2026-27 so far3+17.10+0.00+17.10
Component by component (NG/84)
His rateMemorynPriorTrustProjected
EV offense+3.610.9 yr202+0.2182%+2.99
EV defense-1.230.9 yr202-0.1867%-0.89
Power play+0.910.9 yr202+0.0578%+0.72
Penalty kill+0.441.2 yr244+0.0367%+0.31
Finishing+0.684.3 yr362+0.4172%+0.61
Playmaking+9.712.4 yr331-0.0896%+9.33
Suppression-0.110.9 yr202-0.00100%-0.11
Penalties+2.094.3 yr362+0.2291%+1.92
Faceoffs-0.070.9 yr202-0.0794%-0.07
Shootout-0.1513.5 yr378+0.031%+0.03
NG/84+15.88+0.62+14.84

1. Age. Every past season is first moved to his 2026-27 age along each component's career curve (Age adj: what a typical player gains or loses between that age and this one). Games from 2026-27 so far count like 2025-26 games, with no age adjustment. 2. Recency. Per component, the seasons are averaged with weights that fall off with age; Memory is the half-life in seasons, fitted walk-forward (penalty kill and EV defense change fast, finishing and playmaking slowly). 3. Shrinkage. Each component is pulled toward the average forward who reached the NHL at 19 or younger (Prior). Trust = n / (n + K): n is the effective number of games behind the weighted rate, K how many games of evidence that component needs before it outweighs the prior (fitted walk-forward on 2013-2025-26 seasons, then every K is multiplied by 0.5: shrinking the ten components one at a time ignores that a player above the prior in one is usually above it in the others, which compressed the total by about a fifth). Projected = Trust × his rate + (1 − Trust) × Prior. The ten projected components add up to his NG/84, the number the standings simulation dresses him at. Proj GP = games played so far plus the games the standings simulation dresses him for (injuries from ESPN return dates; goalies split 65/35 starter/backup).

Over time

4
84-game formtrailing net goals/84
'14'15'16'17'18'19'20'21'22'23'24'25'26'27BWCOL+22.2-0.7+17.8
5
Career net goalsrunning total vs a league-average player
'14'15'16'17'18'19'20'21'22'23'24'25'26'27COL+138
6
84-game stretcheshis best and worst windows of the form line
GAPPPP+/−TOI/GPPen takenPen drawnFO%Team W-L-OTL
Best+22.2Jan 7 ’23 – Jan 6 ’24528413646+3222:33143645.856-21-7
Worst-0.7Nov 1 ’16 – Oct 24 ’1716365214-1819:4691949.723-57-4

Games and opponents

7
Single-game net goalsshare of his 953 games by that night’s total
5%10%-1.70 to -1.60 net goals: 0.2% of games (2)-1.60 to -1.50 net goals: 0.1% of games (1)-1.30 to -1.20 net goals: 0.2% of games (2)-1.10 to -1.00 net goals: 0.3% of games (3)-1.00 to -0.90 net goals: 0.5% of games (5)-0.90 to -0.80 net goals: 0.6% of games (6)-0.80 to -0.70 net goals: 1.4% of games (13)-0.70 to -0.60 net goals: 1.5% of games (14)-0.60 to -0.50 net goals: 1.6% of games (15)-0.50 to -0.40 net goals: 2.9% of games (28)-0.40 to -0.30 net goals: 5.9% of games (56)-0.30 to -0.20 net goals: 5.5% of games (52)-0.20 to -0.10 net goals: 10.5% of games (100)-0.10 to +0.00 net goals: 12.4% of games (118)+0.00 to +0.10 net goals: 11.2% of games (107)+0.10 to +0.20 net goals: 10.1% of games (96)+0.20 to +0.30 net goals: 7.0% of games (67)+0.30 to +0.40 net goals: 4.8% of games (46)+0.40 to +0.50 net goals: 4.7% of games (45)+0.50 to +0.60 net goals: 3.4% of games (32)+0.60 to +0.70 net goals: 2.8% of games (27)+0.70 to +0.80 net goals: 3.3% of games (31)+0.80 to +0.90 net goals: 1.9% of games (18)+0.90 to +1.00 net goals: 0.9% of games (9)+1.00 to +1.10 net goals: 1.5% of games (14)+1.10 to +1.20 net goals: 0.5% of games (5)+1.20 to +1.30 net goals: 0.8% of games (8)+1.30 to +1.40 net goals: 0.8% of games (8)+1.40 to +1.50 net goals: 0.2% of games (2)+1.50 to +1.60 net goals: 0.4% of games (4)+1.60 to +1.70 net goals: 0.7% of games (7)+1.70 to +1.80 net goals: 0.4% of games (4)+1.80 to +1.90 net goals: 0.2% of games (2)+2.00 to +2.10 net goals: 0.1% of games (1)+2.10 to +2.20 net goals: 0.1% of games (1)+2.20 to +2.30 net goals: 0.1% of games (1)+2.60 to +2.70 net goals: 0.1% of games (1)+2.80 to +2.90 net goals: 0.1% of games (1)+3.00 to +3.10 net goals: 0.1% of games (1)-2-10+1+2+3mean +0.1355%above 044%below 0
Best game +3.00 net goals · Apr 14, 2023 at NSH (W 4–3) · Game recap →
3
Vs competition quartilescareer at 5v5, opposing fives ranked by average net goals/84
NET GOALS/84 VS AVERAGE, SAME QUARTILESHARE OF 5v5 TIME■ HOME ■ AWAYvs Q4 Toughestopposing five avg +1.8Career vs Q4: +7.7 net goals/84 above an average forward facing the same quartile; 4,614 min = 31% of his 5v5. Goals in those minutes: EV off +3.3, EV def -5.4, finishing +6.4, playmaking/suppression share +16.5; on-ice xGF% 48.7 (league 45.7), goals 248-248+7.7Home games: 2,218 of 7,218 career 5v5 min vs Q4 (30.7%; 25% = the league-wide split; all games 31.3%)31%Away games: 2,396 of 7,536 career 5v5 min vs Q4 (31.8%; 25% = the league-wide split; all games 31.3%)32%vs Q3 Toughopposing five avg +0.4Career vs Q3: +5.7 net goals/84 above an average forward facing the same quartile; 3,711 min = 25% of his 5v5. Goals in those minutes: EV off +5.4, EV def -2.3, finishing -1.7, playmaking/suppression share +13.0; on-ice xGF% 52.9 (league 49.0), goals 195-144+5.7Home games: 1,836 of 7,218 career 5v5 min vs Q3 (25.4%; 25% = the league-wide split; all games 25.2%)25%Away games: 1,876 of 7,536 career 5v5 min vs Q3 (24.9%; 25% = the league-wide split; all games 25.2%)25%vs Q2 Easyopposing five avg -0.3Career vs Q2: +10.1 net goals/84 above an average forward facing the same quartile; 3,361 min = 23% of his 5v5. Goals in those minutes: EV off +5.0, EV def +2.0, finishing +8.4, playmaking/suppression share +12.0; on-ice xGF% 56.5 (league 51.2), goals 207-102+10.1Home games: 1,617 of 7,218 career 5v5 min vs Q2 (22.4%; 25% = the league-wide split; all games 22.8%)22%Away games: 1,744 of 7,536 career 5v5 min vs Q2 (23.1%; 25% = the league-wide split; all games 22.8%)23%vs Q1 Easiestopposing five avg -1.2Career vs Q1: +8.9 net goals/84 above an average forward facing the same quartile; 3,068 min = 21% of his 5v5. Goals in those minutes: EV off +7.2, EV def +1.2, finishing +7.1, playmaking/suppression share +10.9; on-ice xGF% 59.1 (league 54.6), goals 202-92+8.9Home games: 1,548 of 7,218 career 5v5 min vs Q1 (21.4%; 25% = the league-wide split; all games 20.8%)21%Away games: 1,520 of 7,536 career 5v5 min vs Q1 (20.2%; 25% = the league-wide split; all games 20.8%)20%25% = even−12.60+12.6

Plus/minus by situation

8
+/− by manpowerthe official +/- split by situation; goalie-in +/- leaves out the empty nets
Even strengthPower playPenalty killGoalie pulled
SeasonTeamGP+/−5v54v43v35v45v34v34v53v53v46v55v6OtherGoalie in
2013-14COL82+20+15+10-100000+1+40+15
2014-15COL64-7+3-40000000-2-2-2-3
2015-16COL72-4+4+1-1-300+100-6+1-1+1
2016-17COL82-14-90+2-100+200-11+30-6
2017-18COL74+11+170-2-400+100-6+7-2+10
2018-19COL82+20+22+2-4-10-1000-6+10-2+16
2019-20COL69+13+24-1-2-40-1000-9+7-1+15
2020-21COL48+22+23+20-200000-4+4-1+22
2021-22COL65+22+23+20-200000-3+4-2+21
2022-23COL71+29+30+2+1-300000-6+6-1+29
2023-24COL82+35+34+1+2-500000-9+120+32
2024-25COL79+25+21-1+3-700000-7+160+16
2025-26COL80+57+58+3-4-800000-5+15-2+47
2026-27COL3-1+200-2000000-100
Total953+228+267+8-5-430-2+400-73+86-14+215

How each state adds to the official +/-: at even strength every goal counts; on his power play only a shorthanded goal against counts (a minus), on his penalty kill only a shorthanded goal for (a plus). Other is whatever the official +/- has left, so each row adds up: mostly empty-net goals against while his team pulled its goalie on a power play (6-on-4). Goalie in = the official +/- without 6v5 and 5v6. 6v5 and 5v6 +/- do not carry over from season to season (r 0.02 and 0.15): they mostly show who is sent out when a goalie is pulled. Since 2010-11; hover a cell for minutes and the goals behind it.

Shots

9
Shot mixhis shots on goal by type and location, 2010-11 on
ShareTotal shotsAvg dist (ft)xGGG/xGNet goals/84
Wrist61%2,35033203.42191.08+1.4
Snap13%4843162.1631.01+0.1
Slap12%4624147.1571.21+0.9
Backhand9%3512031.9270.85-0.4
Tip-in3%1111618.1180.99-0.0
Deflection1%27214.751.07–
Other1%4393.641.12–
Total3,82832371.03931.06+1.9

The rink is drawn from his side: he attacks left to right, his left on top. Right half: where his own shots come from. Left half: where he blocks shots (blocks carry no shot type, so that half ignores the type buttons). Blue = a bigger share of those shots from that zone than the league average for forwards in the same situation (and shot type, when one is picked); red = a smaller share.

Best finishes on videohis lowest-xG goals with a highlight clip (2018-19 on), starred on the rink above
xGHighlightDateOppGoalieSitShot
★10.012MacKinnon scores go-ahead goal ▸Nov 14, 2018vs BOSJaroslav HalakEVWrist
★20.015MacKinnon gets credit for goal ▸May 1, 2025 Playoffsvs DALJake OettingerEVBackhand
★30.017MacKinnon kicks off the scoring ▸Apr 3, 2021vs STLVille HussoEVWrist
★40.019MacKinnon buries long wrist shot ▸Dec 31, 2019vs WPGConnor HellebuyckEVWrist
★50.019MacKinnon snipes puck home ▸Jan 10, 2023vs FLASergei BobrovskyEVWrist

Goalie matchups

Career G − xG by goaliegoalies he has scored on most and least relative to xG
Most success against
GoalieGmSOGGxGG−xG
Kevin Lankinen63793.6+5.4
Ville Husso93173.2+3.8
Charlie Lindgren32362.3+3.7
Least success against
GoalieGmSOGGxGG−xG
Marc-Andre Fleury279958.7-3.7
Antti Raanta155225.3-3.3
Ben Bishop176646.7-2.7

Faceoffs

10
Faceoffs by dotcareer since 2013-14, shoots R
OWN ZONENEUTRAL ZONEATTACKING ZONE →Own-zone left: 580-622 (48.3%, league 52.4%); 9.1% of his draws, league 15.6%48.3%-4.19% · lg 16%Own-zone right: 1,133-1,337 (45.9%, league 47.5%); 18.8% of his draws, league 18.8%45.9%-1.619% · lg 19%Neutral, own side, left: 168-160 (51.2%, league 52.7%); 2.5% of his draws, league 3.3%51.2%-1.52% · lg 3%Neutral, own side, right: 216-276 (43.9%, league 45.8%); 3.7% of his draws, league 3.2%43.9%-1.94% · lg 3%Centre ice: 1,407-1,840 (43.3%, league 50.0%); 24.7% of his draws, league 18.1%43.3%-6.725% · lg 18%Neutral, attacking side, left: 142-184 (43.6%, league 54.1%); 2.5% of his draws, league 3.2%43.6%-10.62% · lg 3%Neutral, attacking side, right: 275-309 (47.1%, league 47.3%); 4.4% of his draws, league 3.3%47.1%-0.24% · lg 3%Attacking-zone left: 347-405 (46.1%, league 52.6%); 5.7% of his draws, league 18.8%46.1%-6.46% · lg 19%Attacking-zone right: 1,897-1,857 (50.5%, league 47.5%); 28.5% of his draws, league 15.6%50.5%+3.129% · lg 16%

46.9% won -2.2

13,155 draws; the league wins 49.1% at the dots he takes

Draw mixHis drawsLeague
Own zone28%34%
Neutral38%31%
Attacking34%34%

Drawn from his side: he attacks left to right, his left at the top. Circle: his win% at that dot, colored by how far it sits above (blue) or below (red) the league there, the small number (±10 scale). Bar: his share of all his draws taken there, the tick the league share (0–30% of his draws; 0–60% on the power play, penalty kill and 3v3). Even strength includes 4v4 and 3v3.

Head-to-head on the drawcareer since 2013-14, regular season + playoffs; win% lists 25+ draws
Most faced
OpponentDrawsW–LWin%
Ryan O'Reilly396168-22842.4%
Anze Kopitar285126-15944.2%
Adam Lowry252110-14243.7%
Mikael Backlund250122-12848.8%
Joel Eriksson Ek20193-10846.3%
Highest win% against
OpponentDrawsW–LWin%
Oskar Sundqvist2920-969.0%
Sam Steel6342-2166.7%
Brett Howden4228-1466.7%
Evgeni Malkin3322-1166.7%
Victor Rask3322-1166.7%
Lowest win% against
OpponentDrawsW–LWin%
Brady Tkachuk266-2023.1%
Boone Jenner5715-4226.3%
Nico Sturm4312-3127.9%
Jordan Staal14441-10328.5%
Derek Ryan288-2028.6%
The numbered elements
1
Basic stats
Average career stats over an 84-game season: G, A, P, +/− and PIM are per-84 rates (so players with different career lengths compare directly); the TOI entries are averages per game (total, power play, short-handed). Under the bio line sits the player’s archetype — a k-means style cluster over the player’s last 100 GP (icon + name; 8 forward clusters plus the rule-based Playmaker, 7 defense types, era-adjusted features; the full icon glossary is on the Reference page). Skaters with 60–99 career GP are typed on all their games so far; below 60 there is no type. After it comes the steadiness tag (zigzag icon, band, percentile among active skaters at the position; higher = steadier): how often and how far the player’s games fall below average compared with players of the same net goals/84 and ice time. It’s a style trait, not value: shooters skew boom-or-bust because goals come in lumps. Shown from 100 career GP. The flag beside the name is the country he represents internationally, from EliteProspects (William Nylander is Sweden, though born in Calgary); hover it for a second nationality and his birthplace when they differ. A player EliteProspects hasn’t been matched for yet shows his country of birth, and the Draft line under the subtitle gives the draft year, the team that picked him, the round and the overall pick (or Undrafted). On the right of the header, the contract panel: his current cap hit with its share of this season’s cap, then one segment per season of the deal — dark for seasons done, the current season filled as far as the season has been played (the thin blue tick marks today), pale for seasons still to come, and hatched segments after a small gap for an extension he has already signed. Underneath is what happens when it runs out: UFA or RFA, the summer, and his age then. In the last year of a deal the current segment and a “final year” tag turn orange. Hover the panel for the signing date and total value, or a segment for its season. Contract terms come from PuckPedia and CapWages; a player whose new deal isn’t in either yet shows the cap hit alone.
2
Season table
One row per season, oldest at the top, with the team(s) he played for in the Team column (hover a logo for the abbreviation) and then the Box score group: his games played (GP), goals, assists, points, plus-minus, penalty minutes, power-play points (PPP), short-handed points (SHP), game-winning goals (GWG: the goal that put the winning team ahead for good; none in a shootout win), shots on goal (SOG), hits (HIT), blocked shots (BLK), takeaways (TK), giveaways (GV) and hits taken (HITT: times he was hit, from the play-by-play; blank before 2007-08, when it starts naming the player hit) that season (regular season; in the Career to date view, career totals through that season). The Type column is the player's archetype as of the end of that season (his trailing 100 GP; with 60–99 career GP, all his games so far; blank below 60; the season in progress shows last season's type until it is complete; seasons before 2010-11 are matched to the same types, which are fitted on 2010-11 onward): an icon every season, the full name and window on hover. In the Career to date view the column shows the type of his whole career through that season instead (every game up to then, not just the last 100), so the last season shows his career archetype. Skaters who have taken a shootout attempt get a Shootout column, still inside the box score group (goals / attempts): shootout goals / attempts that season (regular season, 2010-11 on; in the Career to date view, career totals through that season; blank in a season without an attempt). OZ/DZ starts closes the group: his offensive-zone faceoff starts per defensive-zone start, where a start is a shift he began on a faceoff in that zone (all situations, regular season; neutral-zone starts are left out; league average about 1.06, so above 1 is sheltered toward offense and below 1 leans defensive; hover for the counts; Career to date: career totals through that season). Every box under Net goals per 84 games is the player's net goals added per 84 games vs a league-average player, in calibrated model units — blue adds goals, red costs them, on fixed scales (−42 → +42 for Overall, a tighter −12.6 → +12.6 for the components, so seasons and players compare directly); gray text under the EV offense / EV defense pair, PP and PK is TOI per game in that situation — situation here means skater advantage: 6v5 with the goalie pulled counts as PP time and defending it counts as PK time, so these splits run a little higher than the official PP/SH TOI in the header row (the totals agree); an empty cell = no rated value that season. Faint vertical rules separate the column groups. The Overall column, the last of the group (next to Elo), is outlined:
Overall — the sum of the ten component columns before it.
EV offense — on-ice expected-goal creation at even strength vs league-average context (score, time, zone starts), scaled to its calibrated marginal value — five skaters share the same flow, so the marginal is ~4.4× smaller than face value. Net of Playmaking: the part of his linemates' chances he created is credited to him there instead.
EV defense — the same flow suppressed: on-ice expected goals against vs context, same marginal scaling. Net of Suppression: the part of the opponents' lower chance quality he is responsible for is credited to him there instead.
Power play / Penalty kill — priced chance flow above (PP) or suppressed below (PK) league-average context in situation, same marginal scaling.
Finishing — goals above expected (xG) on the shooter's own shots on goal: did he beat the goalie more often than those looks deserved? Individual credit, at face value, except in regular-season overtime: an OT goal ends the game and is worth about half a standings point, so it counts as about 1.5 regulation goals (a little less on an OT power play, whose team was already favoured; playoff overtime stays at face value). He keeps half of it: the other half of every shot's goals above expected is shared with his on-ice teammates and shows up in their Playmaking, because the guy who put it on his tape earned a cut.
Season | Career to date — the two buttons above the table switch every box in it: Type, GP, the box score, OZ/DZ starts, Overall, the ten components, Elo, the on-ice context and the contract columns. Season (the default) shows each season on its own: the raw season rate for seven components, while Playmaking's shot-quality part and Suppression, which are estimated from four linemates at once and cannot be read off a single season, come from a fit that lets each season move away from the player's career level only as far as the season's games support. Career to date shows what his career looked like at the end of each season: every component's games-played-weighted rate over all seasons up to that one, with small samples regressed toward the league mean (each component carries an empirical-Bayes prior, so a hot 20-game stint doesn't read as a career skill; Finishing's prior is counted in shots on goal rather than games — half signal at 565 shots — so a high-volume shooter's record firms up faster than a defenseman's), with Playmaking and Suppression re-estimated from games up to that point only. The GP column then counts career games through that season; Comp and Mates show the ice-time-weighted average through that season, and Top opp and the top linemates the most frequent ones up to that point; the contract columns average his cap hits so far. The last season's Career-to-date row is his career rate (its Overall box matches the header badge). Seasons before 2010-11 show their standard values in both views.
Regular season | Playoffs — the second pair of buttons switches the whole table to his postseasons: one row per spring he played, with his playoff team, playoff GP, the playoff box score (the NHL's totals) and the ten components plus Overall from the same chain run on his playoff games (every overtime included, priced against the same regular-season baseline; see the playoff study). These are raw rates, not regressed, so a four-game spring can land at either end of the scale. OZ/DZ starts, Elo, the on-ice context and the contract columns are regular-season measures and drop out of the playoff view. Career to date works there too: running playoff totals and the games-weighted playoff rate through each spring. Goalie cards show playoff GSAx/84 and Reb/100 (net of the same suppression debit as the regular season).
Playmaking — how much he raises his linemates' offense: the pass before the goal, priced. It comes in two parts. Shot quality: how much more dangerous their attempts are with him on the ice, estimated from every attempt since 2010-11 with each shooter's own skill held fixed. Assists: half of every teammate shot's goals above expected is shared among the other skaters on the ice, and on a goal the primary assist gets twice the secondary's share and the secondary twice a non-assisting teammate's (the expected-goal cost of every shot is shared equally). The credit is moved, not added — it comes out of the shared on-ice rows and the shooter's Finishing — so a team's total never changes.
Suppression — the defensive mirror of Playmaking: how much he lowers the opponents' shot quality and their finishing (goals against above expected, with the shooter and the goalie held fixed) while he is on the ice. Moved, not added — the quality part comes out of the shared EV defense / PK rows, the finishing part out of his goalie's GSAx (goalie values on the site are net of it) — so a team's total never changes.
Penalties — penalties drawn − taken, priced at that season's measured value of a drawn minor (≈0.16–0.20 goals: the average net goals scored in the two minutes after a penalty is drawn, measured league-wide per season).
Faceoffs — net faceoff wins × 0.010 goals (fixed-effects calibration). Shown for context: faceoff value flows through possession, so it partly overlaps the on-ice rows and isn’t part of the headline rating. A hundred extra draws won is about one goal.
Shootout — the standings value of his shootout attempts: each attempt is worth the win probability it added in that round and score (a sudden-death winner counts more than a first-round goal), at 3 goals per shootout win, and the goalie he faced loses the same amount. Real points, but almost all luck from one season to the next, so its Career-to-date boxes are shrunk by his career attempts (half signal at about 86), the way Finishing shrinks by shots. Blank in the playoffs (no shootouts) and before 2010-11.
Elo (its own column) — the game model’s results rating (the Player Elo factor on Tonight), on goalie cards too: every game since 2003-04 moves the team up or down by one Elo step, scaled by how surprising the result and the margin were, and splits it among the players by that night’s leverage-weighted net goals; ratings are pulled 20% back toward 1500 at the start of each season. 1500 is average and about 60 points is one standard deviation. In the Season view each box is the change over that season (from its pulled start); in the Career to date view it is his rating after that season’s last game. It rates results, not the net-goal components, so it rewards long runs on winning teams.
On-ice context — who he skated with and against: Comp is the shared-TOI-weighted average Overall net goals/84 of the opposing skaters he faced, Mates the same for his own linemates (goalies excluded on both sides; skaters too small a sample to rate that season count as league-average). Competition spreads far less than teammate quality, so the two use different color scales (±1.5 and ±5). Top linemates are the four teammates he shared the most ice time with, each with the share of his ice time under the name; hover the Mates box or a name for his four most common teammates. Top opp (between Comp and Mates) works the same way for the other side: the opposing skater he shared the most ice time with and the share of his ice time; hover it for his four most-faced opponents.
Contract — that season's cap hit; Player value — what the league pays, as a share of the cap, for his 3-season net goals/84 (that season and the two before, small samples pulled toward average; goalies GSAx/84): a curve fitted to every non-entry-level player-season since 2010-11, flat for weak players and rising for strong ones, shown in that season's dollars (part-time seasons get the league minimum plus a share) — and Contract value, player value minus cap hit (blue = worth more than he is paid; colours compare shares of the cap, so seasons under a smaller cap read the same). Each dollar figure has its share of that season's cap underneath; Career to date averages the seasons so far. Cap hits come from team cap sheets (2010-11 on) and contract histories (earlier seasons).
3
Vs competition quartiles
Did he do it against the other team’s top line or its fourth? A career summary of how the player’s 5-on-5 minutes went against weak and strong opposition. Every 5v5 second rates the opposing five by their average Overall net goals/84 that season (each regressed toward average by sample size, so a hot call-up doesn't make a line look elite; unrated skaters count as average). Each season those ratings are split into league-wide quarters by ice time: Q4 is the toughest quarter of five-man units anyone faced, Q1 the easiest (the gray line gives the typical opposing rating). Left bars: net goals per 84 above an average player at his position (forward or defenseman) facing the same quarter, from the grid’s own scoring added up over just those minutes — EV offense and defense, finishing on his own shots, and an even share of his Playmaking and Suppression (fitted as fixed player effects, so spread evenly over his ice time) — scaled to his career 5v5 ice time, as if all of it came against that quarter. Blue adds goals, red costs them, on the component rows’ ±12.6 scale; the comparison is with the same quarter because every skater does worse against Q4 than Q1. PP, PK, penalties and faceoffs are not part of it. Right bars: the share of his career 5v5 time spent against each quarter, split by venue — the dark upper bar is his home games, the light lower bar his road games (each out of his own home or road 5v5 time). The dashed line at 25% is an even split, so a top-pair defenseman leans to Q4 and a sheltered depth player to Q1; the home coach has the last change, so the gap between the two bars shows how much matchups are chosen for or against him. Hover a bar for minutes, the component split, on-ice xGF% and goals for–against. Only the career is shown: one season’s quarter is about 300 minutes and swings by ±7 goals/84. Read the levels rather than the shape: doing unusually well against Q4 relative to Q1 doesn’t carry over from season to season (year-to-year r ≈ 0). The player who rises to meet the top line makes a good story; it just isn’t a repeatable one.
4
84-game form
The career's shape in one line: a trailing 84-game moving average of the Overall row, in the same net-goals-per-84 units. The x-axis is career games and is shared with the Career net goals line beside it, so the line starts blank until the 84th game. The dot marks the career peak, the number at the right end is the current value, and faint vertical lines are season boundaries. Even elite careers dip below zero here: 84 games is still a small sample, and puck luck takes its time evening out. Goalie cards draw the same line for GSAx/84 over the last 84 appearances.
5
Career net goals
The running career total of the same per-game net goals the form line averages: how much value the career has banked versus a league-average player, in goals. A flat stretch means league-average play, a rising slope means value being added; the red dot marks the career high-water mark when the current total has slipped below it. Goalie cards accumulate GSAx instead. On the website, the row of buttons above these two lines switches both of them from Overall to any one of the ten components (EV offense, EV defense, Power play, Penalty kill, Finishing, Playmaking, Suppression, Penalties, Faceoffs, Shootout); the ten add up to Overall game by game, and each component line is scaled to its own range. A second row, Box score, does the same for the counting stats (Points, Goals, Assists, PP points, SH points, Shots, Hits, Blocked shots, Takeaways, Giveaways, Hits taken, PIM, +/−): the form line becomes his total over the trailing 84 games and the career line his running regular-season total. The Games buttons under it add his playoff games to every view, net goals and box score alike (With playoffs): each spring's games slot in after that regular season and are drawn in amber. Playoff net goals are priced exactly like a regular-season game and measured against that season's regular-season average player, so a playoff stretch reads on the same scale as the games around it (the 84-game stretch bands are left off in this view, since they mark regular-season windows). On every view a dashed grey rule marks a change of team, labelled with the new team above the chart (his first team at the start; a franchise relocation is not a change). Its last button, OZ/DZ, plots the OZ/DZ starts ratio instead: pooled over the trailing 84 games, and career to date from his 20th game, with a dashed line at 1.00 (as many offensive- as defensive-zone starts).
6
84-game stretches
Two windows of the 84-game form line above, shaded on it (B / W, the same colors as the swatches here): its peak (Best) and its low (Worst). The colored chip is his net goals/84 over those 84 games, on the Overall row's scale, with the first and last game dates under it (a stretch can cross seasons). The rest is the box-score line over the same 84 games: goals, assists, points, power-play points (goals and assists with his team a skater up; an extra attacker for a pulled goalie does not count), plus-minus, average ice time, penalties taken and drawn, faceoff win % (shown with 30+ draws), and his team's record in those games (W-L-OTL, overtime and shootout losses in OTL; 2003-04 adds ties). Skaters with 84+ career games.
7
Single-game histogram
Every regular-season game of his career in one chart: each bar is the share of his games that finished with a given net goals total for that single game (in goals, not per 84), red below zero and blue above, with the dashed line at his career mean and the share of games above and below zero at the right. The values are leverage-weighted: finishing, penalties and faceoffs count by how much the moment could swing the game, so a garbage-time goal at 7–1 counts for little (the on-ice rows are priced that way already). These are the same per-game numbers that split each result in the Elo column. Most players sit close to zero in a typical game. Stars aren’t told apart by their median game; they’re told apart by a long right tail of big nights. Games beyond the axis (−2 to +3.8 goals, 0.1-goal bins) are counted in the end bars; hover a bar for its share and game count. On the website, All / Home / Away limits the chart to those games, and a season button compares one season with the career: the career turns grey and the season is drawn as blue outlines, each as a share of its own games, in wider 0.2-goal bins, with the season mean dotted. Player home/road splits are mostly noise from one season to the next, so read the Home/Away views as description. Skaters and goalies with 20+ games; goalie cards chart single-game GSAx (−5 to +8, 0.25 bins; 0.5 when comparing a season).
8
Plus/minus by situation
His official plus-minus (regular season, 2010-11 on), one row per season, split by the manpower on the ice when each goal was scored. Each colored chip is his share of the official number from that situation, blue for plus and red for minus, shaded on its own column’s scale, so a dark chip in a small column such as 5v3 can be a single goal. Even strength (5v5, 4v4, 3v3): every goal scored with him on the ice counts, for or against. Power play (5v4, 5v3, 4v3, his team a skater or two up): the official stat ignores power-play goals, so the only thing that can register is a shorthanded goal against, and these columns are never positive. Penalty kill (4v5, 3v5, 3v4): the mirror image, only a shorthanded goal for counts, so they are never negative. The 4v3 and 3v4 states are mostly overtime penalties. Goalie pulled: 6v5 is time on the ice with his own goalie on the bench for an extra attacker, usually chasing a game late (and a few delayed penalties); 5v6 is defending against the other team’s extra attacker, where his team’s empty-net goals land. Other is whatever is left of the official number, so each row adds up exactly: mostly empty-net goals against while his team had its goalie pulled on a power play (6-on-4), plus the odd goal the NHL shift charts miss. Goalie in is the official +/− minus the 6v5 and 5v6 columns: the plus-minus he earned with both goalies in net. Why bother? Because pulled-goalie time is under 2% of a skater’s minutes but about an eighth of the spread in plus-minus, and it carries no skill from year to year. It’s mostly a record of who the coach sends out: stars sent out to chase a game pile up 6v5 minuses (Ryan O’Reilly is −104 there for his career), while defensive defencemen trusted to close games collect 5v6 pluses. The Total row sums every season. Hover a cell for his minutes in that situation and the goals behind the number (on the power play and penalty kill it also shows the power-play goals the official stat leaves out). Skater cards only; the study behind it is on the Research page.
9
Shot mix — type & location
The table is his career shots on goal by type (2010-11 on). The bar is that type's share of his shots; the dark tick marks the league share for his position over the same seasons, each season weighted by his shots in it, so type-coding changes between eras cancel out. Then Total shots (shots on goal, goals included), Avg dist (average distance from the net in feet), xG (expected goals on those shots, the same shot model as Finishing), G, G/xG (goals per expected goal: 1.00 is average finishing; blank under 10 shots) and Net goals/84, the goals above xG those shots added per 84 games (gray under 100 shots). The Total row adds up every type. On the website the situation buttons switch the table as well as the map, and the shot-type buttons (All shots, Wrist, Snap, Slap, Backhand, Tip-in, Deflection, Other; or a click on a row) redraw the right half of the map for that type only, compared with the league's shots of the same type and situation (blocked shots carry no shot type, so the left half always shows all of them). Below: a full rink drawn from his side (he attacks left to right, his left on top). The right half is where his own shots on goal come from; the left half is where he blocks shots in his own zone. Each 4-ft zone is colored by its share of those shots minus the league average for his position in the same situation: blue = more of the shots come from there, red = fewer (±0.30 percentage points per zone). Small samples are pulled toward the league average: each zone’s difference is multiplied by n/(n+K), with K = 100 of his own shots and 180 blocks, set from how well odd-numbered games predict even-numbered ones — so a thin sample fades toward white instead of flashing noise. The block map is his own: with about 1,000 blocks, 86% of it repeats from one half of his games to the other. On the website, the All / Even strength / Power play / Penalty kill buttons redraw both halves for that situation from his point of view: on the penalty kill the right half is his shorthanded shots and the left half the power-play shots he blocks. A half with too few events in that situation (30 of his own shots, 25 blocks) stays blank. Goalie cards show a save map instead: each zone colored by save percentage above or below what that zone's shots predict.
10
Faceoffs by dot
Shown for players with at least 200 career draws (2010-11 on). The rink is drawn from his side: he attacks left to right, and his left is at the top, so each dot means the same thing on every card whichever end his team was defending. Each circle is his win percentage at that dot, colored by how far it sits above (blue) or below (red) the league’s win rate at the same dot (the small number, in percentage points; the scale runs to ±10). The bar under each dot is his share of all his draws taken there, with a tick at the league-average share. Both baselines are weighted by the seasons he played, so an early career and a recent one compare fairly. The line under the rink sums the shares by zone: a defensive specialist leans to his own zone, a top-line centre takes more of the centre-ice draws after goals and at the start of periods. Handedness is the biggest pattern in both halves. A left-shot centre wins about 54% on his left-side dots and about 44% on his right; right-shot centres lean the other way, less sharply, because most of the centres they face shoot left. Coaches use it: in recent seasons a right-shot centre takes about three-quarters of his end-zone draws on the right-side dots, so his bars will stand apart from the league ticks, which pool mostly left-shot centres. Since 2019-20 the attacking team chooses the dot after an icing, and left-shot centres’ share on the attacking-zone left dot rose from 19% to 26%. On the website, the All / Even strength / Power play / Penalty kill / 3v3 buttons redraw the rink for draws taken in that situation (by his team’s skater count, so a pulled-goalie extra attacker counts as the power play), with the league baselines taken from the same situation: power-play centres win more everywhere, and penalty-kill draws sit mostly in the own zone, so those two views stretch the share bars to 0–60%. 3v3 (regular-season overtime, almost all; also counted in Even strength) does the same: about 40% of 3v3 draws are at centre ice, one to open each overtime. A situation with fewer than 50 career draws shows a note instead. Players with at least 50 career games at centre also get a Head-to-head on the draw row under the rink: three small tables of his record against the five players he has taken the most faceoffs against (Most faced), and the five he has the highest and the lowest win% against among opponents with at least 25 draws. Every draw between the two since 2003-04 counts, regular season and playoffs, in all situations (the buttons do not filter it); win% is blue above 50% and red below; hover a row for the games and the playoff part.
G
Goalie cards
Goalie cards read the same way with goalie panels: the header row shows career shot-quality totals — shots faced, GA, xGA, GSAx (goals saved above expected), Sv%, xSv% and Reb/100 vs lg (rebounds yielded per 100 shots faced, minus the league rate that season; 0 is average, lower is better — the raw rate roughly doubled between 2019 and 2025 through play-by-play recording changes, so it is only meaningful relative to its own season). The season table (one row per season, with games played, Elo and the season's cap hit, player value and contract value) shows GSAx per 84 games (including the shootout mirror beside it), a Shootout column — the win probability the shootout attempts he faced took away or saved, 3 goals per shootout win, as season totals (to date: the running total) — and a Reb/100 column in the same season-relative units; its Season | Career to date buttons work as on skater cards — Career to date shows his GSAx/84 over every appearance up to each season, regressed toward an average goalie, and the shots-faced-weighted Reb/100 through that season, so a single bad year reads against the career it sits in (display only: the season projections still regress toward an average goalie, which tested better one season ahead). Then the 84-appearance form line, the cumulative career GSAx line, the single-game GSAx histogram and the save map described above.
Glossary of statistical terms
xG (expected goals) — the probability that a given shot becomes a goal, based on its location, type, and game situation. Game situation is the manpower state when the shot is taken (even strength, power play, short-handed, or empty net). The same shot from the same spot converts far more often with a man advantage than it does 5 on 5; rebound shots (within 3 seconds of a prior shot) and rush shots are also priced separately. A rush is inferred from the play-by-play sequence: the attempt comes within 4 seconds of a faceoff, hit, giveaway, or takeaway that happened in the shooting team’s neutral or defensive zone — the puck was at the far end of the ice moments earlier, so the defense never got set. Rushes that start by winning a turnover (a takeaway, or an opponent’s giveaway) are priced apart from those following a hit or faceoff, since a true counter-rush converts very differently from a fling after a dump-in or neutral-zone draw. Summed over shots, xG says how many goals a shooter “should” have scored — or a goalie/team should have allowed (xGA).
WPA (win probability added) — a weight on each chance for how much it moves the odds of winning the game: a chance in a tied third period counts more than one in a blowout, which you knew from the couch; WPA just puts a number on it. “Priced” chance flow means xG weighted this way.
rel (relative to context) — measured against what a league-average player would produce in the same circumstances: score state, home/road, zone starts, and situation.
Elo — a rating updated game by game: it rises when the player outperforms expectation and falls when he doesn’t, so it rewards a long body of work over a hot stretch.
rel-xG-WPA Elo — the engine behind the on-ice rows (EV offense/defense, PP, PK): win-probability-priced expected-goal flow, measured relative to league-average context. A per-season Elo run on it drives the model’s validation.
Empirical-Bayes shrinkage — small samples are pulled toward the league average before being called skill: each component’s career rate is blended with the league mean using a prior worth a component-specific number of games, so 40 hot games move a career number far less than 400 do. The per-season boxes are never shrunk.
Per 60 — a rate per 60 minutes of ice time in that situation, so heavy- and light-usage players compare fairly.
Deployment-adjusted — corrected for how the player is used (zone starts, score, time on ice), so cushy offensive-zone starts and sheltered minutes don’t inflate a score.
Ridge attribution / teammate-adjusted — a ridge regression over on-ice lineups that separates the player’s own contribution from that of the linemates he shares the ice with.
Exposure-weighted — an average weighted by playing time (games or minutes), so a 20-game season counts less than a full one.
GSAx (goals saved above expected) — expected minus actual goals against, each shot weighted by what conceding it would cost his team in win probability (the average shot counts 1), so saves protecting a late lead count more than saves in a blowout. Positive means the goalie stopped more than the quality of shots he faced predicted; because of the weighting it isn’t exactly xGA − GA. xSv% is the save percentage those shots implied.
Reb/100 vs lg — rebounds yielded per 100 shots faced, minus the league-wide rate that season, so 0 is average and negative is better. Shown relative to the season because the raw rate is not comparable across eras: from 2022-23 the play-by-play clocks rapid second shots more tightly, and from 2023-24 scorers record weak on-net shots as misses, which roughly doubled the league rebound rate with no change in goaltending.