Edgehalla

Fantasy tools

Trade Analyzer & Value Chart for Fantasy Hockey (2026-27)

Is it a fair trade? A verdict for your league, plus the full trade value chart.

Values updated:

Scoring
Teams
Advanced settings: pick your categories, points or roster slots

G, A, +/-, PPP, SOG, HIT · W, GAA, SV%, SO (Yahoo default)

Connect your league to load its exact categories.

Roster slots per team

Starting slots and bench decide who is on waivers. With an IR slot an injured player is free to stash; with none he costs a bench spot until he's back.

Analyze a trade

Last updated · projections, injuries and rostered % refresh hourly

You give

67.7

You get

84.9

Clear win for you

You give 67.7 and get 84.9 in rest-of-season value · you take 1 extra player and drop one from the bottom of the roster (−1.1) · net +16.1 for you (12 teams).

Category impact and the trade value chart for every player below

Category impact for you (z-score units, rest of season)

  • G-3.5
  • A+0.5
  • +/-+1.9
  • PPP+0.2
  • SOG-0.8
  • HIT+0.0

Fantasy hockey trade value chart

Rest-of-season value in H2H standard, 12 teams. 100 = the most valuable player in these settings; 0 = waiver level.

Last updated · projections, injuries and rostered % refresh hourly

#PlayerValueAdd to trade
1Connor McDavidC · EDM100.0
2Nathan MacKinnonC · COL79.3
3Evan BouchardD · EDM70.3
4Leon DraisaitlC · EDM67.7In trade
5Cale MakarD · COL62.2
6Quinn HughesD · MIN56.2
7Nikita KucherovRW · TBL55.5
8Brady TkachukLW · FLA54.9
9Kirill KaprizovLW · MIN54.6
10David PastrnakRW · BOS52.1
11Brandon HagelLW · TBL50.6
12Matthew TkachukLW · FLA49.7
13Zach WerenskiD · CBJ49.6
14Pyotr KochetkovG · CAR48.1
15Matthew SchaeferD · NYI46.0
16Sebastian AhoC · CAR45.9In trade
17Tage ThompsonC · BUF42.8
18Martin NecasC · COL42.7
19Jack EichelC · VGK42.6
20Tim StützleC · OTT42.4
21Jake OettingerG · DAL42.3
22Auston MatthewsC · TOR41.0
23Jacob FowlerG · MTL40.8
24Rasmus DahlinD · BUF40.6
25Ilya SorokinG · NYI40.3
26Macklin CelebriniC · SJS39.4
27Seth JonesD · FLA39.1In trade
28Cole CaufieldRW · MTL37.6
29Jake GuentzelC · TBL37.6
30Jakob ChychrunD · WSH37.2

Players 31–60 below

#PlayerValueAdd to trade
31Andrei SvechnikovRW · CAR35.8
32Matt BoldyLW · MIN35.6
33Jack HughesC · NJD35.3
34Seth JarvisRW · CAR34.6
35Jesper WallstedtG · MIN34.6
36Jason RobertsonLW · DAL34.4
37Mikhail SergachevD · UTA34.2
38Kyle ConnorLW · WPG33.4
39Lane HutsonD · MTL33.2
40Nick SuzukiC · MTLOut until ~Nov 1832.6
41Artemi PanarinLW · LAK32.3
42Andrei VasilevskiyG · TBL31.5
43Drake BathersonRW · OTT30.9
44John CarlsonD · TBL30.6
45Bo HorvatC · NYI30.5
46Alex DeBrincatRW · DET30.1
47Charlie McAvoyD · BOS29.1
48Linus UllmarkG · OTTOut until ~Nov 728.7
49Adam FoxD · NYR28.4
50Jake SandersonD · OTT28.0
51Sam ReinhartC · FLA27.9
52Shayne GostisbehereD · CAR27.9
53Mikko RantanenRW · DAL27.7
54William NylanderRW · TOR26.7
55Clayton KellerRW · UTA26.4
56Jeremy SwaymanG · BOS25.5
57Joel HoferG · STL24.6
58Dylan GuentherRW · UTA24.4
59Sean WalkerD · CAR23.5
60Logan ThompsonG · WSH23.5

Players 61–90 below

#PlayerValueAdd to trade
61Cutter GauthierLW · ANA23.2
62Adrian KempeRW · LAK23.2
63Noah DobsonD · MTL23.0
64Devon ToewsD · COL22.0
65Roman JosiD · NSH21.7
66Wyatt JohnstonC · DAL21.5
67Alex TuchRW · WSH21.3
68Adam FantilliC · CBJ21.2
69Mitch MarnerRW · VGK21.1
70Dylan CozensC · OTT20.9
71Leo CarlssonC · ANA20.4
72Vasily PodkolzinRW · EDM20.0
73Moritz SeiderD · DET20.0
74Miro HeiskanenD · DAL19.8
75Cole HutsonD · WSH19.8
76Erik KarlssonD · PIT19.3
77Mackenzie BlackwoodG · COL19.2
78Brandt ClarkeD · LAKDay-to-day19.1
79Jackson BlakeRW · CAR19.1
80Juraj SlafkovskýLW · MTL19.0
81Nikolaj EhlersLW · CAR18.9
82Karel VejmelkaG · UTA18.7
83Mark StoneRW · VGK18.4
84Brandon MontourD · SEA18.3
85Artturi LehkonenLW · COL17.8
86K'Andre MillerD · CAR17.8
87Filip ForsbergLW · NSH17.8
88Joel Eriksson EkC · MINDay-to-day17.7
89Nazem KadriC · COL17.4
90Dylan HollowayLW · STL17.2

Players 91–120 below

#PlayerValueAdd to trade
91Brayden PointC · TBL17.0
92Jackson LaCombeD · ANA16.7
93Alex LaferriereRW · LAK16.5
94Viktor ArvidssonLW · DET16.2
95Darren RaddyshD · TOR16.0
96Neal PionkD · WPG15.7
97Logan CooleyC · UTA15.5
98Logan StankovenC · CAR15.5
99Josh MorrisseyD · WPGOut until ~Nov 315.4
100Nick SchmaltzC · UTA14.8
101Lucas RaymondLW · DET14.5
102Alexander NikishinD · CAROut until ~Nov 714.4
103Mark ScheifeleC · WPG14.1
104Alexis LafrenièreLW · NYR13.9
105Tom WilsonRW · WSH13.9
106Connor HellebuyckG · NJD13.5
107Jet GreavesG · CBJ13.3
108Zach HymanLW · EDMOut until ~Nov 313.0
109Kaiden GuhleD · MTL12.6
110Kirill MarchenkoRW · TOROut until ~Nov 1712.5
111Nico HischierC · NJD12.3
112Connor BedardC · CHI11.8
113Jacob MarkstromG · FLAOut until ~Nov 411.8
114MacKenzie WeegarD · UTA11.6
115Ryan LeonardRW · WSH11.6
116Dougie HamiltonD · NJD11.5
117Jesper BrattLW · NJD11.4
118Luke HughesD · NJD11.2
119Vince DunnD · SEA11.2
120Thomas ChabotD · OTT11.1

Players 121–150 below

#PlayerValueAdd to trade
121Mika ZibanejadC · NYR10.6
122Charle-Edouard D'AstousD · TBL10.5
123Kevin FialaLW · LAKOut until ~Nov 710.4
124Mike MathesonD · MTLDay-to-day10.4
125Jack QuinnRW · BUF10.2
126John GibsonG · DET9.9
127Beckett SenneckeRW · ANA9.9
128Will CuylleLW · NYR9.8
129Cole PerfettiC · WPG9.3
130Ivan DemidovRW · MTLOut until ~Oct 319.0
131Sidney CrosbyC · PIT8.9
132Roope HintzC · DAL8.8
133Stuart SkinnerG · WPG8.8
134Jordan KyrouRW · WSH8.7
135Steven StamkosC · NSH8.5
136Mathew BarzalC · NYIOut until ~Nov 78.3
137Timo MeierRW · NJD8.2
138Morgan GeekieC · BOS8.1
139Tomas HertlC · VGK7.9
140Dylan StromeC · WSH7.9
141Sergei BobrovskyG · TOR7.8
142Spencer KnightG · CHI7.8
143Dylan LarkinC · DETOut until ~Nov 147.8
144J.T. MillerC · NYR7.2
145Carter HartG · VGKDay-to-day7.0
146Alex OvechkinLW · WSH6.9
147Jaccob SlavinD · CAR6.6
148Aleksander BarkovC · FLAOut until ~Nov 276.6
149Vincent TrocheckC · UTA6.6
150Gabriel LandeskogLW · COL6.5

Players 151–180 below

#PlayerValueAdd to trade
151Nikita ZadorovD · BOS6.0
152Sam BennettC · FLA6.0
153Carter VerhaegheC · FLA6.0
154Shane PintoC · OTT5.9
155Will SmithC · SJS5.8
156Pavel DorofeyevRW · NYR5.7
157Brock NelsonC · COL5.7
158Elias PetterssonC · VAN5.5
159Evgeni MalkinC · PIT5.3
160John TavaresC · TOROut until ~Nov 275.1
161Ryan Nugent-HopkinsC · EDM5.0
162Juuse SarosG · NSH5.0
163Quinton ByfieldRW · LAK5.0
164Philipp GrubauerG · SEA4.9
165Mason McTavishC · STL4.6
166Zach BensonLW · BUF4.5
167Matthew KniesLW · CBJ4.4
168Jimmy SnuggerudRW · STL4.4
169Sam MalinskiD · COL4.4
170Filip HronekD · VAN4.3
171Darcy KuemperG · LAK4.1
172Brayden SchennC · NYI3.9
173Pierre-Luc DuboisC · WSH3.8
174Bobby McMannC · SEA3.7
175Gavin McKennaLW · TOR3.7
176Luke EvangelistaRW · NJD3.6
177Trevor ZegrasC · PHI3.5
178Ryan O'ReillyC · NSH3.4
179Elias LindholmC · BOS3.3
180Kiefer SherwoodLW · SJS3.2

Players 181–210 below

#PlayerValueAdd to trade
181Rickard RakellRW · PIT3.2
182Taylor HallLW · CAROut until ~Nov 33.0
183Shea TheodoreD · VGK3.0
184Brock FaberD · MINOut until ~Nov 33.0
185Jalen ChatfieldD · CAR3.0
186Matvei MichkovRW · PHI2.7
187Boone JennerC · WSH2.7
188Owen PowerD · BUF2.6
189Anthony CirelliC · TBL2.5
190JJ PeterkaRW · BOS2.5
191Travis KonecnyRW · PHIOut until ~Nov 32.5
192Fraser MintenC · BOS2.3
193Jordan EberleRW · SEA2.0
194Rasmus AnderssonD · VGK2.0
195Charlie CoyleC · CBJ1.9
196Zachary BolducRW · MTL1.9
197Philip BrobergD · STL1.8
198Pavel ZachaC · BOS1.7
199Bowen ByramD · CHIDay-to-day1.7
200Thomas HarleyD · DAL1.7
201Brent BurnsD · COL1.6
202Robert ThomasC · STL1.6
203Jake NeighboursLW · STL1.5
204Mattias SamuelssonD · BUF1.5
205Victor HedmanD · TBL1.4
206Dan VladarG · PHI1.4
207Emil HeinemanLW · NYI1.4
208James ReimerG · NYRDay-to-day1.3
209Easton CowanRW · TOR1.3
210Kent JohnsonC · CBJ1.3

Players 211–240 below

#PlayerValueAdd to trade
211Drew DoughtyD · LAK1.3
212Brandon BussiG · CAR1.2
213Jacob TroubaD · SJS1.2
214Ivar StenbergLW · SJS1.1
215Morgan RiellyD · TOR1.1
216Porter MartoneRW · PHI1.0
217Valeri NichushkinRW · CBJ1.0
218Jakub DobesG · MTL0.9
219Lukas DostalG · ANA0.9
220Bryan RustRW · PITOut until ~Dec 50.9
221Scott WedgewoodG · COL0.8
222Michael Brandsegg-NygårdRW · DET0.8
223Arseny GritsyukRW · NJD0.6
224Yaroslav AskarovG · SJS0.6
225Devin CooleyG · CGYOut until ~Nov 60.6
226Jared McCannLW · SEAOut until ~Jan 20.5
227Jack RoslovicC · TOR0.4
228Patrick KaneRW · CHI0.4
229Gabriel VilardiC · WPG0.4
230Dylan GarandG · NYR0.3
231Travis SanheimD · PHI0.3
232Anton FrondellC · CHI0.3
233Brad MarchandLW · FLAOut until ~Nov 210.3
234Devon LeviG · EDMOut until ~Nov 90.3
235Ukko-Pekka LuukkonenG · BUF0.3
236Brock BoeserRW · VAN0.2
237Arturs SilovsG · PIT0.2
238Blake ColemanLW · MIN0.2
239William EklundLW · OTTOut until ~Jan 50.2
240Ivan BarbashevLW · VGK0.2

Players 241–270 below

#PlayerValueAdd to trade
241Mikael GranlundC · ANA0.2
242Owen TippettRW · PHIOut until ~Nov 10.1
243William CarrierLW · CAR0.0
244Jaden SchwartzLW · COL0.0
245Fabian ZetterlundLW · OTT0.0
246Jason ZuckerLW · BUF0.0
247Tristan JarryG · EDM0.0
248Mats ZuccarelloRW · LAKOut until ~Nov 100.0
249Josh AndersonRW · MTL0.0
250Chris KreiderLW · MTL0.0
251James HagensC · BOS0.0
252Kyle PalmieriC · NYI0.0
253Anton LundellC · FLA0.0
254Jordan MartinookLW · CAR0.0
255Alex NewhookC · MTL0.0
256Mathieu OlivierRW · CBJ0.0
257Troy TerryRW · ANAOut until ~Nov 210.0
258Lawson CrouseLW · UTA0.0
259Emmitt FinnieC · DET0.0
260Claude GirouxRW · OTT0.0
261Tye KartyeLW · NYR0.0
262Aliaksei ProtasLW · WSH0.0
263Anders LeeLW · UTA0.0
264Michael CarconeLW · UTAOut until ~Nov 10.0
265Mark JankowskiLW · CAR0.0
266Josh DoanRW · BUF0.0
267Egor ChinakhovRW · PIT0.0
268Trevor MooreLW · LAK0.0
269Jack McBainC · UTA0.0
270Kasperi KapanenRW · EDM0.0

Players 271–300 below

#PlayerValueAdd to trade
271Dominic JamesC · TBL0.0
272Tyler SeguinC · DAL0.0
273Colton DachC · EDM0.0
274Jordan StaalC · CAROut until ~Dec 30.0
275Scott LaughtonC · LAK0.0
276Erik HaulaLW · LAK0.0
277Eric RobinsonLW · CAR0.0
278Zachary L'HeureuxLW · COLOut until ~Nov 70.0
279Conor GeekieC · TBL0.0
280Pontus HolmbergRW · TBL0.0
281Ben KindelC · PIT0.0
282Matty BeniersC · SEA0.0
283Noah OstlundC · BUF0.0
284Connor McMichaelLW · STL0.0
285Nicolas RoyC · COL0.0
286Alex FormentonLW · EDM0.0
287T.J. HughesRW · COL0.0
288Maxim ShabanovRW · MIN0.0
289Jake DeBruskLW · VAN0.0
290Cole SillingerC · CBJ0.0
291Parker KellyC · COL0.0
292Alexandre TexierLW · MTL0.0
293A.J. GreerLW · ANA0.0
294Cam TalbotG · CBJ0.0
295Jake AllenG · NJD0.0
296Oliver KapanenC · MTL0.0
297Michael McCarronC · MIN0.0
298Marc GatcombC · VGK0.0
299Phillip DanaultC · MTL0.0
300Trevor ConnellyLW · VGK0.0

How league size and roster spots change trade value

The same players are worth different amounts in different leagues. The table shows the trade value of the skater ranked at each spot in H2H standard scoring, with Yahoo’s default roster, as a share of the best player. In an 8-team league value falls off fast because the waiver wire is deep. With 16 teams the 50th and 100th skaters keep far more of their value, so two-for-one trades for depth make more sense.

Trade value by skater rank and league size
Skater rank8 teams12 teams16 teams
#1100.0100.0100.0
#1047.952.156.7
#2530.137.641.8
#5015.223.529.7
#1003.511.617.0
#1500.03.88.1

More roster spots work the same way as more teams: every extra bench slot takes another player off waivers. Bench players count for 40% of their value above replacement because they only play on nights a starter sits. Change the teams and roster above and the chart and your trade update. For category balance after a trade, check the Week Planner; for who is rising or getting lucky before you buy, see Risers and the Luck Meter.

How it works

  1. Rest-of-season projections for every skater and goalie: LineupExperts, with Edgehalla’s derived model filling power-play, shorthanded, plus/minus and faceoff stats.
  2. Each projection is multiplied by his team’s remaining games and the games he is expected to be available for, from the injury report. Goalies get projected starts from their share of their team’s games. Without an IR slot, an injured player also pays for the bench spot he holds while out.
  3. Totals are scored in your format: z-scores summed over your categories (save percentage and GAA weighted by shots and starts) or fantasy points.
  4. The league is filled with the best players for your teams and roster slots. Value is what a player adds over the best waiver player at his position; the part that only plays on bench nights counts 40%.
  5. Finally, rostered percentage can lift a value (up to 30% in October, fading to nothing by season’s end): the k-th most-rostered player is given the k-th highest value. That brings in what projections miss (rookie hype, a new starter after a trade) without letting the crowd reorder the stars, and it never marks down a waiver pickup that abandoned leagues keep below 90%.
  6. A trade adds each side’s values and charges the team that takes extra players for the roster spots it has to clear.

Methodology: Rest-of-season projections · Data sources

See also: Rest-of-season projections · Compare players · Waiver Wire

Frequently asked questions

How are fantasy hockey trade values calculated?

Every skater and goalie gets a rest-of-season projection (LineupExperts with Edgehalla’s derived model filling power-play, shorthanded, plus/minus and faceoff gaps), multiplied by the games his team has left and the games he is expected to be available for. Those totals are scored in your league’s format: summed z-scores in category leagues, fantasy points in points leagues. Then the league is filled with the best players for your number of teams and roster slots. Value is what a player adds over the best player left on waivers at his position, with 100 for the most valuable player in your settings.

Why are stars worth more in an 8-team league?

In a small league the waiver wire is full of players who would start in a 12- or 16-team league, so replacing a depth player costs almost nothing. A star has no replacement. Trading one star for two good players in an 8-team league usually loses, because you could have picked up the second player for free. In a 16-team league with long benches the waiver wire is thin, so depth players are worth much more and two-for-one deals get closer.

How does the analyzer handle 2-for-1 and 3-for-1 trades?

Values are added per side, and the team that takes more players than it sends has to drop that many from the bottom of its roster. The analyzer charges that side the value of a typical last-rostered player for each extra player. The other side refills its open spots from waivers, which are worth zero by definition. Players who would only start on bench nights also count for less (40% of their above-replacement value for skaters, 50% for goalies), so consolidating into a starter is rewarded.

How are goalies valued?

By your league’s goalie scoring and by starts. Each goalie’s projected starts are his share of his team’s remaining games. A hot start is not treated as a workhorse job: the projected share is pulled toward a 50/50 split, then updated with the starts he has actually made this season, and an injured goalie’s starts go to his healthy partner until he returns. Win rate, save percentage and shots against are pulled toward the league average, hard in October and less as a goalie’s starts pile up, and shutouts come from the chance of allowing zero goals. Finally, every goalie’s trade value is cut 30%: one bad week swings goalie categories, the crease can change hands, and streamers cover part of the gap, so leagues don’t trade starting goalies like the top skaters their raw numbers match. In category leagues wins, saves and shutouts are counted totals, and save percentage and GAA are weighted by volume, so a backup with a great save percentage cannot outrank a starter. In points leagues the goalie points (Yahoo’s defaults are W 5, GA −3, SV 0.6, SO 5) decide it, which usually makes starting goalies some of the most valuable players. Goalie replacement level comes from your goalie slots plus one bench goalie per team.

How do injuries change trade value?

An injured player loses the games he is expected to miss and keeps every game after his return. When a team reports a return date we use it. When there is no date, we assume a typical absence (two weeks for “out”, four for IR, about two months for long-term IR) and show that on the row, rather than treating him as gone for the season. Day-to-day players only lose tonight. IR slots matter too: if your league has one (Yahoo’s default has two), stashing an injured player is free; if it has none, he takes a bench spot until he’s back, and his value drops by a bench player’s worth for the share of the season he misses.

Does rostered percentage affect trade value?

It can lift a value, never lower it. Players are ranked by how widely they are rostered, and the 50th most-rostered player is given our 50th-highest value; when that is above a player’s projection-based value, up to 30% of it is blended in. That catches what projections can’t see: hype around a rookie, a goalie who just took over a crease after a trade, what managers will actually pay. It only lifts because abandoned leagues freeze rosters at the draft, so a waiver breakout can sit at 60% rostered all season. The weight also fades as the season goes on, from 30% in October to nothing by the end, as rostered percentage turns into stale draft rosters and real results take over. Untick it under Advanced settings for projections only.

What scoring settings can I use?

H2H standard (Yahoo’s default G, A, +/-, PPP, SOG, HIT with W, GAA, SV%, SO), H2H bangers (adds blocks) and Yahoo default points are one click. Advanced settings add Yahoo roto, bangers with PIM, classic categories and ESPN default points, or a custom setting where you tick any skater or goalie category and weight it (0 punts it), or type the points your league gives per stat. If you have connected an ESPN, Fantrax or Yahoo league, pick it under My league and its exact categories or points load.

Can I share a trade?

Yes. The page address updates as you build the trade and change the scoring, teams and roster, so Copy link gives your leaguemates the same trade and settings. Custom and My league scoring stay on your device.

How often are trade values updated?

The projections, injuries, rostered percentages and remaining schedule refresh through the day; the page rebuilds at least hourly. Values only cover the regular season, so a player’s value falls as his team’s games run out.