| Season | Team | League | GP | G | A | Pts | PPG | NCAAe-PPG | Age-Adj | D3e-PPG | Age-Adj |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 2011-12 | Ässät U20 | SM-Liiga-Jr | 48 | 13 | 22 | 35 | 0.729 | 0.3952 | 0.3911 | 1.1028 | 1.0913 |
| 2012-13 | Dubuque Fighting Saints | USHL | 60 | 5 | 28 | 33 | 0.550 | 0.3244 | 0.3099 | 1.6519 | 1.5780 |
| 2017-18 | Sport | Liiga | 57 | 0 | 16 | 16 | 0.281 | 0.7017 | 0.7581 | 2.4129 | 2.6070 |
| 2018-19 | Sport | Liiga | 47 | 4 | 14 | 18 | 0.383 | 0.9575 | 0.9987 | 3.2923 | 3.4341 |
| 2019-20 | Sport | Liiga | 55 | 2 | 11 | 13 | 0.236 | 0.5910 | 0.5910 | 2.0321 | 2.0321 |
| 2020-21 | — | Liiga | 26 | 0 | 2 | 2 | 0.077 | 0.1922 | 0.1922 | 0.6610 | 0.6610 |
| Season | School | Div | Conference | Year | GP | G | A | Pts | PPG |
|---|---|---|---|---|---|---|---|---|---|
| 2016-17 | St. Cloud State | D1 | NCHC | SR | 28 | 1 | 9 | 10 | 0.357 |
| 2015-16 | St. Cloud State | D1 | NCHC | JR | 39 | 2 | 21 | 23 | 0.590 |
| 2014-15 | St. Cloud State | D1 | NCHC | SO | 34 | 0 | 7 | 7 | 0.206 |
| 2013-14 | St. Cloud State | D1 | NCHC | FR | 35 | 2 | 6 | 8 | 0.229 |
How to read this: NCAAe and D3e factors convert a player's junior PPG into expected NCAA scoring at the D1 or D3 level. Harder conferences → lower projected PPG for the same player. A strong junior player (e.g. USHL 0.90 PPG) will project much higher in NESCAC than Big Ten because the D3 scoring environment is lower-difficulty.
Strength factor: conferences above 1.0 are harder than average; below 1.0 are easier. The formula is: Base NCAAe PPG ÷ Conference Strength = Projected PPG.