Brandon Duhaime
Toronto Maple Leafs · RW · L shot · age 29 at the dated snapshot.
- Team
- TOR
- Lane
- RW
- Age
- 29
How the points were built
Official NHL 2025–26 regular-season reports. A missing split stays “—”; it is never converted to zero.
3 RW regulars in TOR
The all-team median is 3.5. TOR’s farm system ranks #16 in the maintained two-board consensus.
Questions a GM still has to answer
- How much of the scoring comes at five-on-five, on special teams, or into an empty net?
- Is the player creating the play, finishing it, or receiving a secondary point?
- Does deployment reveal trust, scarcity, underuse, or a role the roster cannot offer?
- What contract, acquisition cost, development alternative and Cup-window effect complete the argument?
$2.60M cap hit
2026–27 through 2028–29. Reported
Cup signal › Costs more per point than the position median, but earns it with five-on-five creation or penalty-kill work.
- He did not reach the five-on-five sample (20 games and 10:00 a night at five-on-five), so the rate test cannot pass.
- He kills penalties (1:07 a night), which points do not capture.
- 21 real points at this cap hit would pass the cost test (he had 8, after 1 empty-net left out).
Expected goals
CapOrCup's shot model (distance, angle, shot type, strength, rebounds, rushes), trained on 2023-24 and 2024-25 and tested on unseen games (AUC 0.757). Finishing is goals minus expected goals; it is noisy in one season.
What happens while he plays
Measured from the league's play-by-play and shift charts, not from the scoresheet. Expected goals are counted for every player on the ice, and a goal is credited to whoever was on the ice when the sequence began, including players who had changed off before it was scored.
Who looked like this at 25 to 28
Careers are compared as league-adjusted points per game by age, over the same ages. The comparables below are the closest lines, and what matters is the spread of what they did next, not any single name.
This player so far: age 15 NAPHL 18U 0.77 → age 16 CSSHL 1.00 → age 17 BCHL 0.47 → age 18 USHL 0.82 → age 19 NCAA 0.34 → age 20 NCAA 0.65 → age 21 NCAA 0.81 → age 22 AHL 0.32 → age 23 AHL 0.38 → age 24 NHL 0.21 → age 25 NHL 0.20 → age 26 NHL 0.13 → age 27 NHL 0.26 → age 28 NHL 0.11
| Player | Distance (lower is closer) | What he did afterwards |
|---|---|---|
| Michael McCarronC · matched at ages 25, 27, 28 | 0.02 | age 29 NHL 0.31 → age 30 NHL 0.19 → age 31 NHL 0.20 |
| Nicolas DeslauriersL · matched at ages 25, 26, 27, 28 | 0.04 | age 29 NHL 0.22 → age 30 NHL 0.20 → age 31 NHL 0.16 → age 32 NHL 0.15 → age 33 NHL 0.07 |
| Anton BlidhL · matched at ages 26, 27, 28 | 0.07 | age 29 AHL 0.12 → age 30 AHL 0.23 → age 31 AHL 0.11 |
| Dominic ToninatoC · matched at ages 25, 26, 28 | 0.08 | age 29 AHL 0.32 → age 30 NHL 0.33 → age 31 AHL 0.27 → age 32 AHL 0.38 |
| Garnet HathawayR · matched at ages 25, 26, 27, 28 | 0.08 | age 29 NHL 0.32 → age 30 NHL 0.34 → age 31 NHL 0.27 → age 32 NHL 0.21 → age 33 NHL 0.31 |
| Kurtis MacDermidL · matched at ages 25, 26, 27, 28 | 0.08 | age 29 NHL 0.14 → age 30 NHL 0.07 → age 31 NHL 0.00 → age 32 NHL 0.05 |
| Cameron LundC · matched at ages 25, 26, 27, 28 | 0.09 | age 30 ACH 0.32 → age 31 ACH 0.14 |
| Mackenzie MacEachernL · matched at ages 25, 26, 27, 28 | 0.09 | age 29 AHL 0.37 → age 30 AHL 0.25 → age 31 AHL 0.36 → age 32 AHL 0.17 |
Reading it
If most comparables became NHL regulars and their later peak sits well above this player's current line, the numbers say there is room to grow. If most did not, the numbers say the odds are against it. Either way it is what the data shows, not a name chosen to flatter.
Every goal, with the league's video
Preseason, regular season and playoffs are kept apart. Each row links to the NHL's own highlight page; no video is hosted here. Where a clip has been reviewed, the reading of it is a model judgement of the frames, not a measurement.
Loading…
Games missed
The NHL publishes no injury feed. This counts games his club played while he did not dress, for any reason: injury, illness, a healthy scratch, a suspension or a trade gap. No cause is claimed.
Either side of that absence: 2.33 points per 60 in the ten games before, 0.59 in the ten after. A rate change over a small sample, not evidence of a lingering injury.
Speed, shot and ice
From the NHL's own player-tracking data. Percentiles are the NHL's: the share of the league below this player.