| Season | Team | GP | PTS | G | A | +/− | PIM | PPG | SHG | GWG |
|---|---|---|---|---|---|---|---|---|---|---|
| NSHL20 |
MTL
|
49 | 8 | 2 | 6 | +4 | 16 | 0 | 0 | 1 |
| NSHL19 |
MTL
|
80 | 10 | 3 | 7 | -14 | 10 | 0 | 0 | 0 |
| NSHL17 |
MTL
|
80 | 12 | 7 | 5 | +2 | 6 | 0 | 0 | 2 |
| NSHL15 |
MTL
|
29 | 4 | 4 | 0 | +2 | 2 | 0 | 0 | 1 |
| NSHL14 |
MTL
|
65 | 14 | 7 | 7 | -6 | 2 | 0 | 0 | 0 |
| Pro Career | 303 | 48 | 23 | 25 | -12 | 36 | 0 | 0 | 4 | |
| Season | Team | GP | PTS | G | A | +/− | PIM | PPG | SHG | GWG |
|---|---|---|---|---|---|---|---|---|---|---|
| NSHL21 |
COL
|
78 | 40 | 22 | 18 | -6 | 20 | 7 | 0 | 0 |
| NSHL20 |
MTL
|
32 | 11 | 4 | 7 | +9 | 2 | 0 | 0 | 0 |
| NSHL18 |
MTL
|
77 | 21 | 13 | 8 | +2 | 23 | 0 | 0 | 3 |
| NSHL16 |
MTL
|
62 | 16 | 6 | 10 | -9 | 6 | 0 | 0 | 3 |
| NSHL13 |
MIN
|
42 | 10 | 3 | 7 | +1 | 0 | 0 | 0 | 0 |
| NSHL12 |
COL
|
77 | 31 | 14 | 17 | +7 | 10 | 1 | 0 | 0 |
| Farm Career | 385 | 144 | 69 | 75 | +8 | 69 | 9 | 1 | 8 | |
| Season | Team | GP | PTS | G | A | +/− | PIM | PPG | SHG | GWG |
|---|---|---|---|---|---|---|---|---|---|---|
| NSHL20 |
MTL
|
6 | 0 | 0 | 0 | +2 | 0 | 0 | 0 | 0 |
| NSHL19 |
MTL
|
7 | 1 | 0 | 1 | +1 | 0 | 0 | 0 | 0 |
| NSHL17 |
MTL
|
5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| Pro Career | 18 | 1 | 0 | 1 | +3 | 0 | 0 | 0 | 0 | |
| Season | Team | GP | PTS | G | A | +/− | PIM | PPG | SHG | GWG |
|---|---|---|---|---|---|---|---|---|---|---|
| NSHL21 |
COL
|
17 | 16 | 5 | 11 | +4 | 14 | 0 | 0 | 1 |
| NSHL18 |
GSR
|
12 | 4 | 3 | 1 | +2 | 0 | 0 | 0 | 0 |
| NSHL16 |
FAY
|
3 | 1 | 0 | 1 | -2 | 0 | 0 | 0 | 0 |
| NSHL12 |
WHL
|
12 | 3 | 2 | 1 | 0 | 0 | 0 | 0 | 1 |
| Farm Career | 44 | 24 | 10 | 14 | +4 | 14 | 0 | 0 | 2 | |
| Season | Team | CK | FG | DI | SK | ST | EN | DU | PH | FO | PA | SC | DF | PS | EX | LD | OV |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| NSHL12 |
COL
|
62 | 20 | 81 | 70 | 75 | 73 | 73 | 58 | 73 | 62 | 62 | 68 | 58 | 61 | 54 | 62 |
| NSHL13 |
MIN
|
62 | 20 | 81 | 73 | 75 | 73 | 73 | 61 | 76 | 65 | 65 | 69 | 61 | 63 | 57 | 64 |
| NSHL14 |
MTL
|
64 | 20 | 81 | 72 | 75 | 75 | 75 | 63 | 77 | 67 | 66 | 69 | 63 | 64 | 59 | 65 |
| NSHL15 |
MTL
|
64 | 20 | 81 | 72 | 75 | 75 | 75 | 63 | 77 | 67 | 66 | 69 | 63 | 65 | 60 | 65 |
| NSHL16 |
MTL
|
64 | 20 | 81 | 72 | 75 | 75 | 75 | 63 | 77 | 67 | 66 | 69 | 63 | 66 | 61 | 66 |
| NSHL17 |
MTL
|
64 | 20 | 81 | 72 | 75 | 75 | 75 | 63 | 77 | 67 | 66 | 69 | 63 | 67 | 62 | 66 |
| NSHL18 |
MTL
|
64 | 20 | 81 | 72 | 75 | 75 | 75 | 64 | 77 | 67 | 66 | 69 | 64 | 68 | 63 | 79 |
| NSHL19 |
MTL
|
65 | 20 | 81 | 72 | 75 | 75 | 75 | 64 | 79 | 67 | 66 | 69 | 64 | 70 | 65 | 79 |
| NSHL20 |
MTL
|
63 | 20 | 79 | 70 | 73 | 73 | 73 | 62 | 77 | 65 | 64 | 67 | 62 | 71 | 66 | 77 |
| NSHL21 |
COL
|
61 | 20 | 79 | 70 | 75 | 71 | 71 | 63 | 75 | 66 | 64 | 65 | 63 | 72 | 67 | 65 |
| Career Avg | 64 | 20 | 81 | 72 | 75 | 74 | 74 | 63 | 77 | 66 | 66 | 69 | 63 | 67 | 62 | 69 | |
| Season | Type | Move | Detail |
|---|---|---|---|
| NSHL22 | Retirement | COL |
Retired |
| NSHL18 | Signing | MTL |
$500,000 for 4 years |
| NSHL16 | Signing | MTL |
$500,000 for 1 year |
| NSHL13 | Trade | TBL→ DAL |
DAL Jim O'Brien (62), Patrick O'Sullivan (67), Rostislav Klesla (68), Kaspars Daugavins (63), Justin Abdelkader (67), Y13 R1 MIN pick (Hunter Shinkaruk) TBL Y13 R1 BOS pick (Rasmus Ristolainen), Y13 R4 STL pick (Nick Cousins), Y13 R2 CGY pick (Daniil Zharkov) |
| NSHL13 | Trade | DAL→ TOR |
DAL Eric Tangradi (65), Jack Johnson (70), Justin Braun (67) TOR Andrei Markov (72), Jim O'Brien (64) |
| NSHL13 | Trade | TOR→ MIN |
MIN Jim O'Brien (64), Y14 R5 MIN pick TOR Alex Tanguay (71), Y14 R6 PHI pick (JORDAN SUBBAN) |
| NSHL12 | Signing | COL |
$700,000 for 3 years |
| NSHL10 | Signing | MIN |
$1 for 1 year |