Home Ice Advantage

This explores the implied home-ice advantage for the model in use by Daily FaceOff for their Daily Betting Numbers

Basic

The first thing to look at is the ‘normal’ rankings of a team. We’ll use the win/loss submodel but this

attack <- mean(HockeyModel::iterativeRankings$rankings_wl$Attack)
defence <- mean(HockeyModel::iterativeRankings$rankings_wl$Defence)

So, the average team’s attack ranking is -0.32 and their defence rating is 0.35.

We’ll feed this back into some of the code that calculates wins/losses before we start to tune things.

Note that the model’s built-in (tuned) intercept is 1.714 and home_adv is 0.075. These are unitless at this point.

Note that, since we’re using equally well opposed teams for this first investigation, the attack & defence terms are shared. In reality, home_attack and away_attack are separately used.

# Calculate poisson expected goals
mu_h <- exp(intercept + attack - defence + home_adv)
mu_a <- exp(intercept + attack - defence)
pm <- HockeyModel:::prob_matrix(mu_h, mu_a, params=NULL, maxgoal=10)

# This is home and away win
h<-sum(pm[lower.tri(pm)])
a<-sum(pm[upper.tri(pm)])
normalized <- HockeyModel::normalizeOdds(c(h,a))

So, the home team win percent is 41.1 % and the away team 34.5 %. The remainder of the percentage is assigned to a draw. Thus the home ice advantage for two equally-opposed average teams is 6.5 %. If not accounting for draws, the home win percent is 54.3 % and the home-ice advantage is 8.6 %.

Real-World Examples

Toronto and Ottawa

Say, for example, we have a home & home for Toronto and Ottawa. What’s the difference in win percent for those two teams?

toronto_attack <- HockeyModel:::getTeamRankings("Toronto Maple Leafs", HockeyModel::iterativeRankings$rankings_wl)$attack
toronto_defence <- HockeyModel:::getTeamRankings("Toronto Maple Leafs", HockeyModel::iterativeRankings$rankings_wl)$defence
ottawa_attack <- HockeyModel:::getTeamRankings("Ottawa Senators", HockeyModel::iterativeRankings$rankings_wl)$attack
ottawa_defence <- HockeyModel:::getTeamRankings("Ottawa Senators", HockeyModel::iterativeRankings$rankings_wl)$defence

The Leafs have attack and defend rankings of -0.23 and 0.39. Ottawa’s rankings are -0.34 and 0.33.

# Calculate poisson expected goals
mu_h <- exp(intercept + ottawa_attack - toronto_defence + home_adv)
mu_a <- exp(intercept + toronto_attack - ottawa_defence)
pm <- HockeyModel:::prob_matrix(mu_h, mu_a, params=NULL, maxgoal=10)

# This is home, draw, away win
h<-sum(pm[lower.tri(pm)])
a<-sum(pm[upper.tri(pm)])
ottawa_odds <- HockeyModel:::normalizeOdds(c(h,a))

For the game at Ottawa, the Senators’ win percentage (normalized) is 44 %.

# Calculate poisson expected goals
mu_h <- exp(intercept + toronto_attack - ottawa_defence + home_adv)
mu_a <- exp(intercept + ottawa_attack - toronto_defence)
pm <- HockeyModel:::prob_matrix(mu_h, mu_a, params=NULL, maxgoal=10)

# This is home, draw, away win
h<-sum(pm[lower.tri(pm)])
a<-sum(pm[upper.tri(pm)])
toronto_odds <- HockeyModel:::normalizeOdds(c(h,a))

For the game at Toronto, the Senators’ win percentage (normalized) is 35.6 %.

Thus, the Senators at home have an advantage of 8.4 %. Similarly calculated, the Leafs’ home advantage is 8.4 %.

Boston and Arizona

Let’s go for a huge difference in team strength and look at a Boston/Arizona back-to-back. Arizona has amongst the worst of both attack and defend skills, there are teams lower in each category but they are better on the other. In contrast, Boston is apparently good?

I’ll hide the code and just get to the end: Boston has a at home win odds of 82.1 % and away odds of 76.1 %. This results in a home ice advantage of 5.9 % for a game between these two teams.

Gut Check

This makes sense. The prevailing metric for a first pass of a model is ‘does it beat a basic model that just always says home win percentage = 55%’. That implies the naive model has a home-ice advantage of 10 %. Of course, the more different two teams are from each other, the more that where the game is played doesn’t matter - if Boston plays Arizona and only has 5.9 % home ice advantage makes sense. If Boston plays the local Junior A team - it doesn’t matter where they play - Boston will win. In contrast, when two teams are equally matched, any advantage that one team has over the other will make a big difference.