Hockey Terminal
Be a GM

← All players

Photo of Bo Groulx

Bo Groulx

#29 · Centre · Toronto Maple Leafs

Born Feb 6, 2000 in Rouen, FRA (age 26) · 6'2", 202 lb · Shoots left · Drafted 54th overall in 2018 by ANA (round 2)

Compare with a similar player

The forwards closest to him in points in 2025-26. Pick one to see the two side by side, or choose someone else.

Jiri Kulich BUF · 5 P in 12 GP Avery Hayes PIT · 5 P in 16 GP Tanner Laczynski VGK · 5 P in 10 GP Sandis Vilmanis FLA · 5 P in 19 GP Arttu Hyry DAL · 5 P in 20 GP

Career

Regular season games only. Pick a season to see its game log below. Cap hit is what he counted against the salary cap that season, where it is known.

0123452021-22: 3 points321-222022-23: 0 points022-232023-24: 2 points223-242025-26: 5 points525-262026-27: 0 points026-27

Points by season. The darker bar is the season shown below.

Season Team GP G A P +/- PIM Shots Hits P/GP Cap hit
2021-22 ANA 18 1 2 3 0 2 17 19 0.17 $823K
2022-23 ANA 2 0 0 0 0 0 2 0 0.00 $823K
2023-24 ANA 45 0 2 2 -9 22 32 101 0.04 $775K
2025-26 TOR 13 3 2 5 4 0 15 34 0.38 $813K
2026-27 TOR 5 0 0 0 1 2 2 9 0.00 $813K
5 seasons Career 83 4 6 10 -4 26 68 163 0.12

2025-26 season totals

GP G A P +/- PIM Shots Hits P/GP Shooting % Avg TOI
13 3 2 5 4 0 15 34 0.38 20.0 15:42

Contract

$813KCap hitends in 2027
$163KCap dollars per point5 points in 13 games

His cap hit for the whole season, set against what he did in the regular season. Lower is better value. In a season still being played the cost per point starts high and falls as the games add up. He rated at or below a spare-part player, so there is no cost per goal to show.

The contract

Signed by the Toronto Maple Leafs on Jul 1, 2025, as a new contract: 2 years and $1.625M, beginning in 2025-26. It runs through 2026-27, with 1 season left after this one.

Season Cap hit
2025-26 $813K
2026-27 $813K

Each season left on the contract. Only its cap hit and its end are known: how the pay is split by season, and any signing bonus, are not.

Contracts he has signed

Signed Signed by Kind Seasons Years In all Cap hit
Jul 1, 2025 Toronto Maple Leafs New contract 2025-26 to 2026-27 2 $1.625M $813K
Jul 2, 2024 New York Rangers New contract 2024-25 to 2024-25 1 $775K $775K
Jul 14, 2023 Anaheim Ducks New contract 2023-24 to 2023-24 1 $775K $775K
Oct 9, 2019 Anaheim Ducks Entry-level 2020-21 to 2022-23 signed for 2019-20, slid 3 $2.825M $823K

Every contract on record for him, newest first, with the team that signed him to it and the day it was signed. The one covering 2025-26 is marked. An extension is signed while the contract before it is still running, often a year ahead. A row with no team or date is a contract known only by its cap hit, most often one signed since October 2024.

2025-26 analytics

Rating

-0.6Goals above replacementsix goals are worth about one win
-0.1Wins above replacementgoals above replacement divided by six
-1.2Goals above averagethe five parts below added up
Even-strength offence+0.0Even-strength defence-1.3Power play0.0Penalty kill-0.1Penalties+0.2

The goals he added to his team's goal difference, compared with a spare-part player given the same ice time. Each part is measured against the league, so zero is an average skater. A full season is about two-thirds the player and one-third chance. He has played fewer than 20 games, too few to be ranked.

-4-3-2-1012021-222022-232023-242025-262026-27Goals above replacementGoals above replacement, by season

On the ice

What happened at five-on-five while he was on the ice. What these numbers mean

34.8Corsi for %104 attempts for, 195 against
-9.5CF% relative to teamagainst the team without him
35.2Expected goals for %5.2 expected for, 9.6 against
-5.7xGF% relative to teamagainst the team without him
32.3Fenwick for %unblocked attempts
57.1Goals for %8 for, 6 against
111.2PDO17.8% shooting + 93.4% saves
25Attempts takenhis own shot attempts

These are left plain: he has not been on the ice enough to be ranked. That takes at least 200 shot attempts with him out there, about six or seven games, and a quarter of what the busiest skater has. Over a game or two these numbers are mostly chance.

Who he played with

Forward lineGPTimeCF%xGF%Goals
Dakota Joshua · Bo Groulx · Nick Robertson738:5842.337.93-1
Dakota Joshua · Bo Groulx · Matias Maccelli529:3338.639.12-2
Bo Groulx · Matias Maccelli · Matthew Knies311:336.70.00-1
Bo Groulx · Nick Robertson · Matias Maccelli411:2544.455.41-1

The lines he spent the most time in at five-on-five, with the team's share of the shot attempts and expected goals, and the goals for and against, while they were out. The two shares are coloured as above, against the league's lines that played a fair amount together. Hover over one for its percentile.

Chances and finishing

Expected goals adds up how likely each of his shots was to go in, judged by where it came from, what kind of shot it was and whether it was a rebound. All situations, leaving out shots at an empty net.

3Goalsnot counting empty-netters
1.8Expected goalsfrom 22 unblocked attempts
+1.2Goals above expectedgoals minus expected goals
Chances created 0.54 expected goals per 60 minutes10th
Shot quality 8.3% chance per attempt52nd
Finishing +1.2 goals above expected70thOne season of finishing is mostly luck.

Each bar shows the share of forwards he is ahead of, among the 444 who played 300 minutes or more this season.

0123Goals 3Expected 1.8

His goals and his expected goals as the season went on. When the goals line pulls away above, he is scoring more than his chances were worth; below, less.

Where he shot from

Every attempt he took this season, in all situations, attacking the net on the right. There is a dot for each attempt, bigger for a better chance. "Show as heat map" shades the ice by where the attempts came from. Click a goal for its details.

Game log

Date Opponent Result G A P +/- PIM Shots Hits TOI
Apr 8, 2026 vs WSH L 0-4 0 0 0 0 0 0 0 13:58
Apr 4, 2026 @ LAK L 6-7 (OT) 0 0 0 1 0 1 2 15:48
Apr 2, 2026 @ SJS L 1-4 0 0 0 -2 0 0 3 15:11
Mar 30, 2026 @ ANA W 5-4 (OT) 0 0 0 0 0 2 3 19:34
Mar 25, 2026 vs NYR W 4-3 0 0 0 0 0 0 2 13:56
Mar 24, 2026 @ BOS W 4-2 0 0 0 1 0 1 2 15:43
Mar 21, 2026 @ OTT L 2-5 0 0 0 -2 0 1 2 13:39
Mar 20, 2026 vs CAR L 3-4 (OT) 0 1 1 1 0 3 2 15:53
Mar 17, 2026 vs NYI L 1-3 0 1 1 1 0 0 3 12:13
Mar 15, 2026 @ MIN W 4-2 2 0 2 2 0 2 1 17:03
Mar 14, 2026 @ BUF L 2-3 (SO) 0 0 0 1 0 2 5 19:08
Mar 12, 2026 vs ANA W 6-4 1 0 1 1 0 1 3 17:41
Mar 10, 2026 @ MTL L 1-3 0 0 0 0 0 2 6 14:13