NHL playoff odds API: wild card, division and Presidents' Trophy probabilities

A Monte Carlo simulator for the NHL regular season. Overtime, shootouts and the loser point are simulated explicitly, the real playoff qualification rules are applied to every simulated season, and the result is priced against live Kalshi contracts.

What it returns

How the model works

Team strength combines a Pythagorean expectation from goals for and against with the points record and a prior carried over from last season. That prior matters most in October and fades as games are played.

Hockey standings are shaped by games that go past regulation. The simulator decides whether each game reaches overtime, resolves overtime and shootouts with a damped strength gap, and awards the loser point, so projected points behave like real NHL points.

Each simulated season is run through the actual qualification rules: the top three in each division plus two wild cards per conference, sixteen teams in all. The schedule length is read from the real schedule rather than hard-coded, which matters in 2026-27, the first 84-game season.

How the market comparison works

Qualification contracts are treated as separate yes/no markets whose model probabilities sum to the sixteen playoff places. Division winner markets are treated as a field of mutually exclusive outcomes, with the overround removed before comparing. Expected value is computed after the exchange fee.

7 ready-made examples

Each one is a saved configuration with its input filled in. Open it on Apify and run it in one click.

Common questions

Why simulate the loser point instead of wins and losses?

Because NHL standings are in points, and a team that loses often in overtime collects points that a win-loss model ignores. Wild card races are frequently decided by a few of those points.

How does the wild card rule work in the simulation?

In every simulated season the top three teams in each division qualify, then the two best remaining teams in each conference take the wild cards. The probability is simply how often a team ends up in that group.

Why can the model disagree strongly with the market before the season?

Preseason disagreements are mostly about the offseason: trades, signings and injuries the model does not see. The model's prior is last season's performance, so large early gaps are a question about roster changes rather than a signal on their own.

Can I build a history of the odds?

Yes. The tracking example archives every run to a named dataset, so you end up with a record of how each team's probability moved through the season.

Further reading

NHL playoff odds for 2026-27: 84 games and the wild card rule — simulating points, overtime and the 3+2 qualification rule, and why pre-season gaps against the market are mostly the offseason.

Other models