NHL Save % + Corsi Calculator

Share:

Calculate NHL save percentage (saves ÷ shots) and Corsi For % (CF ÷ (CF + CA)), the advanced possession metric. Exact hockey-analytics formulas. Free.

RT-SPT-006 · Sports
Your browser is too old for this tool’s interactive features. Please update to Safari 13.1, Chrome or Edge 80, Firefox 74 or newer.

NHL Save Percentage and Corsi Calculator

Two of hockey's key numbers in one tool: a goaltender's save percentage (the share of shots stopped), and Corsi For % — the share of all shot attempts a team generates, used as a proxy for puck possession. Fill in either section, or both.

Goaltender — Save %
Skater / Team — Corsi
📅 Research current as of 12 Oct 2026 · Sources: SV% = saves ÷ shots on goal; Corsi For % (the NHL’s SAT%) = SAT For ÷ (SAT For + SAT Against), 5-on-5, per the NHL stats glossary. League SV% .896 = 2025-26 NHL goalie totals, 64,976 saves on 72,530 shots.
Standards, published formulas, and reference data are revised over time — check against a current authoritative source before relying on these figures.
Save percentage
—
—
Corsi For %
—
—
Advertisement
After results · AD-W1Responsive · Post-tool

How to Use the Save % + Corsi Calculator

For save percentage

Enter the shots on goal a goaltender faced and the goals they allowed. Saves are simply shots minus goals against, and SV% is saves divided by shots — reported to three decimals (e.g. .919).

For Corsi

Enter Corsi For (every shot attempt your team took — on goal, missed, and blocked) and Corsi Against (the opponent's attempts). The tool returns Corsi For %, the share of total attempts your team generated.

Read save percentage

The calculator compares it with the NHL's league-wide figure: .904 in 2023-24, .900 in 2024-25 and .896 in 2025-26 (NHL stats, all goalies). SV% is volatile game to game, so judge goalies over many starts.

Read Corsi For %

Above 50% means your team out-attempted the opponent — a sign of controlling play. In 2025-26 NHL teams ranged from 45.5% to 59.1% at 5-on-5. The NHL notes it is a proxy for possession, not a measure of possession time, and counts it at 5-on-5.

Advertisement
After how-to · AD-W2Responsive

Save % and Corsi — Hockey's Two Essential Rates

Save Percentage: the Goalie's Bottom Line

Save percentage is the most direct measure of a goaltender's performance: of the shots on goal they faced, what fraction did they stop? The math is simple — saves divided by shots, where saves are shots minus goals allowed — and the result is conventionally written to three decimal places, so stopping 30 of 32 shots is a .938 night. Across the whole league, NHL goalies stopped .904 of shots in 2023-24, .900 in 2024-25 and .896 in 2025-26 (NHL stats totals), which is the yardstick for any one goalie. The appeal of SV% over the older goals-against average is that it isolates the goalie from team defense: a goalie on a leaky team faces more shots, which inflates their goals-against average even if they're stopping pucks at a high rate, whereas save percentage judges them only on the shots they actually saw. Its main limitation is that not all shots are equal — a screened slot one-timer is far harder than a routine point shot — which is why modern analysis layers in shot-quality models and "goals saved above expected," but raw SV% remains the everyday standard.

Corsi answers a different question: who controlled play? It counts all unblocked and blocked shot attempts — shots on goal, attempts that missed the net, and attempts the defense blocked — for and against a team while a player or line is on the ice. Corsi For % is the share of those total attempts a team generated: CF ÷ (CF + CA). The NHL, which has published it as SAT since 2009-10, gives the reason in its glossary: there are far more shot attempts than goals, so the sample is much larger, and counting attempts removes the influence of the goaltending at either end. Above 50% is above average. It is a proxy for possession, the NHL adds, not a measure of possession time.

"Goals are rare; shot attempts are plentiful. That is the whole case for Corsi: a far bigger sample, with the goalies taken out of it."

Reading Them Right — and the Global Game

Both numbers reward context and sample size. Save percentage swings wildly over a few games — a goalie can post a .950 week and a .870 week without changing how they play — so it's only meaningful over many starts, and it's best split by situation (even strength versus penalty kill) and increasingly judged against shot quality. Corsi is most useful at even strength and over a season; a single game's Corsi can be skewed by "score effects," where a team protecting a lead sits back and concedes attempts on purpose, depressing its Corsi while still winning. That's why analysts often look at "score-adjusted" Corsi and at related metrics like Fenwick (which excludes blocked shots) and expected goals (which weights attempts by quality). For hockey's strong followings in Canada, the northern United States, and growing markets worldwide, these formulas are identical at every level from the NHL to junior and European leagues — SV% and Corsi For % mean the same thing wherever the game is played.

Corsi counts shot attempts because there are far more of them than goals

01

SV% = saves ÷ shots = (shots − goals against) ÷ shots, written to three decimals.

02

NHL goalies as a whole stopped .896 of shots in 2025-26.

03

SV% isolates the goalie from team defense better than goals-against average.

04

Corsi counts all shot attempts — on goal, missed, and blocked.

05

Corsi For % = CF ÷ (CF + CA) — the share of attempts your team generates.

06

Above 50% means out-attempting the opponent — controlling play.

07

The NHL publishes Corsi as SAT, counted at 5-on-5, since 2009-10.

08

Fenwick is Corsi minus blocked shots; expected goals weights shot quality.

09

Score effects can lower a leading team's Corsi as it sits back to protect a lead.

10

Both are best read at even strength over many games, not a single shift.

Frequently Asked Questions

  • Save percentage is saves divided by shots on goal, where saves are the shots faced minus the goals allowed. If a goalie faces 32 shots and allows 2 goals, that's 30 saves ÷ 32 shots = .938. It's conventionally written to three decimal places. The stat measures the fraction of shots the goalie stopped, isolating their performance from how many shots the team allowed.
  • Compare to the same season's league figure: NHL goalies as a whole stopped .904 of shots in 2023-24, .900 in 2024-25 and .896 in 2025-26. League-average SV% moves from year to year, so always compare within a season. Single games are noisy — a .950 or .870 night says little — so judge goalies over many starts.
  • For judging the goalie alone, generally yes. Goals-against average (goals per 60 minutes) penalises a goalie on a team that allows lots of shots, even if the goalie is stopping pucks at a high rate. Save percentage looks only at the shots the goalie actually faced, so it separates goaltending from team defense. The most advanced measures go further with shot-quality models ("goals saved above expected"), but SV% is the better everyday stat than GAA.
  • Corsi counts all shot attempts — shots on goal, attempts that missed the net, and attempts that were blocked — for and against a team while a player or line is on the ice. Corsi For % is the share of those total attempts your team generated: CF ÷ (CF + CA). It's used as a proxy for puck possession and chance generation, because a team that takes more shot attempts is usually controlling play.
  • Because goals are rare and random in small samples, while shot attempts accumulate into a large, stable signal. The NHL's glossary gives two reasons: shot attempts give a much larger sample than goals, and counting them removes the influence of varying goaltending. A team out-attempting its opponents is generating more chances, even if puck luck hides it on a given night.
  • Anything above 50% means you out-attempted the opponent. In 2025-26, NHL teams at 5-on-5 ranged from 45.5% (Toronto) to 59.1% (Carolina), with eight teams at 52% or more and seven under 48%. Read it at even strength and over many games — special teams and single-game score effects distort it. It's a possession proxy, not a guarantee of goals.
  • Score effects describe how the scoreline changes team behaviour: a team protecting a lead tends to sit back, defend, and concede shot attempts on purpose, which lowers its Corsi even though it's winning, while the trailing team pushes and racks up attempts. This means raw Corsi can understate a leading team's quality. Analysts use "score-adjusted" Corsi to correct for it, weighting attempts by game situation so possession is measured more fairly.
  • Both measure shot-attempt differential, but Fenwick excludes blocked shots while Corsi includes them. The reasoning is that blocking shots is a repeatable defensive skill, so some analysts prefer to leave blocks out (Fenwick) to better capture unblocked chances. In practice the two are highly correlated and tell a similar story. Corsi is the more commonly cited; expected goals, which weights each attempt by its scoring probability, has become the higher-resolution successor to both.
  • Yes — both work for a single game, and this calculator handles either a one-game or season total. But both are small-sample noisy: a goalie's one-game SV% and a team's one-game Corsi can swing far from their true level. Single-game figures are fine as a summary of that night, but for evaluating a goalie or team you want many games, ideally split by even strength versus special teams.
  • Yes. Save percentage and Corsi are defined the same way in any hockey league — the KHL, European leagues, junior hockey, women's hockey, and international play — wherever shots and shot attempts are tracked. Only the league-average baselines differ, so to judge a goalie or team you compare to that league and season's norms. The calculator works for any level; the formulas don't change.

Method & sources

How it computes

SV% = saves / shots on goal (NHL glossary), compared with the 2025-26 league figure .896 (64,976 saves on 72,530 shots, NHL stats API goalie totals). Corsi For % = SAT For / (SAT For + SAT Against), the NHL's SAT%, counted 5-on-5. OutdoorSportKernel.sport.savePct / corsiPct, tested.

What this tool implements

  • Corrected: the page called .915-.920 league average and anything under .915 'below average'. NHL goalies as a whole stopped .904 of shots in 2023-24, .900 in 2024-25 and .896 in 2025-26, computed from the NHL stats API, so an above-average season was being labelled below average.
  • Corsi now follows the NHL glossary (SAT% 'is also known as Corsi for percentage', 5-on-5, a proxy for possession rather than possession time). The repeated claim that shot attempts 'predict future wins better than past goals' had no source and is replaced with the NHL's stated reasons: a larger sample than goals, without the goaltending. The 52%/48% bands are replaced with the 2025-26 team range, 45.5% to 59.1%.

Sources

Advertisement
Pre-footer · AD-W3 728 × 90