Who has actually been good
Team
Calgary Flames

Buffalo Sabres
Anaheim Ducks
Boston Bruins
Calgary Flames
Carolina Hurricanes
Chicago Blackhawks
Colorado Avalanche
Columbus Blue Jackets
Dallas Stars
Detroit Red Wings
Edmonton Oilers
Florida Panthers
Los Angeles Kings
Minnesota Wild
Montréal Canadiens
Nashville Predators
New Jersey Devils
New York Islanders
New York Rangers
Ottawa Senators
Philadelphia Flyers
Pittsburgh Penguins
San Jose Sharks
Seattle Kraken
St. Louis Blues
Tampa Bay Lightning
Toronto Maple Leafs
Utah Mammoth
Vancouver Canucks
Vegas Golden Knights
Washington Capitals
Winnipeg Jets
Season2025-26
Every Calgary Flames player rated out of 100 against NHL players at his own position. Wins above replacement sits beside each rating, and the bars show where the number comes from — sort by any situation to see who is driving the power play or holding up defensively.
90+Elite75+Top of the roster60+Middle of the roster40+Everyday NHLer20+Depth0+Below replacement
Focus
Roster total14.1wins above replacement across 41 players
| # | Player | Rating | GP | TOI | WAR split | WAR |
|---|---|---|---|---|---|---|
| 1 | Devin CooleyG | 70 | 31 | 1718 | +2.10 | |
| 2 | Dustin WolfG | 60 | 57 | 3149 | +1.47 | |
| 3 | Nazem KadriC | 88 | 77 | 1466 | +1.42 | |
| 4 | Victor OlofssonL | 77 | 79 | 1074 | +1.03 | |
| 5 | Joel FarabeeL | 65 | 82 | 1387 | +0.74 | |
| 6 | Joel HanleyD | 69 | 68 | 998 | +0.69 | |
| 7 | Rasmus AnderssonD | 67 | 81 | 1880 | +0.67 | |
| 8 | Jonathan HuberdeauL | 58 | 50 | 907 | +0.66 | |
| 9 | Connor ZaryC | 58 | 74 | 1063 | +0.65 | |
| 10 | MacKenzie WeegarD | 62 | 79 | 1775 | +0.57 | |
| 11 | Yegor SharangovichC | 52 | 78 | 1252 | +0.55 | |
| 12 | Morgan FrostC | 50 | 82 | 1271 | +0.51 | |
| 13 | Matt CoronatoR | 49 | 80 | 1332 | +0.49 | |
| 14 | Blake ColemanL | 44 | 69 | 1196 | +0.44 | |
| 15 | Arsenii SergeevG | 35 | 1 | 60 | +0.36 | |
| 16 | Olli MaattaD | 47 | 43 | 740 | +0.34 | |
| 17 | Mikael BacklundC | 34 | 82 | 1472 | +0.30 | |
| 18 | Zayne ParekhD | 41 | 37 | 634 | +0.27 | |
| 19 | Hunter BrzustewiczD | 38 | 34 | 549 | +0.24 | |
| 20 | Zach WhitecloudD | 33 | 79 | 1599 | +0.19 | |
| 21 | Matvei GridinR | 17 | 37 | 561 | +0.12 | |
| 22 | Ryan StromeC | 17 | 52 | 691 | +0.12 | |
| 23 | Brayden PachalD | 25 | 39 | 541 | +0.10 | |
| 24 | Yan KuznetsovD | 24 | 57 | 1145 | +0.09 | |
| 25 | Adam KlapkaR | 10 | 79 | 840 | +0.06 | |
| 26 | Brennan OthmannL | — | 19 | 190 | +0.05 | |
| 27 | Ryan LombergL | 9 | 57 | 516 | +0.05 | |
| 28 | Samuel HonzekL | — | 18 | 222 | +0.03 | |
| 29 | Jake BeanD | 11 | 16 | 255 | +0.02 | |
| 30 | John BeecherC | 5 | 35 | 365 | +0.01 | |
| 31 | Justin KirklandC | — | 20 | 197 | +0.01 | |
| 32 | Rory KerinsC | — | 4 | 60 | +0.00 | |
| 33 | Aydar SunievL | — | 6 | 70 | +0.00 | |
| 34 | Dryden HuntL | — | 3 | 27 | +0.00 | |
| 35 | William StromgrenL | — | 3 | 22 | +0.00 | |
| 36 | Sam MortonC | — | 3 | 28 | +0.00 | |
| 37 | Tyson GrossC | — | 6 | 66 | +0.00 | |
| 38 | Abram WiebeD | — | 4 | 48 | +0.00 | |
| 39 | Daniil MiromanovD | — | 1 | 18 | -0.00 | |
| 40 | Martin PospisilC | — | 22 | 223 | -0.01 | |
| 41 | Kevin BahlD | 1 | 76 | 1668 | -0.24 |
Situation split
Even-strength offenseEven-strength defensePower-play offensePower-play defenseShorthanded offenseShorthanded defensePenalties (drawn minus taken)Finishing (goals above expected)
A rating is a player's percentile among NHL players at his position — defensemen are ranked against defensemen, not against forwards, so a 70 means different things for a winger and a blueliner in raw wins. It is measured from wins above replacement, which converts on-ice and individual contributions into wins beyond what a freely available replacement would provide. Bars are drawn on a shared scale, so they are comparable down the column. How this is calculated