The data used to predict each game includes each team's performance of a range of statistics in the season up until the date of the given game. Older games are given less weighting for the statistic. The weighting each game is given is linear. For example, when predicting the result of a team's 41st game of the season, the team's 40th game is given twice the weight as a team's 20th game. Several game weighting techniques were tested as part of building the model, from weighting each game equally to weighting recent games exponentially more. Also, using just the last 20 or 30 games data was evaluated in combination with each one of these methods. Ultimately, using full season to date data with a linear decay of game importance showed to have the most predictive power.

There are three main components of the win predictions model: the Home submodel, the Away submodel, and the Meta model:

The Home submodel uses only statistics describing the home team and predicts the likelihood the home team will win the game.

The Away submodel similarly uses only statistics describing the away team and predicts the likelihood the away team will win the game.

The Meta Model combines the Home submodel, Away model, home ice advantage, and each team's days of rest into one overall score.

Also, we use a simple 'Tie Game' model, which predicts the probability the game will go to overtime. This model is simply a function of the meta model score. The default Tie Game model score is 25%. For every 1% probability the Meta Model is away from a 50/50 odds game, the chance of the game going to OT goes down by 0.2%. For example, a game with 55/45 odds is given a 24% chance of going to OT. If a game goes to OT, we give each team equal odds of winning the game, whether in regular OT or a shootout.

The home team's overall odds of winning the game are then calculated as follows:

Home Team chances of winning In regulation = (1 - [Tie Game Model Score]) * [Meta Model Score]

Home Team chances of winning in OT = [Tie Game Model Score] * 50%

Home Team chances of winning = Chance of winning in regulation + chance of winning in OT

By using the 2015-2016 season as a test to see if the model works, the 15% of shots the model rated the highest contributed to over 50% of the goals that season:

In general, the shots with the highest goal probability are quick rebounds shots close to the net where there has been a large change in shot angle from the original shot:

1.) Shot Distance From Net

2.) Time Since Last Game Event

3.) Shot Type (Slap, Wrist, Backhand, etc)

4.) Speed From Previous Event

5.) Shot Angle

6.) East-West Location on Ice of Last Event Before the Shot

7.) If Rebound, difference in shot angle divided by time since last shot

8.) Last Event That Happened Before the Shot (Faceoff, Hit, etc)

9.) Other team's # of skaters on ice

10.) East-West Location on Ice of Shot

11.) Man Advantage Situation

12.) Time since current Powerplay started

13.) Distance From Previous Event

14.) North-South Location on Ice of Shot

15.) Shooting on Empty Net

The definition of a flurry adjusted expected goal is:

Flurry Adjusted Expected Goal Value = Chance of Not Scoring in Flurry Yet * Regular Expected Goal Value of Shot

Here's a video below using an example from the Boston Bruins vs. Ottawa Senators game on March 6th, 2017. On the first shot Bruins have a 33% chance of scoring. That means there's a 67% chance of having not scored after the first shot. The rebound shot has an 82% chance of being a goal, thanks to it being a 77° change in direction from the 1st shot. For the rebound shot, the expected goal value of it is multiplied by 0.67 to get its adjusted expected goal value. Instead of being worth 0.82 expected goals, the rebound shot is worth 0.55 expected goals. The flurry adjusted expected goal value of the whole flurry is 0.88 instead of 1.15 for regular expected goals. The flurry adjusted metric has the nice attribute of it not being possible to have more than 1.0 flurry adjusted expected goals in one flurry. This video is also an example of the limitations of expected goals, as the slap shot was recorded to be closer to the net than it actually was, increasing its expected goal value.

For a mathematical example: the probability that a shooter is actually a 10% above average talent shooter given their goals exceeds their expected goals by 20% over 1,000 career shots = The percent of skaters with 1,000 career shots so far with historically turn out to be 10% above average shooters during their career multiplied by the chance a truly 10% above expected shooter talent would have exceed their expected goals by 20% over the course of 1,000 random shots divided by the percent of players who have taken 1,000 shots that have 10% goals above expected.

By simulating each player's career shots thousands of times, we can see the probability that a simulated player set to any true shooting talent level (such as 10% above average), would do as well as that player actual has. MoneyPuck ran over 10,000,000 simulations in total for the 800+ players who have played in the 2019-2020 NHL season. The result of this is probability distribution graphs of the likelihood of every player truly being a given shooting talent level, which you can see on the bottom of the player shooting maps. We then take the weighted average of the probabilities to get the best estimate of the player's true shooting talent.

There is a 45% chance the home team wins in regulation. There is also a 50% chance the game goes to a shoot-out, where the home team would be a 50% toss-up to win. Overall the home team has a 70% chance of winning. (45% of a win in regulation + 25% chance of winning the game in a shootout). The "Deserve To Win O'Meter" would show 70% for the home team.

The "Deserve To Win O'Meter" was partly inspired by Namita Nandakumar's brain-teaser on expected goal scenarios.

Expected goals in flurries of shots are treated differently for the Deserve To Win O'Meter. If a shot during a flurry is a "goal" in the simulation, then the later shots in the flurry are excluded from the simulation. This is for the same reason as why the concept of Flurry Adjusted Expected Goals exist in the first place. Also, empty net shots are also excluded in the simulation, unless the score in the simulation would also likely result in a goalie pull situation, such as a one goal game with a few minutes left.

Since the meter is simulating the game many times, it also shows the luck involved in hockey. In the first 100 simulations the 'Deserve To Win' metric will swing widely, before stabilizing at a specific percentage.

We can also calculate the expected goals that are likely to come from a rebound of a shot. This metric is called 'expected goals of expected rebounds' (xGoals of xRebounds). The rebound shot does not need to be taken by the same player. In fact, the rebound does not need to actually even occur. The shot just needs to have attributes that are more likely to generate a rebound. As there is a lot of luck in getting a rebound or not, this metric credits players who have shots that are likely to produce rebounds in general.

Expected Goals Of Expected Rebounds = Probability of the Shot Generating a Rebound * The Expected Goals of The Possible Rebound Shot

Some shots actually have a higher xGoals of xRebounds than the xGoals of the shot itself. These are usually shots that occur far from the net by defensemen.

By combining xGoals from non-rebound shots and xGoals of xRebounds, we can create a metric called 'Created Expected Goals'. This metric attempts to give credit to the player who does the work generating the xGoals. Compared to the xGoals metric, it punishes players who just feed on the rebounds of other's shots. Defensemen tend to do better in this metric than xGoals, while some centres often due worse. While we cannot accurately always assign credit for 'creating' an xGoal, this metric tries to make it more fair than just giving all the credit to the shooter. xGoals from rebounds are given no direct credit in this metric. Rather, credit is given to players who take shots that are likely to generate juicy rebounds.

Created Expected Goals = xGoals of Non-Rebound Shots + xGoals of xRebounds

By leveraging the season simulations in the event of each of a regulation win, regulation loss, OT loss or OT win, we can see the impact of playoff odds in real time as the odds of different outcomes of the game change.

For the 2020-2021 regular season, the team the pre-game model had as the favorite won 60.1% of games. The model's log loss was 0.6596.

For the 2015-2016 season, the MoneyPuck model had the Penguins as the most likely to win the Stanley Cup from March onwards. This was partly due to them having the likely match-up of the New York Rangers in the first round, which greatly improved their Cup chances.

#Penguins now have highest Cup odds. #LAKings still best team but have harder path to finals https://t.co/Xm8baqGqGI pic.twitter.com/apeEpiTlO7

— MoneyPuck.com (@MoneyPuckdotcom) March 27, 2016

How our playoff odds did this season. Had all the playoff teams right at Christmas except for the #LAKings. Sorry Kings! pic.twitter.com/sXMXE3VDrP

— MoneyPuck.com (@MoneyPuckdotcom) April 9, 2017