| Season | Team | GP | PTS | G | A | +/− | PIM | PPG | SHG | GWG |
|---|---|---|---|---|---|---|---|---|---|---|
| NSHL24 |
NYR
|
69 | 30 | 9 | 21 | +1 | 56 | 4 | 0 | 1 |
| NSHL22 |
MIN
|
40 | 8 | 4 | 4 | -9 | 18 | 0 | 0 | 0 |
| NSHL21 |
MIN
|
69 | 25 | 11 | 14 | -1 | 20 | 1 | 0 | 0 |
| NSHL20 |
MIN
|
58 | 8 | 3 | 5 | -21 | 16 | 0 | 0 | 0 |
| NSHL19 |
MIN
|
12 | 3 | 1 | 2 | -11 | 0 | 0 | 0 | 0 |
| Career | 248 | 74 | 28 | 46 | -41 | 110 | 5 | 0 | 1 | |
| Season | Team | GP | PTS | G | A | +/− | PIM | PPG | SHG | GWG |
|---|---|---|---|---|---|---|---|---|---|---|
| NSHL21 |
MIN
|
7 | 4 | 1 | 3 | -1 | 0 | 0 | 0 | 1 |
| Season | Team | CK | FG | DI | SK | ST | EN | DU | PH | FO | PA | SC | DF | PS | EX | LD | OV |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| NSHL19 |
MIN
|
72 | 20 | 76 | 66 | 70 | 66 | 65 | 55 | 69 | 61 | 62 | 69 | 60 | 66 | 61 | 65 |
| NSHL20 |
MIN
|
72 | 20 | 76 | 66 | 70 | 66 | 65 | 55 | 69 | 61 | 62 | 69 | 60 | 66 | 61 | 65 |
| NSHL21 |
MIN
|
71 | 20 | 78 | 68 | 87 | 68 | 67 | 57 | 71 | 63 | 63 | 68 | 62 | 68 | 63 | 65 |
| NSHL22 |
MIN
|
70 | 47 | 77 | 67 | 86 | 70 | 69 | 59 | 72 | 65 | 65 | 67 | 64 | 78 | 66 | 65 |
| NSHL24 |
NYR
|
57 | 45 | 81 | 63 | 72 | 75 | 83 | 64 | 79 | 68 | 64 | 69 | 63 | 82 | 77 | 66 |
| Career Avg | 69 | 31 | 78 | 66 | 77 | 69 | 70 | 58 | 72 | 64 | 64 | 69 | 62 | 72 | 66 | 66 | |
| Season | Type | Move | Detail |
|---|---|---|---|
| NSHL25 | Signing | STL |
$550,000 · 1 yr |
| NSHL23 | Release | NJD |
|
| NSHL19 | Trade | TBL→ MIN |
MIN Sergey Kalinin (67), Jonny Brodzinski (62) TBL Y20 R6 MIN pick → Valtteri Puustinen |
| NSHL19 | Signing | TBL |
$500,000 · 4 yr |