Hockey Terminal
Be a GM

← All players

Photo of Kaapo Kakko

Kaapo Kakko

#84 · Right wing · Seattle Kraken

Born Feb 13, 2001 in Turku, FIN (age 25) · 6'1", 215 lb · Shoots left · Drafted 2nd overall in 2019 by NYR (round 1)

Compare with a similar player

The forwards closest to him in points in 2019-20. Pick one to see the two side by side, or choose someone else.

Blake Lizotte LAK · 23 P in 65 GP Tyson Jost COL · 23 P in 67 GP Kirby Dach CHI · 23 P in 64 GP Miles Wood NJD · 23 P in 68 GP Patrick Maroon TBL · 23 P in 64 GP

Career

Regular season games only. Pick a season to see its game log below. Cap hit is what he counted against the salary cap that season, where it is known.

0102030402019-20: 23 points2319-202020-21: 17 points1720-212021-22: 18 points1821-222022-23: 40 points4022-232023-24: 19 points1923-242024-25: 44 points4424-252025-26: 40 points4025-262026-27: 6 points626-27

Points by season. The darker bar is the season shown below.

Season Team GP G A P +/- PIM Shots Hits P/GP Cap hit
2019-20 NYR 66 10 13 23 -26 14 109 20 0.35 $925K
2020-21 NYR 48 9 8 17 3 10 81 14 0.35 $925K
2021-22 NYR 43 7 11 18 9 10 62 8 0.42 $925K
2022-23 NYR 82 18 22 40 12 8 125 26 0.49 $2.1M
2023-24 NYR 61 13 6 19 6 24 91 26 0.31 $2.1M
2024-25 NYR 30 4 10 14 9 14 45 23 0.47 $2.4M
2024-25 SEA 49 10 20 30 -11 24 72 45 0.61
2025-26 SEA 65 13 27 40 14 14 78 30 0.62 $4.525M
2026-27 SEA 6 2 4 6 3 0 5 4 1.00 $4.525M
8 seasons Career 450 86 121 207 19 118 668 196 0.46

Playoffs

Playoff games only. Pick a season to see that year's bracket.

Season Team GP G A P +/- PIM Shots Hits P/GP
2019-20 NYR 3 0 0 0 -1 0 6 0 0.00
2021-22 NYR 19 2 3 5 1 2 27 8 0.26
2022-23 NYR 7 1 1 2 1 0 8 3 0.29
2023-24 NYR 15 1 1 2 -4 0 19 20 0.13
4 seasons Playoffs 44 4 5 9 -3 2 60 31 0.20

2019-20 season totals

GP G A P +/- PIM Shots Hits P/GP Shooting % Avg TOI
66 10 13 23 -26 14 109 20 0.35 9.2 14:17

Contract

$925KCap hitends in 2022, then RFA
$40KCap dollars per point23 points in 66 games
-$3.3MWorth at the going ratewhat teams paid for a season like his
-$4.2MValueworth minus cap hit; below zero is overpaid

His cap hit for the whole season, set against what he did in the regular season. Lower is better value. In a season still being played the cost per point starts high and falls as the games add up. He rated at or below a spare-part player, so there is no cost per goal to show. Value is coloured by where it ranks among the 668 ranked skaters whose contract is known. How value is worked out.

The contract

Signed by the New York Rangers on Jul 11, 2019, as an entry-level contract: 3 years and $10.725M, beginning in 2019-20. It runs through 2021-22, with 2 seasons left after this one, and he is then a restricted free agent.

Season Cap hit Base salary Signing bonus Performance bonuses Paid in all Clause
2019-20 $925K $833K $93K $2.65M $925K
2020-21 $925K $833K $93K $2.65M $925K
2021-22 $925K $833K $93K $2.65M $925K

Each season of the contract, with this one marked. The cap hit is the same every year; what he is paid is not. The pay is as written when the contract was recorded in October 2024, so a later change, such as the rise in the lowest salary for 2026-27, is not shown.

Contracts he has signed

Signed Signed by Kind Seasons Years In all Cap hit
Jul 22, 2025 Seattle Kraken New contract 2025-26 to 2027-28 3 $13.575M $4.525M
Jun 13, 2024 New York Rangers Extension 2024-25 to 2024-25 1 $2.4M $2.4M
Jul 28, 2022 New York Rangers New contract 2022-23 to 2023-24 2 $4.2M $2.1M
Jul 11, 2019 New York Rangers Entry-level 2019-20 to 2021-22 3 $10.725M $925K

Every contract on record for him, newest first, with the team that signed him to it and the day it was signed. The one covering 2019-20 is marked. An extension is signed while the contract before it is still running, often a year ahead. A row with no team or date is a contract known only by its cap hit, most often one signed since October 2024.

2019-20 playoff analytics

Regular season Playoffs

Rating

+0.3Goals above replacementsix goals are worth about one win
+0.0Wins above replacementgoals above replacement divided by six
+0.1Goals above averagethe five parts below added up
Even-strength offence-0.3Even-strength defence+0.3Power play-0.1Penalty kill0.0Penalties+0.3

The goals he added to his team's goal difference, compared with a spare-part player given the same ice time. Each part is measured against the league, so zero is an average skater. A full season is about two-thirds the player and one-third chance. A playoff run is too short to rank anyone on. Before 2023-24 the NHL timed events less exactly, and differently from rink to rink, so expected goals for this season are rougher than for recent ones.

-505102019-202020-212021-222022-232023-242024-252025-262026-27Goals above replacementGoals above replacement, by season

On the ice

What happened at five-on-five while he was on the ice. What these numbers mean

53.9Corsi for %48 attempts for, 41 against
+12.8CF% relative to teamagainst the team without him
46.8Expected goals for %1.2 expected for, 1.4 against
+4.5xGF% relative to teamagainst the team without him
51.5Fenwick for %unblocked attempts
33.3Goals for %1 for, 2 against
95.3PDO4.0% shooting + 91.3% saves
9Attempts takenhis own shot attempts

These are left plain: he has not been on the ice enough to be ranked. That takes at least 200 shot attempts with him out there, about six or seven games, and a quarter of what the busiest skater has. Over a game or two these numbers are mostly chance.

Who he played with

Forward lineGPTimeCF%xGF%Goals
Chris Kreider · Ryan Strome · Kaapo Kakko217:0163.258.01-1
Ryan Strome · Artemi Panarin · Kaapo Kakko210:4750.033.40-1
Artemi Panarin · Filip Chytil · Kaapo Kakko12:0666.767.20-0
Mika Zibanejad · Artemi Panarin · Kaapo Kakko22:0333.335.90-0

The lines he spent the most time in at five-on-five, with the team's share of the shot attempts and expected goals, and the goals for and against, while they were out. The two shares are coloured as above, against the league's lines that played a fair amount together. Hover over one for its percentile.

Chances and finishing

Expected goals adds up how likely each of his shots was to go in, judged by where it came from, what kind of shot it was and whether it was a rebound. All situations, leaving out shots at an empty net. Before 2023-24 the NHL timed events less exactly, and differently from rink to rink, so expected goals for this season are rougher than for recent ones.

0Goalsnot counting empty-netters
0.3Expected goalsfrom 8 unblocked attempts
-0.3Goals above expectedgoals minus expected goals
Chances created 0.37 expected goals per 60 minutes6th
Shot quality 3.7% chance per attempt1st
Finishing -0.3 goals above expected51stOne season of finishing is mostly luck.

Each bar shows the share of forwards he is ahead of, among the 106 who played at least a quarter as much as the busiest in these playoffs.

00.20.40.60.81Expected 0.3Goals 0

His goals and his expected goals as the season went on. When the goals line pulls away above, he is scoring more than his chances were worth; below, less.

Where he shot from

Every attempt he took in these playoffs, in all situations, attacking the net on the right. There is a dot for each attempt, bigger for a better chance. "Show as heat map" shades the ice by where the attempts came from. Click a goal for its details.

Game log

Date Opponent Result G A P +/- PIM Shots Hits TOI
Mar 11, 2020 @ COL L 2-3 (OT) 0 0 0 0 0 3 1 10:36
Mar 10, 2020 @ DAL W 4-2 2 0 2 1 0 3 0 11:22
Mar 7, 2020 vs NJD L 4-6 0 0 0 -1 0 0 0 13:41
Mar 5, 2020 vs WSH W 6-5 (OT) 0 1 1 -3 0 1 0 11:12
Mar 3, 2020 vs STL L 1-3 0 0 0 0 0 2 0 13:55
Mar 1, 2020 vs PHI L 3-5 0 0 0 -1 0 1 1 09:20
Feb 28, 2020 @ PHI L 2-5 0 0 0 0 0 3 0 14:51
Feb 27, 2020 @ MTL W 5-2 0 0 0 1 0 3 0 14:16
Feb 25, 2020 @ NYI W 4-3 (OT) 0 0 0 0 0 1 0 12:17
Feb 22, 2020 vs SJS W 3-2 0 0 0 0 0 2 0 12:45
Feb 21, 2020 @ CAR W 5-2 0 0 0 -1 0 0 0 10:29
Feb 19, 2020 @ CHI W 6-3 0 1 1 0 0 1 1 14:25
Feb 16, 2020 vs BOS L 1-3 0 0 0 -1 0 1 0 11:20
Feb 14, 2020 @ CBJ W 3-1 0 0 0 -1 0 0 1 11:50
Feb 13, 2020 @ MIN W 4-3 (SO) 0 0 0 -1 0 2 0 12:44
Feb 11, 2020 @ WPG W 4-1 0 0 0 -1 2 2 0 11:21
Feb 9, 2020 vs LAK W 4-1 1 0 1 2 0 2 0 11:23
Feb 7, 2020 vs BUF L 2-3 0 1 1 -1 0 4 0 14:29
Feb 5, 2020 vs TOR W 5-3 0 0 0 0 0 2 0 11:24
Feb 3, 2020 vs DAL L 3-5 0 1 1 -1 0 1 0 17:32
Feb 1, 2020 @ DET W 1-0 0 0 0 0 0 2 0 13:10
Jan 31, 2020 vs DET W 4-2 0 0 0 -1 0 3 1 14:10
Jan 21, 2020 vs NYI L 2-4 0 0 0 0 0 3 0 19:33
Jan 19, 2020 vs CBJ L 1-2 0 0 0 0 0 0 1 12:10
Jan 16, 2020 @ NYI W 3-2 0 0 0 0 0 0 2 12:19
Jan 13, 2020 vs NYI W 6-2 0 0 0 0 0 4 0 16:13
Jan 11, 2020 @ STL L 2-5 0 0 0 0 0 0 0 17:30
Jan 9, 2020 vs NJD W 6-3 0 0 0 -1 0 1 1 14:42
Jan 7, 2020 vs COL W 5-3 0 0 0 -1 0 0 0 13:19
Jan 4, 2020 @ VAN L 1-2 0 0 0 -1 0 2 0 13:11
Jan 2, 2020 @ CGY L 3-4 1 1 2 1 2 1 0 12:59
Dec 31, 2019 @ EDM L 5-7 0 0 0 -1 0 0 0 12:33
Dec 28, 2019 @ TOR W 5-4 (OT) 0 0 0 -1 2 0 0 09:09
Dec 27, 2019 vs CAR W 5-3 0 0 0 0 0 1 0 11:14
Dec 20, 2019 vs TOR L 3-6 0 0 0 -3 0 1 1 15:16
Dec 16, 2019 vs NSH L 2-5 0 0 0 -1 0 0 0 11:28
Dec 14, 2019 @ ANA L 3-4 (SO) 0 0 0 0 0 0 0 18:10
Dec 12, 2019 @ SJS W 6-3 0 0 0 2 2 3 0 18:01
Dec 10, 2019 @ LAK L 1-3 0 1 1 0 0 8 0 19:07
Dec 8, 2019 @ VGK W 5-0 0 1 1 1 0 3 1 16:42
Dec 6, 2019 vs MTL L 1-2 0 0 0 0 0 1 0 19:11
Dec 5, 2019 @ CBJ W 3-2 0 1 1 1 0 0 0 15:12
Dec 2, 2019 vs VGK L 1-4 0 0 0 0 2 1 0 17:23
Nov 30, 2019 @ NJD W 4-0 0 1 1 0 0 1 1 16:25
Nov 29, 2019 @ BOS L 2-3 (OT) 0 0 0 0 0 1 0 13:06
Nov 27, 2019 vs CAR W 3-2 0 0 0 0 0 2 0 12:46
Nov 25, 2019 vs MIN W 3-2 (OT) 0 0 0 0 0 2 0 16:16
Nov 23, 2019 @ MTL W 6-5 0 0 0 -3 0 1 0 13:49
Nov 22, 2019 @ OTT L 1-4 0 0 0 0 0 2 0 15:20
Nov 20, 2019 vs WSH W 4-1 0 2 2 0 0 2 0 15:56
Nov 12, 2019 vs PIT W 3-2 (OT) 2 0 2 1 0 3 1 16:38
Nov 10, 2019 vs FLA L 5-6 (SO) 1 0 1 -1 0 1 0 16:14
Nov 7, 2019 @ CAR W 4-2 0 0 0 1 0 4 0 13:53
Nov 6, 2019 vs DET W 5-1 0 0 0 0 0 1 1 19:32
Nov 4, 2019 vs OTT L 2-6 1 1 2 1 0 2 0 17:10
Nov 2, 2019 @ NSH W 2-1 0 0 0 0 0 1 0 14:32
Oct 29, 2019 vs TBL W 4-1 1 0 1 0 2 5 0 15:32
Oct 27, 2019 vs BOS L 4-7 0 0 0 -4 2 2 0 17:35
Oct 24, 2019 vs BUF W 6-2 0 0 0 -2 0 0 2 11:47
Oct 22, 2019 vs ARI L 2-3 (OT) 0 1 1 0 0 0 2 09:51
Oct 20, 2019 vs VAN L 2-3 0 0 0 -2 0 5 0 13:45
Oct 18, 2019 @ WSH L 2-5 0 0 0 -2 0 0 1 15:56
Oct 17, 2019 @ NJD L 2-5 0 0 0 -1 0 2 0 16:13
Oct 12, 2019 vs EDM L 1-4 1 0 1 0 0 1 1 16:49
Oct 5, 2019 @ OTT W 4-1 0 0 0 0 0 0 0 13:54
Oct 3, 2019 vs WPG W 6-4 0 0 0 -1 0 3 0 15:31