Monte Carlo simulations are a really fun and interesting way to make predictions in just about anything, and this can be applied to many fields including hockey. Many different websites and experts use Monte Carlos to make predictions in hockey to determine final standings and points of teams. In this experiment, I create my own Monte Carlo to see if I can make similar prediction with reasonable outcomes. I then apply this method to the Vancouver Canucks and the Canadian teams in general.
To read learn more on my method, continue past the jump:
What is a Monte Carlo? The basic idea is you repeatedly sample something with random input. Wikipedia has a good article on how they work and its basic description is that Monte Carlo simulations are:
a broad class of computational algorithms that rely on repeated random sampling to obtain numerical results; i.e., by running simulations many times over in order to calculate those same probabilities heuristically just like actually playing and recording your results in a real casino situation: hence the name.
We can use this method by iterating over the remainder of the schedule in a hockey season many times (from 10,000 to 25,000 or higher) and randomly determining the winner of each game. Over many iterations the results will converge towards the norm. This is what I did for both the NHL, OHL and the AHL. The key to a successful Monte Carlo is that in how you determine how an individual game winner is randomly chosen that still realistically represents real life.
There are many methods you can choose to do this. For example, every game could become a coin flip, with both teams having a 50% chance of winning. It is well known that the home team wins 56% of games, so you could give the home team a 56% chance of winning. You may also have your own idea on how to determine the winner, such as weighting the team that isn’t the Oilers a bit more heavily in games including Edmonton.
For my method, I based it on my previous research where I’ve shown that the NHL is statistically identical to a league where 24% of games are determined by the better team and 76% of games are determined at random (21%/79% in the AHL, 43%/57% in OHL).
For every game a random number between 1 and 100 would be generated. If the number was less than or equal to 24, the game was won by the stronger team. In this case, that was considered to be the team with the higher Scored-Adjusted Fenwick (Est. Possession for the AHL/OHL). If the generated number was higher then it would be determined by a coin flip, in which either team has a 50% chance of winning. OT points were accounted for: in each game there was a 24% chance the losing team would earn 1 point (22% for the AHL, 20% for OHL).
Results – Ontario Hockey League
To test the model I ran the numbers on the Ontario Hockey League (OHL) to see what kind of output I could generate. My OHL Eastern conference prediction from the Christmas hockey break are as follows:
and the Western Conference:
|Sault Ste. Marie||5||65.62%|
Each OHL team has their most likely final conference placing listed as well as the probability they will finish at this position.
Results – American Hockey League
The next step was running it on the AHL and to see the likelihood of the Utica Comets, the Canucks farm team, of making the playoffs.
|In Playoffs||Miss Playoffs|
And we can use a Monte Carlo to see what their odds are to finish in each conference position are as follows
From this we can see that the Comets are not likely to finish in last place in the conference. This has been determined as likely given how much better they are in puck possession than those ahead of them in the standings, and how close they are in points.
Results – National Hockey League
Running the Monte Carlo on the Canucks we can estimate the number of points the Vancouver Canucks will earn as well as their chance of making the playoffs. This Monte Carlo was run during the Christmas break and it will slightly change as you are reading this and games have passed.
|In Playoffs||Out of Playoffs||Points|
Similar to the AHL, we can estimate their chance of finishing in each division position:
|Division Place||% Chance|
And just for fun here is the chance of each Canadian team making the playoffs and their estimated points. And no, I didn’t need the Monte Carlo to know that Edmonton had no chance.
|Team||In Playoffs||Out of Playoffs||Points|
My Monte Carlo seems to have some success. By comparing it with others such as SportsClubStats (who use a simpler method of determining game winners) as well as more advanced ones such as PuckPrediction the results seem to be in line. Regardless of the individual game winner method it appears that all these Monte Carlos used by hockey experts seems to be in agreement with each other. It will be interesting to see at the end of the season if any of these are close to the final output.
These aren’t my opinions on what the final outcome of these teams will be. They are the statistical results of my model. It’s a fun way to predict final outcomes in hockey and seems like a worthy method to try again in the future.
Of course, as with any predictions, there’s just so much that can change between now and then. If there’s anything I’ve learned this year with leagues such as the AHL, it is just how volatile they are and how quickly a team’s possession rating can change (likely due to large roster fluctuation). It’s easier said than done for some leagues.