| Season | Team | League | GP | G | A | Pts | PPG | NCAAe-PPG | Age-Adj | D3e-PPG | Age-Adj |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 2014-15 | Frölunda HC U20 | SuperElit | 1 | 0 | 0 | 0 | 0.000 | — | — | — | — |
| 2015-16 | Frölunda HC U20 | SHL-J20 | 10 | 2 | 2 | 4 | 0.400 | 0.2221 | 0.2341 | 0.5325 | 0.5612 |
| 2016-17 | Örebro HK U20 | SuperElit | 43 | 9 | 29 | 38 | 0.884 | 0.3487 | 0.3540 | 1.2175 | 1.2361 |
| 2017-18 | Tri-City Storm | USHL | 58 | 10 | 12 | 22 | 0.379 | 0.2237 | 0.2151 | 1.1382 | 1.0944 |
| 2018-19 | Tri-City Storm | USHL | 62 | 14 | 38 | 52 | 0.839 | 0.4947 | 0.4501 | 2.5167 | 2.2899 |
| 2025-26 | IF Troja-Ljungby | Allsvenskan | 49 | 6 | 14 | 20 | 0.408 | 1.0205 | 1.0036 | 3.8277 | 3.7641 |
| Season | School | Div | Conference | Year | GP | G | A | Pts | PPG |
|---|---|---|---|---|---|---|---|---|---|
| 2023-24 | Merrimack | D1 | HockeyEast | GR | 35 | 5 | 13 | 18 | 0.514 |
| 2022-23 | Merrimack | D1 | HockeyEast | SR | 37 | 6 | 10 | 16 | 0.432 |
| 2021-22 | Merrimack | D1 | HockeyEast | JR | 33 | 11 | 16 | 27 | 0.818 |
| 2020-21 | Merrimack | D1 | HockeyEast | SO | 18 | 4 | 9 | 13 | 0.722 |
| 2019-20 | Merrimack | D1 | NE10 | — | 0 | 0 | 0 | 0 | 0.000 |
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.