
| 2010-11 | NAHL | Alaska Avalanche | 29 | 1 | 5 | 6 | -5 | - | - | 8 |
| 2011-12 | NAHL | Alaska Avalanche | 56 | 1 | 19 | 20 | 2 | - | - | 14 |
| 2012-13 | NAHL | Johnstown Tomahawks | 56 | 10 | 22 | 32 | -6 | - | - | 42 |
| 2013-14 | WCHA | Minnesota State | 19 | 1 | 4 | 5 | - | - | - | 6 |
| 2014-15 | WCHA | Minnesota State | 40 | 7 | 26 | 33 | 19 | - | - | 16 |
| 2015-16 | NHL | Buffalo Sabres | 7 | 0 | 4 | 4 | 1 | 5 | 0.0% | 8 |
| 2015-16 | NCAA | Minnesota State Univ. (Mankato) | 40 | 6 | 16 | 22 | 14 | - | - | 22 |
| 2016-17 | NHL | Buffalo Sabres | 11 | 0 | 0 | 0 | -3 | 10 | 0.0% | 4 |
| 2016-17 | AHL | Rochester Americans | 58 | 7 | 14 | 21 | -10 | - | - | 24 |
| 2017-18 | NHL | Buffalo Sabres | 37 | 3 | 5 | 8 | -14 | 48 | 6.3% | 8 |
| 2017-18 | AHL | Rochester Americans | 40 | 2 | 9 | 11 | 14 | - | - | 16 |
| 2018-19 | NHL | Buffalo Sabres | 38 | 1 | 5 | 6 | 1 | 37 | 2.7% | 13 |
| 2018-19 | AHL | Rochester Americans | 5 | 0 | 1 | 1 | -1 | - | - | 4 |
| 2019-20 | AHL | Rochester Americans | 48 | 4 | 8 | 12 | 18 | - | - | 10 |
| NHL Totals | – | 93 | 4 | 14 | 18 | -15 | 100 | 4.0% | 33 | |
| AHL Totals | – | 151 | 13 | 32 | 45 | 21 | - | - | 54 | |
| Juniors Totals | – | 40 | 6 | 16 | 22 | 14 | - | - | 22 | |
| 2012-13 | NAHL | Johnstown Tomahawks | 2 | 0 | 0 | 0 | -1 | - | - | 0 |
| 2017-18 | AHL | Rochester Americans | 1 | 0 | 0 | 0 | -2 | - | - | 0 |
| AHL Totals | – | 1 | 0 | 0 | 0 | -2 | - | - | 0 | |
| Season | Opponent | Date | G | A | P | +/- | PIM | PPG | SHG | S | Shifts | TOI |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Regular | @ DET | Apr 6 | 0 | 1 | 1 | 2 | 0 | 0 | 0 | 0 | 23 | 18:43 |
| Regular | vs OTT | Apr 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 21 | 15:32 |
| Regular | vs NSH | Apr 2 | 0 | 0 | 0 | -1 | 0 | 0 | 0 | 1 | 19 | 16:59 |
| Regular | vs CBJ | Mar 31 | 0 | 0 | 0 | -2 | 0 | 0 | 0 | 2 | 21 | 18:50 |
| Regular | @ NYI | Mar 30 | 0 | 0 | 0 | -2 | 0 | 0 | 0 | 1 | 25 | 21:02 |