38 G · 31 A · 349 GP
0.198 P/GP · 1 PPP · 11:08 ATOI

Dallas Stars#22Active
Joel Kiviranta
L · 5′11″ / 185 lb · Shoots L · Vantaa, FIN · Age 30 · Undrafted
Overview
The latest read.
9 points in 51 games in 2025-26. Career: 69 points across 349 games.
The career ledger.
7 G · 7 A · 56 GP
0.250 P/GP · 1 PPP · 11:34 ATOI
Last five games.
What this draft slot returns.
Joel Kiviranta was never selected in an NHL Entry Draft, so there is no slot to price. Undrafted careers are not a slot outcome and the page leaves the comparison empty rather than filling it with a stand-in.
The arc.
Where he stands right now.
Career
Season by season.
| Season | Team | GP | G | A | PTS | +/- | PPP | S |
|---|---|---|---|---|---|---|---|---|
| 2025-26 | Colorado Avalanche | 51 | 3 | 6 | 9 | +7 | 0 | 50 |
| 2024-25Peak | Colorado Avalanche | 79 | 16 | 7 | 23 | +15 | 0 | 84 |
| 2023-24 | Colorado Avalanche | 56 | 3 | 6 | 9 | -1 | 0 | 48 |
| 2022-23 | Dallas Stars | 70 | 8 | 1 | 9 | -9 | 0 | 85 |
| 2021-22 | Dallas Stars | 56 | 1 | 6 | 7 | -6 | 0 | 59 |
| 2020-21 | Dallas Stars | 26 | 6 | 5 | 11 | +3 | 1 | 31 |
| 2019-20 | Dallas Stars | 11 | 1 | 0 | 1 | -1 | 0 | 13 |
| Season | Team | GP | G | A | PTS | +/- | PPP | S |
|---|---|---|---|---|---|---|---|---|
| 2025-26 | Colorado Avalanche | 5 | 0 | 0 | 0 | +4 | 0 | 5 |
| 2024-25 | Colorado Avalanche | 7 | 0 | 0 | 0 | 0 | 0 | 9 |
| 2023-24 | Colorado Avalanche | 8 | 1 | 1 | 2 | +3 | 0 | 7 |
| 2022-23 | Dallas Stars | 15 | 1 | 4 | 5 | 0 | 0 | 12 |
| 2021-22 | Dallas Stars | 7 | 0 | 1 | 1 | -2 | 0 | 5 |
| 2019-20 | Dallas Stars | 14 | 5 | 1 | 6 | +7 | 1 | 21 |
The same numbers, in the league that produced them.
2020-21 is the best season either way: 0.423 raw, 0.432 once the league it happened in is levelled out.
| Season | GP | Raw P/GP | League GF/gm | Adj. P/GP |
|---|---|---|---|---|
| 2025-26 | 51 | 0.176 | 3.13 | 0.169 |
| 2024-25 | 79 | 0.291 | 3.04 | 0.287 |
| 2023-24 | 56 | 0.161 | 3.11 | 0.155 |
| 2022-23 | 70 | 0.129 | 3.18 | 0.121 |
| 2021-22 | 56 | 0.125 | 3.14 | 0.119 |
| 2020-21Best adjusted | 26 | 0.423 | 2.94 | 0.432 |
Method: each season's raw points per game is multiplied by 3.00 ÷ that season's league goals per team-game, taken from the official final standings. Seasons under 20 games are excluded. It levels scoring climate and nothing else (not role, ice time, teammates, schedule or injury), so treat it as one comparison, not a verdict.
Before the NHL.
| Season | League | Team | GP | G | A | PTS |
|---|---|---|---|---|---|---|
| 2025-26 | OG | Finland | 5 | 2 | 0 | 2 |
| 2023-24 | AHL | Colorado Eagles | 10 | 2 | 4 | 6 |
| 2019-20 | AHL | Texas Stars | 48 | 12 | 11 | 23 |
| 2018-19 | EHT | Finland | 3 | 0 | 0 | 0 |
| 2018-19 | Liiga | Sport | 48 | 16 | 15 | 31 |
| 2018-19 | WC | Finland | 9 | 2 | 1 | 3 |
| 2017-18 | Liiga | Sport | 59 | 19 | 18 | 37 |
| 2016-17 | Liiga | Sport | 58 | 11 | 10 | 21 |
| 2015-16 | Liiga | Sport | 48 | 6 | 6 | 12 |
| 2015-16 | Mestis | Hermes | 1 | 0 | 1 | 1 |
| 2015-16 | U20 SM-liiga | Sport U20 | 1 | 1 | 1 | 2 |
| 2015-16 | Liiga | Sport | 2 | 0 | 0 | 0 |
| 2014-15 | Jr. A SM-liiga | Sport U20 | 6 | 5 | 0 | 5 |
| 2014-15 | Liiga | Sport | 47 | 8 | 5 | 13 |
| 2013-14 | Jr. A SM-liiga | Jokerit U20 | 38 | 18 | 19 | 37 |
| 2013-14 | Jr. B SM-sarja | Jokerit U18 | 2 | 1 | 2 | 3 |
| 2013-14 | Liiga | Jokerit | 1 | 0 | 0 | 0 |
| 2013-14 | WJC-18 | Finland U18 | 5 | 1 | 0 | 1 |
| 2013-14 | Hlinka Gretzky Cup | Finland U18 | 4 | 2 | 1 | 3 |
| 2013-14 | Jr. A SM-liiga | Jokerit U20 | 4 | 0 | 0 | 0 |
| 2013-14 | Jr. B SM-sarja | Jokerit U18 | 9 | 2 | 6 | 8 |
| 2012-13 | Jr. A SM-liiga | Jokerit U20 | 40 | 7 | 13 | 20 |
| 2012-13 | Jr. B SM-sarja | Jokerit U18 | 1 | 1 | 0 | 1 |
| 2012-13 | WHC-17 | Finland U17 | 5 | 2 | 2 | 4 |
Showing the 24 most recent pre-NHL rows of 36.
The comparable set.
Selection rule. Forwards only; career games played within ±20% of 349 (or ±10 games, whichever band is wider: 279 to 419); then the five nearest by career P/GP, ties broken by the closest games played. The pool is the 1,162 players in this site's NHL dossier set who own at least one official regular-season game: 91 of them cleared the band.
Similar career shape is not similar player. The rule matches volume and rate only; it knows nothing about era, position within the group, usage or role, and two careers can land on the same line for opposite reasons.
Game log
Compare observed minutes, shots and finishing across game windows →
Official game ledger
Every 2025-26 appearance.
Insights
NHL Edge tracking.
136.6 km/h equivalent · league average 83.6 mph
37.4 km/h equivalent · league average 22.2 mph
90.0 mi equivalent · league average 198.8 km
2.4 mi equivalent · league average 4.7 km
league average 75.2
Where the shift was spent
league average 43.1
league average 16.8
league average 40.1
Shots on goal, by location
league average 85.9 shots
league average 31.6 shots
Method: every figure and every percentile on this panel is published by the NHL Edge endpoint. This site converts nothing and ranks nothing. The percentile column is the league's own, against the tracked population for 2025-26. Speeds arrive in mph and km/h; distance is read in kilometres with the mile conversion stated beside it. Tracked seasons on file for this player: 2021-22, 2022-23, 2023-24, 2024-25, 2025-26.
The shot map.
Hover, tap or focus an area for its exact figures. Net at the top; left and right as the shooter sees them.
Method: 50 shots on goal in 2025-26, placed by the NHL into the areas it names; each area is shaded by its share of his total, so this map is his distribution and not a comparison to any other player. The percentile column is the league's own for shots from that area, where it publishes one; nothing is converted, ranked or combined. Areas as the NHL names them; the drawing is to rink proportion with the net at the top.
Opponent atlas.
Career volume leaders
Best points-per-game matchups
Frozen from the local NHL AI Opponent Atlas. These are descriptive career splits through the source snapshot, not a projection of the next matchup and not evidence that the opponent caused the result.
Against the goaltenders.
200 shots on goal against 62 goaltenders, 20 goals: 10.0% overall, against a league baseline of 10.2%. 1 of those goaltenders have seen the 20 shots a rate is published on below.
Best against: minimum 20 shots on goal
| Goaltender | SOG | G | SH% | Top shot |
|---|---|---|---|---|
| Jake OettingerDAL | 20 | 2 | 10.0% | wrist |
Worst against: same 20-shot minimum
| Goaltender | SOG | G | SH% | Top shot |
|---|---|---|---|---|
| Jake OettingerDAL | 20 | 2 | 10.0% | wrist |
Method: every shot is attributed to the goaltender the feed says was in the net (details.goalieInNetId). Blocked shots and empty-net events are both excluded, the first because the puck never reached a goaltender and the second because there was none to charge. Shooting percentage is goals divided by shots on goal, the league definition. The league baseline of 10.2% beside each rate is computed from the same 241,107 shots this dataset counted, so the two figures are measured the same way. A 20-shot minimum is a small sample by any standard and these boards will move; they are a record of what has happened, not a prediction of what will.
The source receipt.
Career, season, game-log, bio, draft and award rows come from official NHL endpoints. Redraft is a separate hindsight model with its own snapshot clock. Pressure is a descriptive Gamelogs layer. Development Trails uses its own declared clock. Missing evidence stays unavailable rather than being drawn as zero.
Official endpoint: player landing.