Kind-of-Lost Kind-of-Lost · OR Tools · NHL Lineup Optimizer · Support

NHL DFS Strategy

Forward lines, power-play units, goalie correlation and lineup-set diversity — how each one works in the NHL lineup optimizer, and when to use it.

▶ Open the free NHL optimizer

First, the vocabulary — it trips up more people than the maths

Hockey has three kinds of group that matter here, and DraftKings ships none of them in its player file:

The optimizer needs one word covering anything whose players score together, and that word is unit. So "max shared units" means "max shared lines or power-play units". Lines and power plays can be stacked; defence pairs are read and numbered but never stacked.

On a twelve-game slate that is roughly 48 lines, 24 power-play units and 36 defence pairs — about 72 things you can stack.

Why stacking works in hockey

A goal in the NHL can pay up to three players at once: the scorer, plus up to two assists. Linemates are on the ice for the same shifts and finish the same plays, so when a line has a good night it is usually good for all three of them together — that is one event paying into your lineup several times, not three independent bets you need to hit separately.

Power-play units concentrate it further. The man advantage is where a disproportionate share of scoring happens, and the coach sends his best five out to get it, so a PP1 stack buys correlated exposure to the highest-leverage minutes on the ice.

A note on honesty: this page does not put a number on NHL linemate correlation. The mechanism is not in doubt — shared shifts, shared goal events — but this tool has not measured the size of the effect from play-by-play data, and quoting a figure it hasn't measured would be making one up.

Shaping the stack

The stack is described in up to three rows, each reading n units × k players. The rows add together, so you build the shape you want rather than picking from a menu:

A unit can only satisfy one row, so the shapes never overlap or double-count.

Each stack from a different team is on by default, and it matters more than it sounds. A team's second line and its second power-play unit share players. Without that rule the solver can satisfy "two units" with about five skaters from a single team and report a double stack — which is a real play, but a different one, and it should be chosen rather than arrived at by accident. Switch it off when you actually want the heavy single-team build.

The stack salary window

This one is unusual and worth understanding. It sets how much of the $50,000 cap your stacked units are allowed to absorb, as a percentage range. The floor stops the optimizer calling four cheap fourth-liners a stack; the ceiling stops it spending everything on one line and filling the other five slots with minimum salary.

It counts the full salary of every selected unit, not just the players who ended up in your lineup. So the right window moves with the shape you asked for: two lines is six salaries, and swapping one for a power-play unit makes it eight. The 57–70% default is tuned for the 2 × 3 GPP shape. For a single 1 × 3 stack the cash preset turns the window off entirely, because 57% of the cap on three players is not reachable.

Goalies: the rule most lineups get wrong

No skaters against your own goalie is on by default, and it is the hockey version of the opposing-pitcher rule. Your goalie is paid for saves and punished for goals against — DraftKings pays 0.7 per save and −3.5 per goal allowed — while the skaters facing him are paid for the shots and goals that hurt him. Rostering both puts two halves of your own lineup in a zero-sum fight, and whichever side wins, you lose the other.

Goalie from a stacked team is the opposite idea and a strategy choice rather than a rule: if the team you stacked wins, the goalie collects the win bonus and your skaters collect the goals. It's on for cash, off for GPP.

Confirmed starting goalies only is close to mandatory. A backup who doesn't dress makes your goalie slot worth zero, and no amount of stacking recovers from that. Confirmations land about an hour before puck drop, which is why the tool refreshes them on demand rather than once a day.

Where the line data comes from

DraftKings does not publish line combinations, so the optimizer looks them up from Daily Faceoff for the teams on your slate only — lines, power-play units and confirmed starters. You upload one file, the DraftKings player pool, exactly as it downloads.

Lines move at the morning skate, so there's a refresh button rather than a daily cache. If the lookup fails the tool still works: you type the Line and PP columns yourself, upload your own chart, or switch stacking off.

Only skaters on a line or power play is worth leaving on for tournaments. Every player dressed tonight has a line number, so a skater with both columns empty is a scratch, a call-up or on the taxi squad — priced by DraftKings, projected off a season average, and not taking a shift.

Cash games vs GPPs

Cash: one solid 3-man stack, 95% of the cap spent, skaters from four different teams, the goalie tied to a stacked team, salary window off, and almost no diversity between lineups. That last part is deliberate — in a cash game you want the best lineup, and twenty near-copies of it is the correct answer, not a bug.

GPP: two stacks on different teams, the salary window on, player exposure capped near 40%, stack-team exposure near 35%, short cooldowns, and unit-level diversity so the set isn't twenty shades of one power play. You are buying different shots on goal rather than the single highest-projected roster.

Diversity across the set, precisely

Max shared lines / PP units vs any prior lineup is the one that matters most in hockey. Each new lineup is compared against every earlier one separately, and against any single earlier lineup it may share at most this many units. At 1, no two lineups can carry the same pair of stacks — you can reuse a line freely, you just can't reuse both stacks from one earlier lineup.

Why that beats a player-level cap: two lineups can share eight of nine players and still be the same two stacks. Swap one winger and a player-overlap rule is satisfied while the thing driving your outcome is unchanged.

Unit cooldown looks at every unit used in the last K lineups and caps how many may come back. Max player exposure % and max stack-team exposure % cap how often one player, or one stack team, appears across the set. Max shared forwards lets you reuse a goalie and a defence pair without reusing the attack — the forwards are where the correlation lives.

A practical warning: these rules compare each lineup against all the ones before it, so per-lineup solve time climbs as the batch grows. Measured on a twelve-game slate, roughly 2.2 seconds a lineup over the first 25 and about 4.3 by the fiftieth. If a big run stops short, it is usually the clock rather than the rules — the tool tells you which, and the "keep going" button continues the batch instead of re-solving it from scratch.

Lineup patterns

Rather than one shape repeated, you can split a batch across several patterns — 30% of lineups where each stacked team also supplies a defenceman, 30% where both do and the goalie floats, and so on. Shares are normalised and the split is exact, not random: ask for 30% of 20 lineups and you get 6, every run.

A pattern overrides the A/B/C stack shapes and adds rules that have no control of their own, such as tying defencemen to a stacked team or forcing both defencemen into the same game. Everything else you set — salary window, exposure caps, cooldowns, goalie rules — still applies.

A worked example

Six-game slate, and two teams are on the second night of a back-to-back against tired opposition. For a GPP: stacks at 2 × 3 with different teams enforced, power-play units included so PP1 is stackable, the salary window at 57–70%, confirmed goalies only, declared skaters only, max shared units at 1 and player exposure near 40%. Ask for 40 lineups rather than 150 — you will actually get them, and forty genuinely different lineups beats a hundred near-duplicates.

For cash: one 3-man stack on the line you trust most, the goalie from that same team, salary floor at 95% of the cap, and diversity switched almost off. Build twenty and enter the same core everywhere. Correlation upside is not the point when you only need to beat half the field.

▶ Build your NHL lineups

Also free: MLB lineup optimizer — same solver, batting-order correlation — and the NFL one, where the quarterback throw is the unit instead of the line.