Goalies
Goalie Save % by Shot Class (Rebound, Rush, Cycle, Off the Draw)
2023-24All situationsThrough 82 team games
Not every shot is equally hard. League-wide, goalies stop about .849 of rebound attempts, .896 of cycle shots, .931 of rush and transition shots and .950 of shots straight off an offensive-zone draw. A goalie who faces more rebounds is going to post a lower raw save percentage through no fault of his own.
This board sorts every unblocked shot against into those classes and ranks goalies by how far their save percentage beats the rate their own shot mix predicts. The class columns show where the gap comes from, with the ± column as a 95% interval.
Leader in 2023-24: Laurent Brossoit (WPG), +1.8 FSV% vs exp..
Save % by shot class leaderboard
| # | Goalie | Team | ±95% | Rebound SV% | Rush SV% | ||
|---|---|---|---|---|---|---|---|
| 1 | Laurent BrossoitWPG | WPG | +1.8 | 922 | 1.4 | 89.1% | 96.9% |
| 2 | Anthony StolarzFLA | FLA | +1.8 | 1,022 | 1.3 | 88.8% | 91.7% |
| 3 | David RittichLAK | LAK | +1.4 | 912 | 1.5 | 82.5% | 93.5% |
| 4 | Connor HellebuyckWPG | WPG | +1.2 | 2,570 | 0.9 | 86.3% | 94.6% |
| 5 | Semyon VarlamovNYI | NYI | +1.1 | 1,223 | 1.3 | 89.4% | 94.2% |
| 6 | Joey DaccordSEA | SEA | +1.0 | 2,061 | 1.0 | 83.8% | 94.2% |
| 7 | Jeremy SwaymanBOS | BOS | +1.0 | 1,897 | 1.0 | 83.9% | 91.8% |
| 8 | Thatcher DemkoVAN | VAN | +0.8 | 2,090 | 1.0 | 89.0% | 92.3% |
| 9 | Linus UllmarkBOS | BOS | +0.8 | 1,766 | 1.1 | 77.2% | 90.0% |
| 10 | Jonathan QuickNYR | NYR | +0.7 | 1,149 | 1.4 | 91.1% | 94.7% |
| 11 | Joel HoferSTL | STL | +0.7 | 1,203 | 1.3 | 84.7% | 95.2% |
| 12 | Igor ShesterkinNYR | NYR | +0.6 | 2,307 | 1.0 | 83.4% | 94.7% |
| 13 | Jordan BinningtonSTL | STL | +0.6 | 2,572 | 0.9 | 87.6% | 92.8% |
| 14 | Sergei BobrovskyFLA | FLA | +0.6 | 2,232 | 1.0 | 83.1% | 91.2% |
| 15 | Charlie LindgrenWSH | WSH | +0.6 | 2,109 | 1.0 | 93.2% | 91.5% |
| 16 | Ukko-Pekka LuukkonenBUF | BUF | +0.6 | 2,175 | 1.0 | 88.4% | 94.8% |
| 17 | Cam TalbotLAK | LAK | +0.6 | 2,138 | 1.0 | 85.4% | 90.6% |
| 18 | Adin HillVGK | VGK | +0.5 | 1,462 | 1.2 | 88.1% | 90.5% |
| 19 | Cayden PrimeauMTL | MTL | +0.4 | 1,051 | 1.5 | 90.1% | 94.5% |
| 20 | Logan ThompsonVGK | VGK | +0.3 | 1,866 | 1.1 | 80.3% | 92.7% |
| 21 | Connor IngramARI | ARI | +0.3 | 2,149 | 1.0 | 89.4% | 88.7% |
| 22 | Ilya SorokinNYI | NYI | +0.3 | 2,580 | 0.9 | 88.2% | 93.7% |
| 23 | Jacob MarkstromCGY | CGY | +0.3 | 2,007 | 1.1 | 84.5% | 90.1% |
| 24 | Martin JonesTOR | TOR | +0.2 | 857 | 1.7 | 85.9% | 95.9% |
| 25 | Calvin PickardEDM | EDM | +0.2 | 829 | 1.7 | 85.2% | 91.7% |
| 26 | Tristan JarryPIT | PIT | +0.2 | 2,052 | 1.1 | 80.3% | 88.6% |
| 27 | Joseph WollTOR | TOR | +0.1 | 1,092 | 1.5 | 83.3% | 89.9% |
| 28 | Jake OettingerDAL | DAL | +0.1 | 2,146 | 1.0 | 79.1% | 95.2% |
| 29 | Pyotr KochetkovCAR | CAR | +0.1 | 1,420 | 1.3 | 83.5% | 92.9% |
| 30 | Juuse SarosNSH | NSH | +0.1 | 2,556 | 1.0 | 87.7% | 92.2% |
| 31 | Petr MrazekCHI | CHI | +0.1 | 2,439 | 1.0 | 82.8% | 90.8% |
| 32 | Daniil TarasovCBJ | CBJ | +0.1 | 1,097 | 1.5 | 88.9% | 89.8% |
| 33 | Samuel MontembeaultMTL | MTL | +0.0 | 1,895 | 1.1 | 87.2% | 91.5% |
| 34 | Alex NedeljkovicPIT | PIT | +0.0 | 1,538 | 1.2 | 79.6% | 93.0% |
| 35 | Carter HartPHI | PHI | +0.0 | 1,029 | 1.5 | 83.1% | 92.6% |
| 36 | Alex LyonDET | DET | −0.0 | 1,910 | 1.1 | 82.0% | 92.4% |
| 37 | Stuart SkinnerEDM | EDM | −0.0 | 2,212 | 1.0 | 83.8% | 93.1% |
| 38 | Kevin LankinenNSH | NSH | −0.0 | 829 | 1.7 | 83.6% | 97.2% |
| 39 | James ReimerDET | DET | −0.1 | 1,043 | 1.5 | 84.9% | 91.9% |
| 40 | Devon LeviBUF | BUF | −0.1 | 965 | 1.6 | 84.1% | 92.5% |
| 41 | Philipp GrubauerSEA | SEA | −0.2 | 1,367 | 1.3 | 80.0% | 95.9% |
| 42 | Kaapo KahkonenNJD/SJS | NJD/SJS | −0.2 | 1,675 | 1.2 | 84.0% | 90.9% |
| 43 | Mackenzie BlackwoodSJS | SJS | −0.3 | 1,988 | 1.1 | 84.8% | 92.9% |
| 44 | Lukas DostalANA | ANA | −0.3 | 1,862 | 1.2 | 82.0% | 90.8% |
| 45 | Casey DeSmithVAN | VAN | −0.4 | 1,111 | 1.5 | 86.8% | 94.1% |
| 46 | Ville HussoDET | DET | −0.4 | 832 | 1.7 | 90.9% | 86.0% |
| 47 | Andrei VasilevskiyTBL | TBL | −0.4 | 2,080 | 1.1 | 82.8% | 92.2% |
| 48 | Scott WedgewoodDAL | DAL | −0.4 | 1,217 | 1.4 | 76.5% | 96.4% |
| 49 | Ilya SamsonovTOR | TOR | −0.4 | 1,657 | 1.2 | 86.6% | 89.4% |
| 50 | Nico DawsNJD | NJD | −0.4 | 837 | 1.7 | 85.9% | 89.5% |
| 51 | Filip GustavssonMIN | MIN | −0.5 | 1,836 | 1.2 | 82.7% | 93.4% |
| 52 | Jake AllenMTL/NJD | MTL/NJD | −0.5 | 1,545 | 1.3 | 84.6% | 93.3% |
| 53 | Elvis MerzlikinsCBJ | CBJ | −0.5 | 1,794 | 1.2 | 87.4% | 91.3% |
| 54 | Alexandar GeorgievCOL | COL | −0.6 | 2,526 | 1.0 | 82.9% | 93.4% |
| 55 | Samuel ErssonPHI | PHI | −0.6 | 1,806 | 1.2 | 84.6% | 93.8% |
| 56 | Marc-Andre FleuryMIN | MIN | −0.6 | 1,543 | 1.3 | 85.7% | 90.6% |
| 57 | Karel VejmelkaARI | ARI | −0.6 | 1,556 | 1.3 | 78.8% | 93.7% |
| 58 | Darcy KuemperWSH | WSH | −0.7 | 1,385 | 1.4 | 84.8% | 92.2% |
| 59 | Spencer MartinCAR/CBJ | CAR/CBJ | −0.8 | 778 | 1.9 | 75.4% | 92.9% |
| 60 | John GibsonANA | ANA | −0.9 | 1,968 | 1.2 | 81.9% | 88.1% |
| 61 | Joonas KorpisaloOTT | OTT | −1.0 | 2,170 | 1.1 | 87.4% | 88.1% |
| 62 | Vitek VanecekNJD | NJD | −1.1 | 1,211 | 1.5 | 71.4% | 96.2% |
| 63 | Anton ForsbergOTT | OTT | −1.2 | 1,067 | 1.6 | 83.5% | 97.2% |
| 64 | Jonas JohanssonTBL | TBL | −1.3 | 1,021 | 1.7 | 88.7% | 90.1% |
| 65 | Dan VladarCGY | CGY | −1.5 | 837 | 1.9 | 84.1% | 96.2% |
| 66 | Arvid SoderblomCHI | CHI | −1.7 | 1,345 | 1.5 | 83.0% | 87.5% |
Minimum sample: 738 shots (it scales with games played and sequence coverage). 32 below the minimum are hidden.
How to read it
Percentage points above expected. +1.0 means about one extra save per 100 unblocked shots compared with an average goalie facing the same mix.
How reliable is it?
Per-class splits are small samples; the overall adjustment is steadier. Use the ± interval: two goalies whose intervals overlap are not reliably different.
Shot classes and goalie splits →