Corsi vs Fenwick: which possession metric should you use?
Two shot-attempt metrics, one small difference — and when each one tells the truer story.
Corsi (CF)
- On goal
- Missed
- Blocked
Fenwick (FF)
- On goal
- Missed
Expected goals
- Weights each shot
- By scoring odds
The 30-second version
- Corsi counts all shot attempts; Fenwick is Corsi minus blocked shots.
- Both proxy possession — they stabilize fast because attempts are frequent.
- Prefer expected goals when you can; use Corsi/Fenwick for quick possession reads.
The only difference: blocked shots
Corsi counts every shot attempt — shots on goal, missed shots, and blocked shots. Fenwick is the same thing minus blocks. That single difference is the whole debate: is blocking shots a repeatable skill you should credit, or noise you should strip out?
Why both work as possession proxies
Because attempts happen far more often than goals, Corsi and Fenwick stabilize quickly over a season and correlate with controlling play. If a team consistently posts a strong CF% or FF%, they are usually spending more time in the offensive zone and generating more looks than they allow.
When to reach for which
Use Fenwick when you want to reward teams that generate unblocked looks and to reduce the influence of shot-blocking. Use Corsi as the broadest, highest-sample possession read. And when you have the data, prefer expected goals — it keeps the possession signal but adds the shot quality that raw attempt counts ignore.
Build it yourself
- 1Pull shot events with an 'event type' (shot / miss / block).
- 2Corsi = shots + misses + blocks; Fenwick = shots + misses.
- 3Compute each as a share (CF%, FF%) for and against on the ice.
- 4Compare both to xG to see when quality diverges from volume.
Key terms
Newsletter
Weekly hockey analytics
Data-driven takes on performance, scouting, and team strategy. No fluff — just the numbers that matter.
No spam. Unsubscribe anytime.