Forensic Hockey
The Goaltending Verdict

Goal Prevention

Every team's goals-against, decomposed into the three things that drive it: shot quality, shot volume, and goaltending, with each team's goalies nested underneath. Expand any team to see its goalies.

What am I looking at?

A team's goals-against is the product of three things, so we split it into three - the framework is Alan Ryder's 2004 Shot Quality paper, run on our own expected goals:

  • Shot quality - how dangerous the shots they allow are (expected goals per shot), vs the league.
  • Volume - how many shots they allow, vs the league.
  • Goaltending - goals allowed vs expected; below 1 means the goalies stop more than the chances deserve.

Multiply the three and you get the GA index - goals-against vs the league average. Shot quality × volume alone is the defense (everything but the goalie). The driver tag flags whichever side - defense or goaltending - is furthest from average.

1.00 = league average for every index; lower is better. Thresholds: below 0.97 (better) · near average · above 1.03 (worse). A 0.90 means ~10% fewer goals (or shots, or chance) than average.

Expand any team to see its goalies. GSAx= goals saved above expected (a goalie's xG faced minus goals allowed); positive is good. /100 puts it per 100 shots so a backup and a starter compare fairly (≈ +1.0/100 is elite, −1.0 poor). Regular season, 2010-11 on.

Goaltending is famously noisy: our own research finds a single season of save % or GSAx is mostly luck - a goalie needs ~5,000 shots (about three starter seasons) before the number is mostly signal. So True /100 is the honest best estimate - small samples regressed toward the era average - and the confidence dot ( low · moderate · high) plus the hover band (95% confidence on SV%) show how much to trust each line.

TeamGA indexShot qual.VolumeGoaltendingDriver
COL logoCOL0.790.980.940.86goaltending
GoalieGPSV%xGAGSAx/100
S. Wedgewood45.912111.4+13.4+1.20
M. Blackwood38.90397.2+7.2+0.77
T. Miner4.9169.2+0.2+0.14
DAL logoDAL0.880.970.940.96defense
GoalieGPSV%xGAGSAx/100
C. DeSmith30.90278.4+3.4+0.45
J. Oettinger54.896138.3-6.7-0.48
TBL logoTBL0.900.980.960.96defense
GoalieGPSV%xGAGSAx/100
A. Vasilevskiy58.909152.8+16.8+1.12
B. Halverson1.8092.2-1.8-8.38
J. Johansson25.88167.8-12.2-1.81
CAR logoCAR0.941.080.861.01defense
GoalieGPSV%xGAGSAx/100
B. Bussi39.892101.6+1.6+0.18
P. Kochetkov8.90018.8-0.2-0.09
F. Andersen35.87198.3-12.7-1.47
MIN logoMIN0.940.961.060.92goaltending
GoalieGPSV%xGAGSAx/100
J. Wallstedt35.909103.7+8.7+0.83
F. Gustavsson50.901136.3+0.3+0.02
UTA logoUTA0.940.980.941.02defense
GoalieGPSV%xGAGSAx/100
V. Vanecek22.88355.2-3.8-0.74
K. Vejmelka64.896162.6-6.4-0.40
BUF logoBUF0.941.001.040.90goaltending
GoalieGPSV%xGAGSAx/100
U. Luukkonen35.90995.9+10.9+1.16
A. Lyon36.905103.4+10.4+1.06
C. Ellis16.89346.6-2.4-0.52
NYI logoNYI0.941.060.990.89goaltending
GoalieGPSV%xGAGSAx/100
I. Sorokin55.904174.1+26.1+1.69
M. Hogberg1.7140.8-1.2-16.97
D. Rittich30.88875.1-6.9-0.94
PHI logoPHI0.950.970.911.07defense
GoalieGPSV%xGAGSAx/100
D. Vladar52.904127.6+3.6+0.27
A. Kolosov4.8304.7-3.3-6.98
S. Ersson33.86577.9-25.1-3.31
WSH logoWSH0.951.001.010.94goaltending
GoalieGPSV%xGAGSAx/100
L. Thompson58.907165.9+16.9+1.05
C. Stevenson4.9219.2+1.2+1.23
C. Lindgren21.87564.0-12.0-1.97
OTT logoOTT0.960.970.881.13defense
GoalieGPSV%xGAGSAx/100
H. Shepard1.8331.0-1.0-8.43
M. Sogaard2.8333.8-2.2-6.03
J. Reimer14.88629.5-3.5-1.22
L. Ullmark49.890121.0-12.0-0.99
L. Meriläinen20.86045.4-18.6-4.06
LAK logoLAK0.961.010.980.98goaltending
GoalieGPSV%xGAGSAx/100
A. Forsberg36.90895.1+6.1+0.63
P. Copley1.8932.2-0.8-2.84
D. Kuemper50.881136.2-14.8-1.16
BOS logoBOS0.971.051.070.87goaltending
GoalieGPSV%xGAGSAx/100
J. Swayman55.907172.3+23.3+1.46
J. Korpisalo31.89294.0+2.0+0.23
M. DiPietro11.0000.1+0.1+7.41
VGK logoVGK0.970.950.881.18goaltending
GoalieGPSV%xGAGSAx/100
C. Lindbom8.87319.1-4.9-2.58
C. Hart18.88241.7-9.3-2.14
A. Schmid34.89275.9-10.1-1.27
A. Hill27.86159.5-23.5-3.93
NYR logoNYR0.970.991.040.95goaltending
GoalieGPSV%xGAGSAx/100
I. Shesterkin51.911148.3+21.3+1.49
D. Garand3.92910.0+3.0+3.03
S. Martin6.86415.9-4.1-2.76
J. Quick25.89166.5-6.5-0.97
CBJ logoCBJ0.991.011.040.94goaltending
GoalieGPSV%xGAGSAx/100
J. Greaves55.904158.5+8.5+0.54
E. Merzlikins30.88088.6-9.4-1.15
NJD logoNJD0.991.000.981.01defense
GoalieGPSV%xGAGSAx/100
J. Allen37.900108.6+4.6+0.44
N. Daws3.9089.9+1.9+2.24
J. Markstrom44.883113.0-17.0-1.53
MTL logoMTL1.001.031.000.97goaltending
GoalieGPSV%xGAGSAx/100
J. Fowler17.90447.6+4.6+1.01
J. Dobes43.897122.6-1.4-0.12
S. Montembeault25.86972.7-11.3-1.75
DET logoDET1.010.951.001.06goaltending
GoalieGPSV%xGAGSAx/100
J. Gibson57.898145.4-4.6-0.32
C. Talbot34.88179.4-16.6-2.05
STL logoSTL1.010.951.001.06goaltending
GoalieGPSV%xGAGSAx/100
J. Hofer46.906121.4+3.4+0.27
J. Binnington41.872102.5-27.5-2.71
CGY logoCGY1.011.021.070.92defense
GoalieGPSV%xGAGSAx/100
D. Cooley31.90494.4+12.4+1.45
A. Sergeev1.9643.1+2.1+7.57
D. Wolf57.897160.9-0.1-0.01
WPG logoWPG1.010.991.001.03goaltending
GoalieGPSV%xGAGSAx/100
T. Milic3.8715.1-2.9-4.63
C. Hellebuyck57.893160.9-6.1-0.39
E. Comrie25.88966.9-6.1-0.92
SEA logoSEA1.030.931.061.04goaltending
GoalieGPSV%xGAGSAx/100
P. Grubauer32.90585.4+2.4+0.28
M. Murray5.90610.8+0.8+0.79
V. Ostman1.9432.7+0.7+1.97
N. Kokko3.8907.1-1.9-2.34
J. Daccord47.894126.9-14.1-1.06
PIT logoPIT1.041.020.981.04goaltending
GoalieGPSV%xGAGSAx/100
S. Murashov5.89710.3-1.7-1.46
S. Skinner50.882139.8-11.2-0.87
A. Silovs39.877108.1-19.9-1.91
EDM logoEDM1.051.010.961.08goaltending
GoalieGPSV%xGAGSAx/100
C. Ingram32.89478.5-2.5-0.33
C. Pickard16.87142.9-10.1-2.46
T. Jarry33.88187.7-11.3-1.36
NSH logoNSH1.051.021.060.97defense
GoalieGPSV%xGAGSAx/100
J. Annunen28.90675.3+8.3+1.17
J. Saros59.892180.4-5.6-0.33
CHI logoCHI1.071.051.080.95defense
GoalieGPSV%xGAGSAx/100
S. Knight55.898172.3+9.3+0.58
D. Commesso3.9188.3+1.3+1.48
A. Soderblom26.87687.3-9.7-1.24
FLA logoFLA1.081.000.961.12goaltending
GoalieGPSV%xGAGSAx/100
D. Tarasov33.89195.1-5.9-0.64
S. Bobrovsky52.876132.2-23.8-1.89
ANA logoANA1.121.031.021.06goaltending
GoalieGPSV%xGAGSAx/100
V. Buteyets1.7691.2-1.8-14.19
L. Dostal56.887166.0-7.0-0.46
V. Husso20.88355.2-7.8-1.44
P. Mrazek10.85826.6-8.4-3.38
SJS logoSJS1.141.011.061.06defense
GoalieGPSV%xGAGSAx/100
A. Nedeljkovic40.895109.7-0.3-0.03
L. Brossoit1.7502.0-4.0-16.54
Y. Askarov47.882142.4-16.6-1.23
TOR logoTOR1.170.981.171.02defense
GoalieGPSV%xGAGSAx/100
D. Hildeby20.90956.8+6.8+1.24
A. Akhtyamov3.86610.2-0.8-0.98
J. Woll39.897121.1-4.9-0.40
A. Stolarz26.88874.3-5.7-0.81
C. Primeau3.8387.1-5.9-7.33
VAN logoVAN1.231.031.071.12goaltending
GoalieGPSV%xGAGSAx/100
T. Demko20.89457.2+2.2+0.43
J. Patera1.8254.3-2.7-6.85
N. Tolopilo21.87961.0-10.0-1.71
K. Lankinen47.876138.3-22.7-1.74