Jonas Brodin
#25 · Defence · Minnesota Wild
Born Jul 12, 1993 in Karlstad, SWE (age 33) · 6'2", 196 lb · Shoots left · Drafted 10th overall in 2011 by MIN (round 1)
Compare with a similar player
The defencemen closest to him in points in 2016-17. Pick one to see the two side by side, or choose someone else.
Calvin de Haan
NYI ·
25 P in 82 GP
Sami Vatanen
ANA ·
24 P in 71 GP
Troy Stecher
VAN ·
24 P in 71 GP
Ian Cole
PIT ·
26 P in 81 GP
Paul Martin
SJS ·
26 P in 81 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.
Points by season. The darker bar is the season shown below.
| Season | Team | GP | G | A | P | +/- | PIM | Shots | Hits | P/GP | Cap hit |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 2012-13 | MIN | 45 | 2 | 9 | 11 | 3 | 10 | 51 | 17 | 0.24 | $925K |
| 2013-14 | MIN | 79 | 8 | 11 | 19 | 0 | 22 | 74 | 33 | 0.24 | $925K |
| 2014-15 | MIN | 71 | 3 | 14 | 17 | 21 | 8 | 95 | 31 | 0.24 | $925K |
| 2015-16 | MIN | 68 | 2 | 5 | 7 | -5 | 20 | 58 | 34 | 0.10 | $4.167M |
| 2016-17 | MIN | 68 | 3 | 22 | 25 | 5 | 20 | 85 | 20 | 0.37 | $4.167M |
| 2017-18 | MIN | 73 | 6 | 15 | 21 | 23 | 30 | 77 | 34 | 0.29 | $4.167M |
| 2018-19 | MIN | 82 | 4 | 14 | 18 | -15 | 30 | 111 | 61 | 0.22 | $4.167M |
| 2019-20 | MIN | 69 | 2 | 26 | 28 | 15 | 24 | 103 | 41 | 0.41 | $4.167M |
| 2020-21 | MIN | 53 | 9 | 14 | 23 | 2 | 18 | 79 | 35 | 0.43 | $4.167M |
| 2021-22 | MIN | 73 | 5 | 25 | 30 | 9 | 18 | 126 | 42 | 0.41 | $6M |
| 2022-23 | MIN | 60 | 3 | 11 | 14 | 13 | 30 | 90 | 50 | 0.23 | $6M |
| 2023-24 | MIN | 62 | 7 | 20 | 27 | 22 | 16 | 117 | 21 | 0.44 | $6M |
| 2024-25 | MIN | 50 | 4 | 16 | 20 | 10 | 18 | 71 | 27 | 0.40 | $6M |
| 2025-26 | MIN | 62 | 4 | 14 | 18 | 19 | 16 | 76 | 10 | 0.29 | $6M |
| 2026-27 | MIN | 5 | 0 | 0 | 0 | -1 | 6 | 4 | 1 | 0.00 | $6M |
| 15 seasons | Career | 920 | 62 | 216 | 278 | 121 | 286 | 1217 | 457 | 0.30 |
Playoffs
Playoff games only. Pick a season to see that year's bracket.
| Season | Team | GP | G | A | P | +/- | PIM | Shots | Hits | P/GP |
|---|---|---|---|---|---|---|---|---|---|---|
| 2012-13 | MIN | 5 | 0 | 0 | 0 | -3 | 0 | 3 | 7 | 0.00 |
| 2013-14 | MIN | 13 | 0 | 2 | 2 | 3 | 12 | 11 | 9 | 0.15 |
| 2014-15 | MIN | 10 | 0 | 0 | 0 | -2 | 0 | 3 | 8 | 0.00 |
| 2015-16 | MIN | 6 | 1 | 2 | 3 | 3 | 0 | 1 | 2 | 0.50 |
| 2016-17 | MIN | 5 | 0 | 1 | 1 | -3 | 0 | 5 | 1 | 0.20 |
| 2017-18 | MIN | 5 | 0 | 2 | 2 | -3 | 2 | 9 | 2 | 0.40 |
| 2019-20 | MIN | 4 | 0 | 2 | 2 | 1 | 0 | 8 | 3 | 0.50 |
| 2020-21 | MIN | 7 | 0 | 3 | 3 | 0 | 2 | 5 | 13 | 0.43 |
| 2021-22 | MIN | 6 | 1 | 2 | 3 | -2 | 2 | 11 | 1 | 0.50 |
| 2022-23 | MIN | 6 | 0 | 0 | 0 | 1 | 0 | 9 | 9 | 0.00 |
| 2024-25 | MIN | 6 | 0 | 1 | 1 | -1 | 0 | 4 | 6 | 0.17 |
| 2025-26 | MIN | 5 | 0 | 1 | 1 | 2 | 4 | 6 | 2 | 0.20 |
| 12 seasons | Playoffs | 78 | 2 | 16 | 18 | -4 | 22 | 75 | 63 | 0.23 |
2016-17 season totals
| GP | G | A | P | +/- | PIM | Shots | Hits | P/GP | Shooting % | Avg TOI |
|---|---|---|---|---|---|---|---|---|---|---|
| 68 | 3 | 22 | 25 | 5 | 20 | 85 | 20 | 0.37 | 3.5 | 19:34 |
Contract
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. Value is coloured by where it ranks among the 664 ranked skaters whose contract is known. How value is worked out.
The contract
Signed by the Minnesota Wild on Oct 13, 2014, as an extension of the contract he was on: 6 years and $25M, beginning in 2015-16. It runs through 2020-21, with 4 seasons left after this one, and he is then an unrestricted free agent.
| Season | Cap hit | Base salary | Signing bonus | Performance bonuses | Paid in all | Clause |
|---|---|---|---|---|---|---|
| 2015-16 | $4.167M | $2.5M | $0 | $2.5M | ||
| 2016-17 | $4.167M | $4M | $0 | $4M | ||
| 2017-18 | $4.167M | $4.5M | $0 | $4.5M | ||
| 2018-19 | $4.167M | $5.75M | $0 | $5.75M | ||
| 2019-20 | $4.167M | $4.75M | $0 | $4.75M | ||
| 2020-21 | $4.167M | $3.5M | $0 | $3.5M | NMC |
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 |
|---|---|---|---|---|---|---|
| Sep 15, 2020 | Minnesota Wild | Extension | 2021-22 to 2027-28 | 7 | $42M | $6M |
| Oct 13, 2014 | Minnesota Wild | Extension | 2015-16 to 2020-21 | 6 | $25M | $4.167M |
| Jul 13, 2011 | Minnesota Wild | Entry-level | 2012-13 to 2014-15 signed for 2011-12, slid | 3 | $4.425M | $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 2016-17 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.
2016-17 playoff analytics
Rating
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.
On the ice
What happened at five-on-five while he was on the ice. What these numbers mean
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
| Defence pair | GP | Time | CF% | xGF% | Goals |
|---|---|---|---|---|---|
| Nate Prosser · Jonas Brodin | 3 | 19:48 | 75.0 | 86.7 | 0-0 |
| Jonas Brodin · Christian Folin | 2 | 18:00 | 46.2 | 23.8 | 0-1 |
| Marco Scandella · Jonas Brodin | 5 | 11:26 | 66.7 | 61.7 | 1-1 |
| Jonas Brodin · Mathew Dumba | 5 | 11:11 | 68.8 | 88.8 | 0-0 |
The pairs 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 pairs 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.
Each bar shows the share of defencemen he is ahead of, among the 58 who played at least a quarter as much as the busiest in these playoffs.
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 |
|---|---|---|---|---|---|---|---|---|---|---|
| Apr 8, 2017 | @ ARI | W 3-1 | 0 | 0 | 0 | 0 | 0 | 5 | 0 | 20:52 |
| Apr 6, 2017 | @ COL | W 4-3 | 0 | 1 | 1 | 2 | 0 | 1 | 0 | 20:11 |
| Apr 4, 2017 | vs CAR | W 5-3 | 0 | 0 | 0 | 1 | 0 | 4 | 0 | 20:42 |
| Apr 2, 2017 | vs COL | W 5-2 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 18:46 |
| Apr 1, 2017 | @ NSH | L 0-3 | 0 | 0 | 0 | -2 | 0 | 1 | 0 | 20:05 |
| Mar 30, 2017 | vs OTT | W 5-1 | 0 | 1 | 1 | 2 | 0 | 0 | 0 | 22:36 |
| Mar 28, 2017 | vs WSH | L 4-5 (OT) | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 21:11 |
| Mar 26, 2017 | @ DET | L 2-3 (OT) | 0 | 1 | 1 | 2 | 0 | 1 | 1 | 14:00 |
| Mar 25, 2017 | vs VAN | L 2-4 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 19:46 |
| Mar 23, 2017 | vs PHI | L 1-3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 18:04 |
| Mar 21, 2017 | vs SJS | W 3-2 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 17:44 |
| Mar 19, 2017 | @ WPG | L 4-5 | 0 | 1 | 1 | -1 | 0 | 0 | 1 | 17:30 |
| Mar 18, 2017 | vs NYR | L 2-3 | 0 | 0 | 0 | -2 | 0 | 1 | 0 | 15:08 |
| Mar 16, 2017 | @ CAR | L 1-3 | 0 | 0 | 0 | -1 | 0 | 0 | 1 | 15:53 |
| Mar 14, 2017 | @ WSH | L 2-4 | 0 | 0 | 0 | -1 | 0 | 2 | 0 | 19:24 |
| Mar 12, 2017 | @ CHI | L 2-4 | 0 | 0 | 0 | -1 | 2 | 2 | 0 | 18:39 |
| Mar 10, 2017 | @ FLA | W 7-4 | 0 | 2 | 2 | 3 | 0 | 1 | 1 | 16:42 |
| Mar 9, 2017 | @ TBL | L 1-4 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 22:33 |
| Mar 7, 2017 | vs STL | L 1-2 | 0 | 0 | 0 | -2 | 0 | 3 | 0 | 22:07 |
| Mar 5, 2017 | vs SJS | W 3-1 | 0 | 0 | 0 | -1 | 0 | 0 | 0 | 19:24 |
| Mar 2, 2017 | @ CBJ | L 0-1 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 21:01 |
| Feb 28, 2017 | @ WPG | W 6-5 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 23:08 |
| Feb 27, 2017 | vs LAK | W 5-4 (OT) | 0 | 0 | 0 | -1 | 2 | 1 | 0 | 22:04 |
| Feb 21, 2017 | vs CHI | L 3-5 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 17:37 |
| Feb 18, 2017 | vs NSH | W 5-2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 14:55 |
| Jan 17, 2017 | vs NJD | L 3-4 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 09:23 |
| Jan 15, 2017 | @ CHI | W 3-2 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 16:50 |
| Jan 14, 2017 | @ DAL | W 5-4 | 0 | 0 | 0 | -1 | 2 | 1 | 2 | 16:19 |
| Jan 12, 2017 | vs MTL | W 7-1 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 20:44 |
| Jan 8, 2017 | @ ANA | W 2-1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 20:37 |
| Jan 7, 2017 | @ LAK | L 3-4 (OT) | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 17:53 |
| Jan 5, 2017 | @ SJS | W 5-4 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 21:45 |
| Dec 31, 2016 | vs CBJ | L 2-4 | 0 | 0 | 0 | -3 | 0 | 1 | 0 | 18:51 |
| Dec 29, 2016 | vs NYI | W 6-4 | 0 | 1 | 1 | -1 | 0 | 2 | 0 | 18:33 |
| Dec 27, 2016 | @ NSH | W 3-2 (OT) | 0 | 0 | 0 | -1 | 0 | 3 | 0 | 22:01 |
| Dec 23, 2016 | @ NYR | W 7-4 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 19:42 |
| Dec 22, 2016 | @ MTL | W 4-2 | 0 | 0 | 0 | -1 | 0 | 2 | 0 | 20:31 |
| Dec 20, 2016 | vs COL | W 2-0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 22:19 |
| Dec 17, 2016 | vs ARI | W 4-1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 21:32 |
| Dec 15, 2016 | @ NSH | W 5-2 | 1 | 0 | 1 | 1 | 0 | 3 | 0 | 18:28 |
| Dec 13, 2016 | vs FLA | W 5-1 | 0 | 2 | 2 | 1 | 2 | 1 | 0 | 18:14 |
| Dec 11, 2016 | vs STL | W 3-1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 20:05 |
| Dec 9, 2016 | vs EDM | W 3-2 (SO) | 0 | 0 | 0 | 2 | 0 | 1 | 0 | 20:03 |
| Dec 7, 2016 | @ TOR | W 3-2 | 0 | 0 | 0 | -1 | 0 | 1 | 2 | 18:45 |
| Dec 4, 2016 | @ EDM | W 2-1 (OT) | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 23:51 |
| Dec 2, 2016 | @ CGY | L 2-3 (SO) | 0 | 0 | 0 | -1 | 0 | 2 | 0 | 23:26 |
| Nov 29, 2016 | @ VAN | L 4-5 | 0 | 0 | 0 | -1 | 2 | 1 | 1 | 20:56 |
| Nov 26, 2016 | @ STL | L 3-4 (SO) | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 21:24 |
| Nov 25, 2016 | vs PIT | W 6-2 | 0 | 3 | 3 | -2 | 0 | 1 | 1 | 25:07 |
| Nov 23, 2016 | vs WPG | W 3-1 | 1 | 0 | 1 | 0 | 0 | 2 | 0 | 18:57 |
| Nov 21, 2016 | @ DAL | L 2-3 (OT) | 0 | 0 | 0 | -1 | 2 | 2 | 0 | 20:25 |
| Nov 19, 2016 | vs COL | L 2-3 | 0 | 1 | 1 | -1 | 0 | 7 | 0 | 18:38 |
| Nov 17, 2016 | vs BOS | W 1-0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 21:35 |
| Nov 15, 2016 | vs CGY | L 0-1 | 0 | 0 | 0 | 0 | 2 | 2 | 0 | 18:10 |
| Nov 13, 2016 | @ OTT | W 2-1 (OT) | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 22:19 |
| Nov 12, 2016 | @ PHI | L 2-3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 18:14 |
| Nov 10, 2016 | @ PIT | W 4-2 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 21:45 |
| Nov 5, 2016 | @ COL | L 0-1 | 0 | 0 | 0 | 0 | 0 | 4 | 1 | 23:35 |
| Nov 1, 2016 | vs BUF | L 1-2 | 0 | 0 | 0 | -1 | 0 | 2 | 0 | 17:54 |
| Oct 29, 2016 | vs DAL | W 4-0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 22:54 |
| Oct 27, 2016 | @ BUF | W 4-0 | 0 | 0 | 0 | 1 | 2 | 2 | 0 | 23:07 |
| Oct 25, 2016 | @ BOS | W 5-0 | 0 | 0 | 0 | 1 | 0 | 2 | 1 | 19:30 |
| Oct 23, 2016 | @ NYI | L 3-6 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 18:57 |
| Oct 22, 2016 | @ NJD | L 1-2 (OT) | 0 | 0 | 0 | 1 | 2 | 0 | 0 | 17:38 |
| Oct 20, 2016 | vs TOR | W 3-2 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 21:42 |
| Oct 18, 2016 | vs LAK | W 6-3 | 0 | 1 | 1 | 2 | 0 | 0 | 1 | 17:25 |
| Oct 15, 2016 | vs WPG | W 4-3 | 1 | 0 | 1 | 1 | 0 | 3 | 0 | 16:11 |
| Oct 13, 2016 | @ STL | L 2-3 | 0 | 0 | 0 | -1 | 2 | 0 | 0 | 14:21 |