We Built an NHL Playoff Model. Here's How It Compares to the Markets, Moneypuck, and HockeyStats

Our NHL playoff prediction app is now live at nhlpredictions.impulselabs.ai. It uses three ML models to predict who wins each playoff series (not single games), updates probabilities after every game, and lets you compare the models side by side.
For the launch, we're putting our predictions on the record against the best public sources we could find: Kalshi, Polymarket, Moneypuck, and HockeyStats.
Here's where we landed on the three Round 2 series tipping off this week. Two series where we sit comfortably with the consensus, and one where we're meaningfully more confident than the rest of the field.
Canadiens vs Sabres: everybody agrees
Source | Probability |
|---|---|
Kalshi | 68% Canadiens |
Polymarket | 68% Canadiens |
Impulse Ensemble | 65% Canadiens |
Moneypuck | 65% Canadiens |
HockeyStats | 60% Canadiens |
The Canadiens are favored and every source agrees. The entire field sits between 60% and 68%, with our model landing right on top of Moneypuck. There's nothing to fight about here. When public sources cluster this tightly, picking the favorite isn't a real test of the model.
Golden Knights vs Ducks: the closest series on paper
Source | Probability |
|---|---|
Kalshi | 59% Golden Knights |
Polymarket | 60% Golden Knights |
Impulse Ensemble | 61% Golden Knights |
HockeyStats | 62% Golden Knights |
Moneypuck | 63% Golden Knights |
Tight cluster across all five sources. Everyone has Vegas favored but nobody's confident — the entire field sits within 4 points, and the most confident source (Moneypuck) is still only 63%. This is the closest series of the round on paper, which means the most predictive signal will come from how the early games shake out.
Avalanche vs Wild: a 3 to 9 point swing
Source | Probability |
|---|---|
Moneypuck | 74% Avalanche |
HockeyStats | 78% Avalanche |
Kalshi | 79% Avalanche |
Polymarket | 80% Avalanche |
Impulse Ensemble | 83% Avalanche |
Every source has the Avalanche winning, but our model is the most confident of the field — 3 points above the prediction markets, 9 points above Moneypuck. Either we're overconfident, or we're picking up something the others have smoothed over.
This is the disagreement worth watching in Round 2. It's not a fight about who wins. It's a fight about how decisively.
Why we're publishing this
The honest reason: a model is only as good as how it performs against real outcomes, and the only way to find that out is publicly.
We could have launched the app, kept our predictions private, and waited until the playoffs ended to claim we'd called things correctly. That's how most prediction services operate. We don't think it's useful. Anyone can look smart in retrospect.
Instead, we're publishing where we agree with the consensus, where we disagree, and by how much, before the games are played. As Round 2 progresses, you'll be able to see exactly how each of our models is doing against every benchmark we listed above. If we're wrong on the Avalanche call, that'll be obvious. If we're right, that'll be obvious too. This is the version of public model benchmarking we wish more prediction tools did.
The bigger story
The NHL app is fun, but it's not really the point. It's the second public demo of something else: every model behind this app was built by the new MLE agent inside Impulse. We gave it raw NHL data, told it what we wanted to predict, and it handled feature engineering, model selection, training, and evaluation. Hours, not weeks. No code.
We did the same thing with the NBA playoffs last week. Same workflow, different sport. That same workflow applies to anything you can predict from tabular data. Churn. Demand. Fraud. Lead conversion. Insurance losses. Energy prices.
NBA last week. NHL this week. Hurricane risk and energy prices after that.
In the meantime:
Track the live probabilities → nhlpredictions.impulselabs.ai
Try the agent on your own data → impulselabs.ai