| 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 · 4 yr |
| NSHL16 | Signing | MTL |
$500,000 · 1 yr |
| 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 · 3 yr |
| NSHL10 | Signing | MIN |
$1 · 1 yr |