How the average NHL career rises and falls, in the site’s own currency: net goals per 82 games. Each curve tracks how the same player’s rating changes season over season, pooled across every skater in the model (2010-11 to 2025-26, seasons of 40+ games), so late ages aren’t flattered by the fact that only stars are still playing at 38. The vertical position is relative to the youngest age shown — read differences between two ages: a forward moving from 24 to 31 gives back about 2.7 net goals per 82.
Forwards peak at 24 and hold most of that level through 27; the slide steepens after 30 to roughly a net goal per 82 lost each year through the mid-30s. Defensemen age on a gentler arc: an earlier, lower peak at 22, then a slow drift that only accelerates after 32 — by the late 30s a defenseman has lost about half as much as a forward.
The same estimator run on each component of the rating separately. All seven panels share one scale so the sizes are comparable — the flat panels really are flat. Finishing is the story of the forward decline: it falls from age 20 on and accounts for more of the late-career loss than the on-ice play-driving components. Power-play value is the most age-resistant skill, still near its peak into the early 30s, and faceoffs are the one skill that keeps improving into the 30s.
Not a curve but a census: every rated player-season (skaters with 10+ GP, goalies with 10+ games), bucketed by age, as a share of his position group that season (curves lightly smoothed; hover for exact shares and counts). Press play to watch the league get younger through the 2010s — and notice how differently the three positions are shaped: forwards stack young, goalies old.
| Season | F n | mean | median | D n | mean | median | G n | mean | median |
|---|---|---|---|---|---|---|---|---|---|
| 2010-11 | 494 | 26.5 | 26 | 249 | 27.0 | 26 | 67 | 28.3 | 28 |
| 2011-12 | 494 | 26.6 | 26 | 251 | 26.9 | 26 | 65 | 29.0 | 29 |
| 2012-13 | 450 | 26.7 | 26 | 239 | 27.1 | 27 | 57 | 29.0 | 28 |
| 2013-14 | 494 | 26.6 | 26 | 257 | 26.8 | 26 | 69 | 28.1 | 27 |
| 2014-15 | 474 | 26.6 | 26 | 256 | 26.7 | 26 | 65 | 27.8 | 27 |
| 2015-16 | 483 | 26.4 | 26 | 253 | 26.3 | 25 | 69 | 27.4 | 27 |
| 2016-17 | 486 | 26.1 | 25 | 250 | 26.5 | 26 | 63 | 28.3 | 28 |
| 2017-18 | 492 | 26.1 | 25 | 267 | 26.2 | 26 | 71 | 28.5 | 29 |
| 2018-19 | 500 | 25.7 | 25 | 267 | 26.5 | 26 | 70 | 28.9 | 29 |
| 2019-20 | 481 | 26.0 | 26 | 254 | 26.7 | 26 | 66 | 29.1 | 29 |
| 2020-21 | 478 | 26.3 | 26 | 250 | 26.6 | 26 | 67 | 28.6 | 28 |
| 2021-22 | 534 | 26.4 | 26 | 274 | 26.7 | 26 | 74 | 28.3 | 27.5 |
| 2022-23 | 502 | 26.7 | 26 | 272 | 27.0 | 27 | 79 | 28.3 | 28 |
| 2023-24 | 503 | 27.0 | 27 | 269 | 27.2 | 27 | 73 | 28.1 | 28 |
| 2024-25 | 494 | 27.1 | 27 | 267 | 27.4 | 27 | 73 | 28.5 | 28 |
| 2025-26 | 515 | 27.2 | 27 | 263 | 27.5 | 27 | 72 | 29.0 | 29 |
The same census, but bucketed by the rating instead of age: each season’s Overall net goals per 82 (goalies: GSAx per 82), as a share of the position group. Goalies get their own panel because a goalie’s season value swings over a range about five times wider than a skater’s — note the x-axes. Most of the league lives within a goal or two of average in either direction; the animation shows how stable that shape is from season to season, even as the tails (the stars and the disasters) churn. Curves lightly smoothed; hover for exact shares and counts.
| Season | F n | mean | p10 | median | p90 | D n | mean | p10 | median | p90 | G n | mean | p10 | median | p90 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2010-11 | 494 | +0.4 | -6 | -0.2 | +7.3 | 249 | -1.9 | -6.7 | -1.8 | +3.2 | 67 | +11.5 | -26.2 | +14.2 | +54.2 |
| 2011-12 | 494 | +0.1 | -5.9 | -0.8 | +7.2 | 251 | -1.3 | -6 | -1.3 | +3.4 | 65 | +10.7 | -33.2 | +11.8 | +39.5 |
| 2012-13 | 450 | +0.5 | -6.7 | -0.2 | +8.5 | 239 | -1.8 | -7.3 | -2 | +4.1 | 57 | +17.3 | -29 | +14 | +57.9 |
| 2013-14 | 494 | +0.4 | -6 | -0.4 | +7.7 | 257 | -1.7 | -6 | -1.6 | +3.1 | 69 | +14 | -27.8 | +16.1 | +53.4 |
| 2014-15 | 474 | +0.2 | -6.4 | -0.5 | +8.2 | 256 | -1.6 | -6.8 | -1.5 | +4.1 | 65 | +13.8 | -31.3 | +16.3 | +49.8 |
| 2015-16 | 483 | +0.3 | -6.1 | -0.4 | +7.9 | 253 | -1.6 | -5.8 | -1.9 | +2.9 | 69 | +12.6 | -16.6 | +14.5 | +43.4 |
| 2016-17 | 486 | +0.5 | -6 | -0.1 | +7.6 | 250 | -2 | -6.8 | -2 | +2.8 | 63 | +13.6 | -24.8 | +13.1 | +42.8 |
| 2017-18 | 492 | +0.5 | -6.2 | -0.1 | +8.2 | 267 | -1.9 | -6.8 | -1.7 | +2.6 | 71 | +13.6 | -27.6 | +15.1 | +53.2 |
| 2018-19 | 500 | +0.2 | -6.3 | -0.5 | +8.2 | 267 | -2 | -6.8 | -2.1 | +3 | 70 | +12.3 | -27.1 | +12.8 | +48.9 |
| 2019-20 | 481 | +0.3 | -6.5 | -0.6 | +9 | 254 | -2 | -6.8 | -2.2 | +3.2 | 66 | +18.6 | -16.2 | +21.6 | +49 |
| 2020-21 | 478 | +0.7 | -6.8 | -0.3 | +9.9 | 250 | -2.3 | -7.4 | -2.2 | +3 | 67 | +16.3 | -21 | +12.5 | +60.7 |
| 2021-22 | 534 | +0.2 | -7.2 | -0.8 | +9.2 | 274 | -2 | -7.2 | -2.5 | +3.4 | 74 | +9.6 | -30 | +12.8 | +45.9 |
| 2022-23 | 502 | +0.3 | -7 | -0.5 | +9.1 | 272 | -1.7 | -7 | -2 | +3.9 | 79 | +13.3 | -26.8 | +14.8 | +52.6 |
| 2023-24 | 503 | +0.3 | -6.7 | -0.6 | +8.3 | 269 | -2.1 | -7.5 | -2 | +3.2 | 73 | +19.4 | -11.2 | +18.4 | +51.5 |
| 2024-25 | 494 | +0.3 | -5.8 | -0.4 | +8.3 | 267 | -1.8 | -6.7 | -1.9 | +2.3 | 73 | +14 | -24 | +14.3 | +54.7 |
| 2025-26 | 515 | +0.4 | -6.6 | -0.4 | +9 | 263 | -1.9 | -6.9 | -2.1 | +3.3 | 72 | +15.6 | -14.4 | +16 | +56.7 |
| Group | Age | Overall | EV offense | EV defense | Power play | Penalty kill | Finishing | Penalties | Faceoffs | Transitions |
|---|---|---|---|---|---|---|---|---|---|---|
| F | 18 | +0.00 | +0.00 | +0.00 | +0.00 | +0.00 | +0.00 | +0.00 | +0.00 | — |
| F | 19 | +0.86 | +0.48 | +0.11 | +0.20 | +0.06 | -0.11 | +0.06 | +0.06 | 29 |
| F | 20 | +1.41 | +0.89 | +0.04 | +0.36 | +0.11 | -0.21 | +0.04 | +0.18 | 85 |
| F | 21 | +1.75 | +1.20 | -0.15 | +0.45 | +0.17 | -0.21 | -0.01 | +0.30 | 130 |
| F | 22 | +1.90 | +1.41 | -0.31 | +0.50 | +0.20 | -0.16 | -0.10 | +0.36 | 215 |
| F | 23 | +2.16 | +1.57 | -0.41 | +0.55 | +0.21 | -0.05 | -0.15 | +0.43 | 308 |
| F | 24 | +2.34 | +1.65 | -0.47 | +0.62 | +0.21 | -0.01 | -0.17 | +0.52 | 387 |
| F | 25 | +2.17 | +1.65 | -0.48 | +0.68 | +0.21 | -0.17 | -0.29 | +0.58 | 405 |
| F | 26 | +1.96 | +1.64 | -0.45 | +0.70 | +0.20 | -0.32 | -0.43 | +0.61 | 411 |
| F | 27 | +1.67 | +1.58 | -0.46 | +0.71 | +0.19 | -0.44 | -0.54 | +0.63 | 403 |
| F | 28 | +1.22 | +1.47 | -0.51 | +0.70 | +0.18 | -0.62 | -0.65 | +0.64 | 389 |
| F | 29 | +0.75 | +1.29 | -0.52 | +0.69 | +0.17 | -0.80 | -0.73 | +0.65 | 362 |
| F | 30 | +0.23 | +1.08 | -0.48 | +0.65 | +0.16 | -1.05 | -0.82 | +0.68 | 304 |
| F | 31 | -0.39 | +0.88 | -0.45 | +0.60 | +0.12 | -1.30 | -0.94 | +0.69 | 274 |
| F | 32 | -0.86 | +0.68 | -0.38 | +0.58 | +0.11 | -1.49 | -1.03 | +0.68 | 222 |
| F | 33 | -1.23 | +0.53 | -0.31 | +0.60 | +0.12 | -1.73 | -1.10 | +0.67 | 174 |
| F | 34 | -2.02 | +0.39 | -0.37 | +0.61 | +0.11 | -2.21 | -1.18 | +0.64 | 130 |
| F | 35 | -3.21 | +0.18 | -0.40 | +0.58 | +0.06 | -3.02 | -1.24 | +0.62 | 97 |
| F | 36 | -4.06 | -0.04 | -0.30 | +0.48 | +0.03 | -3.54 | -1.29 | +0.60 | 75 |
| F | 37 | -4.57 | -0.31 | -0.27 | +0.35 | +0.06 | -3.55 | -1.44 | +0.58 | 44 |
| F | 38 | -5.70 | -0.48 | -0.28 | +0.26 | +0.06 | -4.09 | -1.71 | +0.54 | 28 |
| F | 39 | -7.66 | -0.48 | -0.20 | +0.27 | -0.03 | -5.63 | -2.07 | +0.48 | 15 |
| D | 19 | +0.00 | +0.00 | +0.00 | +0.00 | +0.00 | +0.00 | +0.00 | +0.00 | — |
| D | 20 | -0.08 | -0.03 | -0.06 | +0.16 | -0.09 | -0.30 | +0.25 | -0.00 | 27 |
| D | 21 | +0.16 | +0.10 | -0.10 | +0.31 | -0.13 | -0.33 | +0.30 | -0.00 | 57 |
| D | 22 | +0.24 | +0.29 | -0.14 | +0.39 | -0.10 | -0.38 | +0.17 | -0.00 | 95 |
| D | 23 | +0.11 | +0.40 | -0.17 | +0.46 | -0.09 | -0.54 | +0.06 | -0.00 | 154 |
| D | 24 | +0.01 | +0.43 | -0.21 | +0.49 | -0.12 | -0.64 | +0.06 | -0.00 | 189 |
| D | 25 | -0.06 | +0.43 | -0.29 | +0.44 | -0.15 | -0.51 | +0.02 | -0.00 | 188 |
| D | 26 | -0.15 | +0.37 | -0.35 | +0.39 | -0.14 | -0.33 | -0.09 | -0.00 | 189 |
| D | 27 | -0.30 | +0.30 | -0.37 | +0.37 | -0.11 | -0.35 | -0.15 | -0.00 | 198 |
| D | 28 | -0.46 | +0.27 | -0.40 | +0.39 | -0.11 | -0.42 | -0.19 | -0.00 | 193 |
| D | 29 | -0.62 | +0.21 | -0.54 | +0.42 | -0.17 | -0.33 | -0.21 | -0.00 | 176 |
| D | 30 | -0.87 | +0.04 | -0.67 | +0.38 | -0.25 | -0.14 | -0.23 | +0.00 | 167 |
| D | 31 | -1.20 | -0.18 | -0.63 | +0.36 | -0.31 | -0.08 | -0.36 | +0.00 | 147 |
| D | 32 | -1.61 | -0.38 | -0.54 | +0.37 | -0.33 | -0.22 | -0.51 | +0.00 | 119 |
| D | 33 | -2.16 | -0.51 | -0.56 | +0.36 | -0.35 | -0.46 | -0.64 | +0.00 | 95 |
| D | 34 | -2.83 | -0.65 | -0.67 | +0.32 | -0.38 | -0.66 | -0.78 | +0.00 | 81 |
| D | 35 | -3.14 | -0.88 | -0.73 | +0.27 | -0.37 | -0.59 | -0.85 | +0.00 | 59 |
| D | 36 | -3.13 | -1.15 | -0.76 | +0.24 | -0.34 | -0.29 | -0.83 | +0.00 | 37 |
| D | 37 | -3.35 | -1.42 | -0.68 | +0.15 | -0.34 | -0.25 | -0.81 | +0.00 | 28 |
| D | 38 | -3.73 | -1.63 | -0.42 | -0.02 | -0.38 | -0.55 | -0.74 | +0.00 | 17 |
Method. For every skater with 40+ GP seasons at consecutive ages, the season-over-season change in his rating is pooled by age transition (weighted by the harmonic mean of the two seasons’ games played), each step requires at least 15 such transitions, steps are lightly smoothed (¼–½–¼), and the steps are summed from the youngest age. Because only within-player changes enter, a 37-year-old star retiring doesn’t drag the curve — but note the curve describes players who stayed in the league; a player who fell out of the NHL contributes no decline data. Curves end where fewer than 15 transitions exist (F 39, D 38). Faceoffs are shown for context; they partially overlap the on-ice components.