Goalies
Goalie Save % by Shot Class (Rebound, Rush, Cycle, Off the Draw)
2024-25All 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 2024-25: Anthony Stolarz (TOR), +2.0 FSV% vs exp..
Save % by shot class leaderboard
| # | Goalie | Team | ±95% | Rebound SV% | Rush SV% | ||
|---|---|---|---|---|---|---|---|
| 1 | Anthony StolarzTOR | TOR | +2.0 | 1,501 | 1.1 | 86.2% | 95.7% |
| 2 | Connor HellebuyckWPG | WPG | +1.8 | 2,599 | 0.8 | 87.4% | 95.7% |
| 3 | Darcy KuemperLAK | LAK | +1.4 | 1,952 | 1.0 | 83.6% | 96.0% |
| 4 | Andrei VasilevskiyTBL | TBL | +1.1 | 2,496 | 0.9 | 92.4% | 93.0% |
| 5 | Filip GustavssonMIN | MIN | +0.9 | 2,578 | 0.9 | 82.5% | 93.2% |
| 6 | Logan ThompsonWSH | WSH | +0.9 | 1,814 | 1.1 | 88.0% | 92.5% |
| 7 | Casey DeSmithDAL | DAL | +0.9 | 1,133 | 1.4 | 85.1% | 96.8% |
| 8 | Eric ComrieWPG | WPG | +0.8 | 833 | 1.6 | 84.8% | 95.1% |
| 9 | Joey DaccordSEA | SEA | +0.7 | 2,513 | 0.9 | 85.5% | 94.7% |
| 10 | Adin HillVGK | VGK | +0.7 | 2,030 | 1.0 | 83.3% | 91.9% |
| 11 | John GibsonANA | ANA | +0.7 | 1,209 | 1.3 | 82.5% | 88.4% |
| 12 | Mackenzie BlackwoodCOL/SJS | COL/SJS | +0.7 | 2,307 | 1.0 | 85.1% | 96.3% |
| 13 | Joseph WollTOR | TOR | +0.6 | 1,832 | 1.1 | 87.5% | 94.7% |
| 14 | Jake AllenNJD | NJD | +0.5 | 1,246 | 1.3 | 82.7% | 93.8% |
| 15 | Ilya SorokinNYI | NYI | +0.5 | 2,583 | 0.9 | 89.0% | 95.0% |
| 16 | Jake OettingerDAL | DAL | +0.5 | 2,431 | 0.9 | 83.3% | 91.8% |
| 17 | Scott WedgewoodCOL/NSH | COL/NSH | +0.4 | 867 | 1.6 | 89.1% | 94.8% |
| 18 | Dustin WolfCGY | CGY | +0.4 | 2,261 | 1.0 | 85.9% | 93.1% |
| 19 | Linus UllmarkOTT | OTT | +0.4 | 1,766 | 1.1 | 83.3% | 93.9% |
| 20 | Kevin LankinenVAN | VAN | +0.3 | 2,093 | 1.0 | 82.3% | 96.7% |
| 21 | Jacob MarkstromNJD | NJD | +0.3 | 1,932 | 1.1 | 89.0% | 92.6% |
| 22 | Igor ShesterkinNYR | NYR | +0.3 | 2,610 | 0.9 | 84.7% | 92.0% |
| 23 | Sergei BobrovskyFLA | FLA | +0.3 | 2,061 | 1.0 | 88.9% | 92.5% |
| 24 | Lukas DostalANA | ANA | +0.3 | 2,498 | 1.0 | 82.2% | 95.0% |
| 25 | Samuel MontembeaultMTL | MTL | +0.2 | 2,584 | 0.9 | 85.6% | 91.1% |
| 26 | Spencer KnightCHI/FLA | CHI/FLA | +0.2 | 1,558 | 1.2 | 86.4% | 95.3% |
| 27 | Karel VejmelkaUTA | UTA | +0.1 | 2,229 | 1.0 | 77.6% | 95.1% |
| 28 | Joel HoferSTL | STL | +0.1 | 1,140 | 1.4 | 83.6% | 94.7% |
| 29 | Jordan BinningtonSTL | STL | +0.0 | 2,188 | 1.0 | 87.9% | 95.2% |
| 30 | Cam TalbotDET | DET | −0.0 | 1,946 | 1.1 | 85.2% | 92.3% |
| 31 | Alex LyonDET | DET | −0.0 | 1,092 | 1.5 | 86.7% | 94.8% |
| 32 | Anton ForsbergOTT | OTT | −0.0 | 1,144 | 1.4 | 81.9% | 92.1% |
| 33 | James ReimerANA/BUF | ANA/BUF | −0.0 | 1,042 | 1.5 | 76.5% | 93.3% |
| 34 | Arvid SoderblomCHI | CHI | −0.1 | 1,636 | 1.2 | 84.7% | 94.2% |
| 35 | Frederik AndersenCAR | CAR | −0.1 | 810 | 1.7 | 83.1% | 88.3% |
| 36 | Charlie LindgrenWSH | WSH | −0.1 | 1,531 | 1.3 | 80.9% | 93.3% |
| 37 | Joonas KorpisaloBOS | BOS | −0.2 | 1,076 | 1.5 | 81.3% | 91.3% |
| 38 | Ilya SamsonovVGK | VGK | −0.2 | 1,197 | 1.4 | 85.1% | 93.8% |
| 39 | Dan VladarCGY | CGY | −0.2 | 1,223 | 1.4 | 72.9% | 90.0% |
| 40 | Jonas JohanssonTBL | TBL | −0.3 | 834 | 1.7 | 86.2% | 94.7% |
| 41 | Thatcher DemkoVAN | VAN | −0.4 | 888 | 1.7 | 78.5% | 93.2% |
| 42 | Pyotr KochetkovCAR | CAR | −0.4 | 1,717 | 1.2 | 85.7% | 89.9% |
| 43 | Stuart SkinnerEDM | EDM | −0.4 | 1,955 | 1.1 | 83.1% | 93.8% |
| 44 | Marc-Andre FleuryMIN | MIN | −0.5 | 965 | 1.6 | 85.1% | 100.0% |
| 45 | Alex NedeljkovicPIT | PIT | −0.5 | 1,564 | 1.3 | 84.8% | 94.4% |
| 46 | Tristan JarryPIT | PIT | −0.5 | 1,468 | 1.3 | 83.2% | 93.9% |
| 47 | Jonathan QuickNYR | NYR | −0.5 | 977 | 1.6 | 90.4% | 91.2% |
| 48 | Calvin PickardEDM | EDM | −0.5 | 1,201 | 1.5 | 82.4% | 93.9% |
| 49 | Jeremy SwaymanBOS | BOS | −0.6 | 2,447 | 1.0 | 86.1% | 91.4% |
| 50 | Elvis MerzlikinsCBJ | CBJ | −0.6 | 2,331 | 1.0 | 82.2% | 92.4% |
| 51 | Juuse SarosNSH | NSH | −0.6 | 2,319 | 1.1 | 86.0% | 92.3% |
| 52 | Petr MrazekCHI/DET | CHI/DET | −0.8 | 1,550 | 1.3 | 85.2% | 90.5% |
| 53 | Ukko-Pekka LuukkonenBUF | BUF | −0.8 | 2,272 | 1.1 | 78.1% | 92.0% |
| 54 | David RittichLAK | LAK | −0.9 | 1,164 | 1.5 | 80.8% | 95.9% |
| 55 | Vitek VanecekFLA/SJS | FLA/SJS | −1.0 | 1,084 | 1.6 | 85.5% | 92.1% |
| 56 | Samuel ErssonPHI | PHI | −1.1 | 1,759 | 1.2 | 89.8% | 92.1% |
| 57 | Philipp GrubauerSEA | SEA | −1.2 | 1,079 | 1.6 | 78.8% | 94.1% |
| 58 | Daniil TarasovCBJ | CBJ | −1.2 | 822 | 1.8 | 80.0% | 89.5% |
| 59 | Justus AnnunenCOL/NSH | COL/NSH | −1.2 | 1,217 | 1.5 | 85.7% | 94.0% |
| 60 | Connor IngramUTA | UTA | −1.3 | 839 | 1.8 | 80.0% | 92.8% |
| 61 | Ivan FedotovPHI | PHI | −1.4 | 937 | 1.7 | 85.7% | 98.3% |
| 62 | Alexandar GeorgievCOL/SJS | COL/SJS | −1.8 | 1,934 | 1.2 | 80.5% | 93.4% |
Minimum sample: 738 shots (it scales with games played and sequence coverage). 41 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 →