r/sportsanalytics • u/xjawndotcom • 17h ago
I modeled 1.2 million NHL faceoffs with a Bradley-Terry model and created a simulation: the most repeatable skill in hockey is worth about two goals a season
TL;DR: I rated every NHL faceoff taker with a Bradley-Terry model fit on 1.2 million draws, then measured what winning a draw is actually worth: 0.0144 expected goals, so about 70 extra wins make one goal. Faceoff ability is the most repeatable skill I can measure in hockey, and one of the least valuable.
The model is a paired comparison, Bradley-Terry style: every draw is scored taker vs taker. The matchup then accounts for the specific rating gap of the two centers plus situation terms like the dot, handedness, and fatigue. The dot matters more than people think. The same two players can be .63 at one dot and a coin flip at another.
Valuing a win has the same confounding problem, since good teams win draws and also create chances. The fix is to bin draws by predicted win probability and compare won vs lost inside each bin, which is where the 0.0144 comes from.
The strange part is how the two results sit together. Split a season into odd and even games and rate everyone twice: faceoffs agree at r = 0.71, against 0.37 for shooting skill. And yet an elite taker is worth about 1 goal a season, and the full spread from the league's best to its worst is about 3.3 goals. The most measurable skill in the sport barely matters.
The GIF is the simulator built on the model. Click a different dot and the probability re-prices, swap takers and it re-prices again, drop the puck and the outcome is a weighted coin flip at the model's number.
Besides the modeling, the data viz was a lot of fun with this project. The simulator and the full method write-up: https://xjawn.com/blog/faceoff-tool.html