Fantasy Hockey Trade Analyzer
Add the players you would give and the players you would get. Each one is valued from the model's season board for every skater and goalie, scaled to the games his team has left, as the fantasy points he should still score minus those of the last starter at his position in your league. Two good starters do not add up to a star when one of them sits on your bench, and this is how the analyzer accounts for that.
922 players valued for a 12-team Points league.
Updated
You give
0 valueYou get
0 valueAdd players to both sides to see the verdict.
Values are rest-of-season pts above a replacement starter in a 12-team league.
Trade value chart
The top 100 by trade value in a 12-team Points league: rest-of-season pts minus the replacement starter at the same position. Change the scoring or league size in the analyzer above.
| # | Player | Pos | Team | Games left | ROS pts | Trade value |
|---|---|---|---|---|---|---|
| 1 | Nathan MacKinnon | C | COL | 72.3 | 1511.2 | 669 |
| 2 | Nikita Kucherov | RW | TBL | 70.4 | 1345.2 | 636 |
| 3 | Evan Bouchard | D | EDM | 73.2 | 1069.4 | 628 |
| 4 | Zach Werenski | D | CBJ | 73.2 | 1032.4 | 591 |
| 5 | Connor McDavid | C | EDM | 68.5 | 1425.8 | 584 |
| 6 | Jeremy Swayman | G | BOS | 63.9 | 1130.2 | 551 |
| 7 | Kyle Connor | LW | WPG | 73.2 | 1223.2 | 540 |
| 8 | Cale Makar | D | COL | 70.4 | 964.8 | 524 |
| 9 | David Pastrnak | RW | BOS | 72.3 | 1229.2 | 520 |
| 10 | Jason Robertson | LW | DAL | 73.2 | 1120.6 | 437 |
| 11 | Andrei Vasilevskiy | G | TBL | 60.1 | 991.6 | 412 |
| 12 | Alex DeBrincat | RW | DET | 73.2 | 1120.6 | 411 |
| 13 | Quinn Hughes | D | MIN | 64.9 | 836.9 | 396 |
| 14 | Macklin Celebrini | C | SJS | 69.5 | 1223 | 381 |
| 15 | Brandon Hagel | LW | TBL | 69.5 | 1056.2 | 373 |
| 16 | Ilya Sorokin | G | NYI | 55.4 | 947.4 | 368 |
| 17 | Cole Caufield | RW | MTL | 73.2 | 1076.7 | 367 |
| 18 | Artemi Panarin | LW | LAK | 73.2 | 1047 | 364 |
| 19 | Rasmus Dahlin(out) | D | BUF | 65.8 | 796.2 | 355 |
| 20 | Matt Boldy | LW | MIN | 70.4 | 1035.5 | 352 |
| 21 | Leon Draisaitl | C | EDM | 63.9 | 1194.1 | 352 |
| 22 | William Nylander | RW | TOR | 66.7 | 1047.7 | 338 |
| 23 | Logan Thompson | G | WSH | 54.5 | 909.5 | 330 |
| 24 | Erik Karlsson | D | PIT | 71.4 | 756.5 | 316 |
| 25 | Clayton Keller | RW | UTA | 72.3 | 1019.3 | 310 |
| 26 | Lane Hutson | D | MTL | 73.2 | 747.1 | 306 |
| 27 | Filip Forsberg | LW | NSH | 73.2 | 988.8 | 306 |
| 28 | Jakob Chychrun | D | WSH | 70.4 | 746.5 | 306 |
| 29 | Juuse Saros | G | NSH | 62.9 | 880.8 | 302 |
| 30 | Karel Vejmelka | G | UTA | 58.4 | 870 | 291 |
| 31 | Darren Raddysh | D | TOR | 66.7 | 720.7 | 280 |
| 32 | Cutter Gauthier | LW | ANA | 72.3 | 961.5 | 278 |
| 33 | Jake Oettinger | G | DAL | 52.6 | 857.1 | 278 |
| 34 | Jack Eichel | C | VGK | 67.7 | 1110 | 268 |
| 35 | Adrian Kempe | RW | LAK | 75.1 | 976.9 | 268 |
| 36 | Kirill Kaprizov(day-to-day) | LW | MIN | 55.6 | 945.4 | 262 |
| 37 | Lukas Dostal | G | ANA | 60.9 | 834 | 255 |
| 38 | Mikhail Sergachev | D | UTA | 69.5 | 695.1 | 254 |
| 39 | John Carlson | D | TBL | 68.5 | 692.3 | 251 |
| 40 | Dylan Guenther | RW | UTA | 67.7 | 947.2 | 238 |
| 41 | Martin Necas | C | COL | 71.4 | 1070.5 | 228 |
| 42 | Jake Sanderson(day-to-day) | D | OTT | 66.7 | 667.3 | 226 |
| 43 | Mikko Rantanen | RW | DAL | 67.6 | 933 | 224 |
| 44 | Linus Ullmark | G | OTT | 51 | 800.3 | 221 |
| 45 | Moritz Seider | D | DET | 73.2 | 659.2 | 218 |
| 46 | Tage Thompson | C | BUF | 70.4 | 1056.6 | 215 |
| 47 | Joel Hofer | G | STL | 47.9 | 790.2 | 211 |
| 48 | Josh Morrissey(out) | D | WPG | 68.5 | 651.2 | 210 |
| 49 | Jake Guentzel | C | TBL | 73.2 | 1047.4 | 205 |
| 50 | Nick Suzuki | C | MTL | 73.2 | 1047.4 | 205 |
| 51 | Jack Hughes | C | NJD | 62 | 1041.2 | 199 |
| 52 | Lucas Raymond | LW | DET | 73.2 | 878.9 | 196 |
| 53 | Alex Tuch | RW | WSH | 73.2 | 900.9 | 192 |
| 54 | Mark Scheifele | C | WPG | 73.2 | 1032.7 | 191 |
| 55 | Mitch Marner | RW | VGK | 71.3 | 898.9 | 190 |
| 56 | Jackson LaCombe | D | ANA | 72.3 | 628.9 | 188 |
| 57 | Roman Josi | D | NSH | 58.2 | 628.8 | 188 |
| 58 | Jesper Bratt | LW | NJD | 73.2 | 864.3 | 181 |
| 59 | Andrei Svechnikov | RW | CAR | 68.6 | 884.8 | 175 |
| 60 | Spencer Knight | G | CHI | 54.7 | 754.6 | 175 |
| 61 | Brady Tkachuk | LW | FLA | 61.2 | 856.4 | 173 |
| 62 | Adam Fox | D | NYR | 60.4 | 609.7 | 169 |
| 63 | Seth Jarvis(Jarvis underwent offseason surgery to address a torn labrum and rotator cuff, but he was on the ice during training camp and could be close to making his regula) | RW | CAR | 64 | 876.1 | 167 |
| 64 | Kirill Marchenko | RW | TOR | 69.5 | 875.9 | 167 |
| 65 | Shayne Gostisbehere | D | CAR | 61.2 | 605.6 | 165 |
| 66 | Alex Ovechkin | LW | WSH | 67.6 | 838.4 | 155 |
| 67 | Miro Heiskanen | D | DAL | 62 | 588.8 | 148 |
| 68 | John Gibson | G | DET | 52.6 | 725.7 | 146 |
| 69 | Sebastian Aho | C | CAR | 70.4 | 986.1 | 144 |
| 70 | Dougie Hamilton | D | NJD | 65.7 | 585 | 144 |
| 71 | Drake Batherson | RW | OTT | 72.3 | 853.1 | 144 |
| 72 | Tim Stützle | C | OTT | 72.3 | 983.2 | 141 |
| 73 | Brandon Montour(day-to-day) | D | SEA | 65.8 | 579.1 | 138 |
| 74 | Rasmus Andersson | D | VGK | 71.3 | 577.9 | 137 |
| 75 | Pavel Dorofeyev | RW | NYR | 71.3 | 841.8 | 132 |
| 76 | Wyatt Johnston(day-to-day) | C | DAL | 73.2 | 974.1 | 132 |
| 77 | Matthew Schaefer | D | NYI | 52.6 | 567.9 | 127 |
| 78 | Noah Dobson | D | MTL | 69.5 | 562.9 | 122 |
| 79 | Connor Bedard | C | CHI | 68.6 | 960.2 | 118 |
| 80 | Jesper Wallstedt | G | MIN | 38.9 | 696.8 | 118 |
| 81 | Vince Dunn | D | SEA | 64.9 | 558 | 117 |
| 82 | Jet Greaves | G | CBJ | 47.2 | 689.2 | 110 |
| 83 | Brandt Clarke | D | LAK | 74.2 | 549 | 108 |
| 84 | Juraj Slafkovský | LW | MTL | 73.2 | 791 | 108 |
| 85 | Mackenzie Blackwood | G | COL | 45.1 | 685.1 | 106 |
| 86 | Bryan Rust | RW | PIT | 65.7 | 815.1 | 106 |
| 87 | Charlie McAvoy | D | BOS | 57.3 | 544.2 | 103 |
| 88 | Jake Allen | G | NJD | 46 | 681 | 102 |
| 89 | Auston Matthews | C | TOR | 59.3 | 943.1 | 101 |
| 90 | Carter Hart | G | VGK | 47.6 | 680.1 | 101 |
| 91 | Travis Konecny(Konecny sat out Saturday's 5-1 loss to Boston and will miss additional time after moving to the IR list. It's unclear when he will be ready to return to the lin) | RW | PHI | 70.4 | 809.9 | 101 |
| 92 | Nikolaj Ehlers | LW | CAR | 68.6 | 781.9 | 99 |
| 93 | Mark Stone | RW | VGK | 58.5 | 802 | 93 |
| 94 | Luke Hughes | D | NJD | 64.8 | 531.3 | 90 |
| 95 | Tom Wilson | RW | WSH | 69.5 | 799.1 | 90 |
| 96 | Dustin Wolf | G | CGY | 52.6 | 667.8 | 89 |
| 97 | Dylan Larkin | C | DET | 71.4 | 927.8 | 86 |
| 98 | Matthew Knies | LW | CBJ | 73.2 | 768.8 | 86 |
| 99 | Nick Schmaltz | C | UTA | 72.3 | 925.3 | 83 |
| 100 | Timo Meier | RW | NJD | 71.4 | 792.2 | 83 |
How the trade values work
- Trade value is rest-of-season production above a replacement starter at the same position. A player you could replace off the waiver wire is worth zero, however many points he scores.
- League size moves the bar: in a 14-team league the last starter is weaker than in a 10-team league, so depth is worth more.
- Fair means the two sides are within 10% of each other. Beyond that, the analyzer names the side that wins and lists players worth about the gap, so you can ask for one to even it out.
Trade analyzer questions
- How does the fantasy hockey trade analyzer decide who wins a trade?
- It adds up each side's trade value: every player's projected rest-of-season fantasy points minus those of the last starter at his position in a league of your size. The side with more value wins; within 10% the trade is called fair.
- Why is a two-for-one trade not just the sum of the points?
- Only starters score for you. The second player in a two-for-one usually takes a bench spot or replaces someone you could have picked up for free, so the analyzer values each player above a replacement starter, not by raw points. That is why a star is often worth more than two good players.
- How often are the trade values updated?
- Every morning with the model's boards (last run 2026-10-16).
- Does it work for my league's scoring?
- It covers the default points and category settings of Yahoo and ESPN leagues of 8 to 16 teams. Custom scoring changes the values, so treat the verdict as a guide when your league weights a stat differently.
Also: the NHL fantasy rankings and the trade analyzers for NFL, NBA, MLB.