| 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 | 3 |
| 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
Total |
59 | 25 | 10 | 15 | +5 | 8 | 1 | 1 | 2 |
MIN
|
42 | 10 | 3 | 7 | +1 | 0 | 0 | 0 | 0 | |
MIN
|
17 | 15 | 7 | 8 | +4 | 8 | 1 | 1 | 2 | |
| NSHL12 |
COL
|
77 | 31 | 14 | 17 | +7 | 10 | 1 | 0 | 0 |
| Farm Career | 385 | 144 | 69 | 75 | +8 | 69 | 9 | 1 | 11 | |
| 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 | 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 | |
COL
MTL
MTL
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)
DAL→
TOR
DAL Eric Tangradi (65), Jack Johnson (70), Justin Braun (67)
TOR Andrei Markov (72), Jim O'Brien (64)
TOR→
MIN
MIN Jim O'Brien (64), Y14 R5 MIN pick
TOR Alex Tanguay (71), Y14 R6 PHI pick (JORDAN SUBBAN)
COL
MIN