Corsi (CF%)

A shot attempt metric that counts all shots directed at the net -- shots on goal, missed shots, and blocked shots -- as a proxy for puck possession and territorial control.

Corsi (named after former NHL goaltending coach Jim Corsi) is the most widely used possession proxy in hockey analytics. The logic is straightforward: if your team is directing more shot attempts at the opponent's net than they are at yours, your team likely has the puck more often. CF% (Corsi For Percentage) expresses this as the share of total shot attempts that belong to your team while a given player is on the ice.

Corsi counts everything directed at the net: shots on goal, shots that miss the net, and shots blocked by defenders. This inclusiveness is a feature, not a bug -- even a blocked or missed shot means your team had possession and generated an offensive opportunity. The larger sample size (roughly 3x more events than shots on goal alone) makes Corsi more stable and quicker to converge than goals or shots on goal.

A CF% above 50% means the player's team is out-shooting opponents while they are on the ice. Elite possession players sustain 54-58% CF%. However, Corsi treats all shot attempts equally and does not account for shot quality -- a point shot through traffic counts the same as a breakaway. This is why many analysts now prefer expected goals (xG) models for evaluating player impact.

Formula

CF (Corsi For) = Shots on Goal + Missed Shots + Blocked Shots (for)
CA (Corsi Against) = Shots on Goal + Missed Shots + Blocked Shots (against)
CF% = CF / (CF + CA) x 100

Frequently Asked Questions

What is a good Corsi percentage?

A CF% above 50% means the player's team generates more shot attempts than it allows. Top possession players sustain 54-58% CF% at 5v5. Below 45% is concerning and typically indicates the player is being heavily out-chanced.

Why is Corsi better than plus-minus?

Traditional plus-minus is heavily influenced by goaltending, shooting percentage, and power-play goals. Corsi strips away these random factors and focuses on which team is controlling play. It uses a much larger sample of events and is far more predictive of future outcomes.

Should I use Corsi or Fenwick?

Both are useful. Fenwick excludes blocked shots (which can be somewhat random and may reward a defensive strategy of shot-blocking). In practice, the two metrics correlate very highly and either works well as a possession proxy. Many analysts now prefer xG models over both.

What does "score-adjusted" Corsi mean?

Teams that are leading tend to sit back defensively and allow more shot attempts, while trailing teams press. Score-adjusted Corsi accounts for this by weighting shot attempts differently based on the game score, giving a more accurate picture of true possession tendencies.