On-ice results
5v5 Corsi For % (CF%) Leaders
2024-25All situationsThrough 82 team games
Corsi For percentage is the share of all shot attempts (goals, saves, misses and blocks) that went toward the opponent's net while a skater was on the ice. It is the oldest possession proxy in hockey analytics and still the fastest to stabilise, because attempts happen about ten times as often as goals.
Attempts are counted from the NHL play-by-play and credited to every skater on the ice using the shift charts, at 5-on-5 by default.
Leader in 2024-25: Shayne Gostisbehere (CAR), 67.9% CF%.
5v5 CF% leaderboard
| # | Player | Team | |||||
|---|---|---|---|---|---|---|---|
| 1 | Shayne GostisbehereDCAR | CAR | 67.9% | 1,296 | 80.3 | 38.0 | 96%▲16 |
| 2 | Matthew TkachukFFLA | FLA | 66.0% | 948 | 84.8 | 43.7 | 100%▲2.7 |
| 3 | Jackson BlakeFCAR | CAR | 65.8% | 1,108 | 76.8 | 39.9 | 68%▲21 |
| 4 | Jonathan DrouinFCOL | COL | 65.1% | 782 | 80.7 | 43.2 | 0.5% |
| 5 | Connor McDavidFEDM | EDM | 64.9% | 1,476 | 79.7 | 43.0 | 100%▲1.5 |
| 6 | Martin NecasFCAR/COL | CAR/COL | 64.7% | 1,501 | 79.1 | 43.1 | 100%▲1.3 |
| 7 | Zach HymanFEDM | EDM | 63.8% | 1,379 | 78.7 | 44.7 | 98%▼1.4 |
| 8 | Evan BouchardDEDM | EDM | 63.7% | 1,924 | 77.2 | 44.0 | 100% |
| 9 | Andrei SvechnikovFCAR | CAR | 63.6% | 1,232 | 81.1 | 46.4 | 97%▲8.5 |
| 10 | Nathan MacKinnonFCOL | COL | 63.6% | 1,800 | 80.7 | 46.2 | 100%▲0.8 |
| 11 | Carter VerhaegheFFLA | FLA | 63.5% | 1,447 | 81.2 | 46.6 | 73%▲1 |
| 12 | Sebastian AhoFCAR | CAR | 63.2% | 1,588 | 79.0 | 45.9 | 99%▲0.9 |
| 13 | Leon DraisaitlFEDM | EDM | 63.1% | 1,528 | 78.6 | 45.9 | 100% |
| 14 | Mathew BarzalFNYI | NYI | 62.8% | 610 | 80.3 | 47.6 | 83%▲10 |
| 15 | Aleksander BarkovFFLA | FLA | 62.8% | 1,357 | 79.8 | 47.3 | 97%▲7.2 |
| 16 | Kevin FialaFLAK | LAK | 62.0% | 1,500 | 73.7 | 45.2 | 67%▼8.4 |
| 17 | Jack HughesFNJD | NJD | 61.7% | 1,296 | 80.1 | 49.8 | 100% |
| 18 | Tim StützleFOTT | OTT | 61.5% | 1,625 | 72.9 | 45.7 | 100%▲0.8 |
| 19 | Seth JarvisFCAR | CAR | 61.4% | 1,413 | 75.3 | 47.3 | 95%▲1.5 |
| 20 | Sam ReinhartFFLA | FLA | 61.2% | 1,620 | 75.8 | 48.1 | 99% |
| 21 | Jack RoslovicFCAR | CAR | 61.1% | 1,120 | 74.5 | 47.4 | 34%▲26 |
| 22 | Jesperi KotkaniemiFCAR | CAR | 61.1% | 1,097 | 72.1 | 45.9 | 3.2%▲3.1 |
| 23 | Quinn HughesDVAN | VAN | 60.9% | 1,750 | 69.6 | 44.7 | 100% |
| 24 | Artemi PanarinFNYR | NYR | 60.8% | 1,575 | 77.4 | 50.0 | 98%▼1.2 |
| 25 | Sam BennettFFLA | FLA | 60.7% | 1,326 | 78.6 | 50.9 | 83%▲4 |
| 26 | Mackie SamoskevichFFLA | FLA | 60.6% | 959 | 72.7 | 47.4 | — |
| 27 | Evan RodriguesFFLA | FLA | 60.4% | 1,248 | 71.5 | 46.9 | 8.3%▲6.5 |
| 28 | Brady TkachukFOTT | OTT | 60.3% | 1,313 | 76.1 | 50.1 | 100%▲2.2 |
| 29 | Clayton KellerFUTA | UTA | 60.0% | 1,549 | 69.4 | 46.2 | 100%▲2 |
| 30 | Josh DoanFUTA | UTA | 59.9% | 689 | 67.4 | 45.1 | 61%▲44 |
| 31 | Mikko RantanenFCOL/DAL/CAR | COL/DAL/CAR | 59.9% | 1,742 | 73.5 | 49.2 | 99%▲0.7 |
| 32 | Sean WalkerDCAR | CAR | 59.8% | 1,380 | 69.9 | 47.0 | 60%▼11 |
| 33 | William CarrierFCAR | CAR | 59.6% | 504 | 70.3 | 47.6 | 0.1% |
| 34 | Tomas HertlFVGK | VGK | 59.5% | 1,250 | 73.7 | 50.1 | 83%▲2.9 |
| 35 | Nikita KucherovFTBL | TBL | 59.3% | 1,653 | 75.2 | 51.5 | 100% |
| 36 | Tyler ToffoliFSJS | SJS | 59.2% | 1,321 | 76.2 | 52.4 | 38%▼17 |
| 37 | Dougie HamiltonDNJD | NJD | 59.2% | 1,271 | 78.9 | 54.3 | 84%▲12 |
| 38 | Barrett HaytonFUTA | UTA | 59.2% | 1,320 | 71.2 | 49.1 | 11%▲11 |
| 39 | Ryan O'ReillyFNSH | NSH | 59.2% | 1,500 | 73.5 | 50.7 | 84%▲5.1 |
| 40 | Filip ForsbergFNSH | NSH | 59.1% | 1,527 | 76.4 | 52.9 | 99%▲1.4 |
| 41 | Dylan GuentherFUTA | UTA | 59.1% | 1,190 | 72.5 | 50.3 | 99%▲2 |
| 42 | Stefan NoesenFNJD | NJD | 59.0% | 1,243 | 72.4 | 50.3 | 0.1% |
| 43 | Pavel DorofeyevFVGK | VGK | 59.0% | 1,355 | 69.6 | 48.5 | 92%▲1.7 |
| 44 | Corey PerryFEDM | EDM | 58.8% | 967 | 69.7 | 48.8 | 7.4%▲5.9 |
| 45 | Nate SchmidtDFLA | FLA | 58.8% | 1,322 | 65.4 | 45.8 | 4.9%▲4.5 |
| 46 | Alex LaferriereFLAK | LAK | 58.8% | 1,273 | 68.8 | 48.3 | 68%▲3.5 |
| 47 | Nick SchmaltzFUTA | UTA | 58.7% | 1,524 | 70.0 | 49.3 | 94%▲4.7 |
| 48 | Logan StankovenFDAL/CAR | DAL/CAR | 58.7% | 1,177 | 71.7 | 50.5 | 67%▲42 |
| 49 | Kirill KaprizovFMIN | MIN | 58.6% | 921 | 69.8 | 49.2 | 98%▼0.8 |
| 50 | Andrei KuzmenkoFCGY/LAK/PHI | CGY/LAK/PHI | 58.5% | 1,032 | 70.3 | 49.8 | 11%▲9.8 |
| 51 | Tommy NovakFNSH/PIT | NSH/PIT | 58.4% | 714 | 69.4 | 49.4 | 11%▲9.1 |
| 52 | Jordan SpenceDLAK | LAK | 58.4% | 1,326 | 66.3 | 47.3 | 21%▲17 |
| 53 | Nikolaj EhlersFWPG | WPG | 58.3% | 1,090 | 71.1 | 51.0 | 93%▲7.9 |
| 54 | Miro HeiskanenDDAL | DAL | 58.3% | 1,258 | 69.5 | 49.8 | 100%▲4.5 |
| 55 | Luke EvangelistaFNSH | NSH | 58.2% | 943 | 65.5 | 47.0 | 70%▲23 |
| 56 | Steven StamkosFNSH | NSH | 58.2% | 1,476 | 73.8 | 53.0 | 94%▼3.7 |
| 57 | Roman JosiDNSH | NSH | 58.2% | 1,327 | 75.2 | 54.1 | 98% |
| 58 | Nazem KadriFCGY | CGY | 58.1% | 1,587 | 74.5 | 53.8 | 70%▼9.7 |
| 59 | Artturi LehkonenFCOL | COL | 58.0% | 1,406 | 70.3 | 50.9 | 54%▲37 |
| 60 | Adam FoxDNYR | NYR | 58.0% | 1,720 | 72.5 | 52.5 | 99%▲6.5 |
| 61 | Jesper BrattFNJD | NJD | 57.9% | 1,535 | 75.1 | 54.5 | 96%▲11 |
| 62 | Alex OvechkinFWSH | WSH | 57.9% | 1,152 | 72.4 | 52.6 | 96%▲1.3 |
| 63 | Michael BuntingFPIT/NSH | PIT/NSH | 57.9% | 1,180 | 70.8 | 51.5 | 4.5%▲1.8 |
| 64 | David PastrnakFBOS | BOS | 57.9% | 1,655 | 69.3 | 50.5 | 100%▲1.2 |
| 65 | Kirill MarchenkoFCBJ | CBJ | 57.9% | 1,468 | 73.9 | 53.8 | 98%▲7 |
| 66 | Drake BathersonFOTT | OTT | 57.8% | 1,488 | 70.7 | 51.5 | 97%▲7.4 |
| 67 | Timo MeierFNJD | NJD | 57.8% | 1,429 | 73.9 | 53.9 | 82%▼8 |
| 68 | Matias MaccelliFUTA | UTA | 57.8% | 755 | 68.6 | 50.1 | 14%▲13 |
| 69 | Jake GuentzelFTBL | TBL | 57.7% | 1,599 | 72.2 | 52.9 | 100% |
| 70 | Matt CoronatoFCGY | CGY | 57.6% | 1,354 | 72.1 | 53.0 | 40%▲6.7 |
| 71 | Alex DeBrincatFDET | DET | 57.6% | 1,465 | 70.1 | 51.6 | 100%▲2.6 |
| 72 | Shea TheodoreDVGK | VGK | 57.6% | 1,473 | 67.7 | 49.9 | 91%▲28 |
| 73 | Jason RobertsonFDAL | DAL | 57.4% | 1,459 | 70.3 | 52.2 | 100%▲0.5 |
| 74 | Cale MakarDCOL | COL | 57.4% | 2,057 | 71.3 | 53.0 | 100%▲1 |
| 75 | Oliver BjorkstrandFSEA/TBL | SEA/TBL | 57.3% | 1,197 | 66.7 | 49.6 | 20% |
| 76 | Lucas RaymondFDET | DET | 57.2% | 1,540 | 67.6 | 50.5 | 96%▲10 |
| 77 | Rasmus DahlinDBUF | BUF | 57.2% | 1,769 | 69.8 | 52.2 | 100%▲1 |
| 78 | Connor ZaryFCGY | CGY | 57.2% | 868 | 69.3 | 51.8 | 10%▲10 |
| 79 | Uvis BalinskisDFLA | FLA | 57.2% | 1,129 | 61.8 | 46.2 | 4.0%▲3.9 |
| 80 | Brandt ClarkeDLAK | LAK | 57.2% | 1,270 | 70.4 | 52.7 | 96%▲11 |
| 81 | Victor OlofssonFVGK | VGK | 57.2% | 812 | 64.5 | 48.3 | 12%▲12 |
| 82 | Jordan KyrouFSTL | STL | 57.1% | 1,434 | 65.0 | 48.8 | 79%▲2.9 |
| 83 | Jonathan MarchessaultFNSH | NSH | 57.1% | 1,402 | 72.9 | 54.8 | 24%▼21 |
| 84 | Kevin HayesFPIT | PIT | 57.0% | 771 | 68.2 | 51.4 | 0.0% |
| 85 | Valeri NichushkinFCOL | COL | 57.0% | 849 | 70.1 | 52.9 | 60% |
| 86 | Sidney CrosbyFPIT | PIT | 56.9% | 1,630 | 73.8 | 55.8 | 100%▲2.4 |
| 87 | Tage ThompsonFBUF | BUF | 56.9% | 1,425 | 71.8 | 54.4 | 100%▲1.1 |
| 88 | Rickard RakellFPIT | PIT | 56.9% | 1,563 | 73.0 | 55.4 | 82%▲9.9 |
| 89 | Viktor ArvidssonFEDM | EDM | 56.9% | 1,005 | 68.3 | 51.8 | 32%▲23 |
| 90 | Quinton ByfieldFLAK | LAK | 56.9% | 1,509 | 66.2 | 50.2 | 86%▲18 |
| 91 | Kent JohnsonFCBJ | CBJ | 56.8% | 1,176 | 67.1 | 51.0 | 30%▲27 |
| 92 | Brayden PointFTBL | TBL | 56.8% | 1,500 | 72.3 | 54.9 | 95%▲7.7 |
| 93 | Cole CaufieldFMTL | MTL | 56.8% | 1,482 | 68.9 | 52.4 | 100%▲0.9 |
| 94 | Eric RobinsonFCAR | CAR | 56.8% | 1,005 | 63.4 | 48.2 | 3.2%▲3.1 |
| 95 | Nico HischierFNJD | NJD | 56.7% | 1,529 | 72.5 | 55.4 | 98%▲3 |
| 96 | Dylan StromeFWSH | WSH | 56.6% | 1,425 | 69.1 | 53.0 | 82%▲10 |
| 97 | Zach BensonFBUF | BUF | 56.6% | 1,111 | 64.0 | 49.1 | 56%▲44 |
| 98 | Anders LeeFNYI | NYI | 56.5% | 1,399 | 73.5 | 56.6 | 29%▼20 |
| 99 | Jakob ChychrunDWSH | WSH | 56.5% | 1,559 | 67.7 | 52.2 | 99%▼0.6 |
| 100 | Adam GaudetteFOTT | OTT | 56.4% | 844 | 64.7 | 49.9 | 0.1% |
Minimum sample: 492 min (it scales with games played). 307 below the minimum are hidden.
How to read it
50% is even. Above 55% over a full season is top-line territory; below 45% usually means heavy defensive usage or a struggling line.
How reliable is it?
CF% stabilises faster than any goal-based stat, but it ignores shot quality: pair it with xGF% before drawing conclusions.
CF% in the stat glossary →Related leaderboards
- 5v5 xGF%50% is break-even. 55% means the skater's team took 55% of the expected goals while he was on the ice.
- Line CF%Shot-attempt share while exactly these three forwards were on the ice together at 5-on-5.
- D-pair CF%Shot-attempt share with exactly these two defencemen on the ice at 5-on-5.
- Team CF%50% is even; the league spread is usually about 45% to 55%.