Functional form

\(Pr(Y_n <= y') = \Lambda(\sum_{h=1}^6 \beta_{H_{n,h}} - \sum_{a=1}^6 \beta_{A_{n,a}} - \theta_{y'})\)

\(G_k \sim \mathrm{BetaBinom}(82, \Lambda(\alpha + \delta \beta_k), \phi)\)

\(\mathbf{\beta} \sim \mathrm{N}(0, \sigma)\)


  • Data
    • \(N\): the number of seconds of regular-season play observed across all games in the data set.
    • \(K\): the number of player-years in the data set.
    • \(H\) and \(A\): \(N \times 6\) matrices with elements in \(\{1, ..., K\}\) denoting home and away players on ice.
    • \(Y\): a vector of length \(N\) with elements equal to 1 (away shot), 2 (no shot), or 3 (home shot).
    • \(G\): a vector of length \(K\); regular-season games played by player and year.
  • Parameters
    • \(\beta\): a vector of length \(K\); rating for each player-year.
    • \(\Theta\): a vector of length \(2\): logit-transformed overall probabilities of away and home shots for balanced teams.
    • \(\alpha\): logit-transformed expected fraction of games (out of 82) played for an average (\(\beta = 0\)) player.
    • \(\delta\): expected increase in logit fraction of games played for a one-unit increase in \(\beta\).
    • \(\phi\): precision parameter for beta-binomial distribution.
    • \(\sigma\): overall standard deviation of NHL player ability levels.
  • Functions
    • \(\Lambda(x)\): the logistic CDF \(\frac{exp(x)}{1 + exp(x)}\)
    • \(\mathrm{BetaBinom}\): the beta-binomial distribution parameterized by size (82 games), probability, and precision


  • The null skater gets a rating \(\beta_0\).
    • i.e.¬†unless the home team has an extra attacker at time \(n\), \(H_{n,6} = 0\); if they are shorthanded, \(H_{n,5} = 0\), and so on.
    • \(\beta_0\) is not subject to the normal prior, nor are games played by the null skater used to fit the beta-binomial term.
    • The rating of the null skater does not vary by year.