Corsi for
CF
Every shot attempt by a player’s team while they’re on the ice. NHL shots on goal already include goals, so goals aren’t counted twice.
Calculation
Shots on goal, including goals + misses + blocked attempts
Corsi and Fenwick count shot attempts while a player is on the ice. Their shares and relative versions show who controls the play.
CF
Every shot attempt by a player’s team while they’re on the ice. NHL shots on goal already include goals, so goals aren’t counted twice.
Calculation
Shots on goal, including goals + misses + blocked attempts
CA
Total shot attempts allowed while a player is on the ice. It is the defensive half of the same possession equation.
Calculation
Shots on goal against, including goals + misses against + blocked attempts against
CF%
A player’s share of all shot attempts while on the ice — the classic shorthand for controlling play.
Calculation
CF / (CF + CA)
Note. CF% is still useful because it arrives quickly and is easy to compute, but xGF% usually gives the more predictive answer when both are available.
FF%
Shot-attempt share excluding blocked shots. Some analysts prefer it because it strips out part of the blocking noise from raw Corsi.
Calculation
FF / (FF + FA)
CF% Rel
A player’s on-ice CF% minus the team’s CF% when they’re off the ice. It separates a player’s own contribution from the team’s.
Calculation
CF% (on) - CF% (off)
Note. A player at 51% CF on a weak team can be much more valuable than a player at 51% on a strong possession team.
HDCF%
Share of high-danger unblocked attempts generated versus allowed. It acts as a bridge between raw possession and expected goals.
Calculation
HDCF / (HDCF + HDCA), using IceSheet danger-tier thresholds
Note. HDCF% often tracks closely with xGF% because it focuses on the most dangerous ice areas.
xGF% Rel
A player’s on-ice xGF% minus the team’s off-ice xGF%. It combines shot share and shot quality into one relative control signal.
Calculation
xGF% (on) - xGF% (off)