Using Marcels to Forecast Player Performance in Hockey

In the realm of baseball statistics, Tom Tango (@TangoTiger) is well known for his simple yet effective forecasting system dubbed The Marcel the Monkey Forecasting System (or Marcels for short). Why “Marcel the Monkey”? Tango relates his projections to stock prices. Like a stock price, Marcel forecasts are based on all known information. Predicting that a player will outperform or underperform his Marcel projection is as accurate as a monkey picking a stock to improve. The implication is that Marcel forecasts model a player’s true talent level and fluctuations away from those forecasts can be largely attributed to randomness.

A Marcel projection is determined by the following procedure…

  1. A player’s past performance is weighted by temporal proximity (recent seasons are valued more than earlier ones).
  2. Projections are regressed to the mean to an extent that is dependent on the sample size of the player’s weighted past performance
  3. An age adjustment is applied.

We can use Tango’s Marcel methodology to predict player performance in hockey by following the same three-step process. I have done exactly that.

Continue reading if you are interested in the process of calculating Marcel projections. Skip to the RESULTS section of the piece if you simply wish to see player forecasts for the 2015-16 regular season.

STEP 1: Weighting Past Performance

We can improve our ability to forecast future performance at the player level by using data that encompasses multiple seasons versus using a single season’s worth of information. There is room for improvement still, by weighting past seasons based on their recentness. The question is how to determine the value of a player’s stats in 2014-15 relative to his stats in 2013-14 and 2012-13. The answer: Multivariate regression.

Using season’s n-3, n-2 and n-1 as our independent variables and season n as our dependant variable, we can run a regression and determine the appropriate weightings for each of a player’s last three seasons. Running a regression for all forwards to play 30+ games in each of their last 3 seasons and 60+ games in their immediate season produces the following coefficients for individual Shots/60…


Considering our objective, the intercept is irrelevant. P-values <0.05 suggest that each of a forward’s last 3 seasons are statistically significant when predicting future performance. Based on the coefficients, it’s reasonable to weight a forward’s last three seasons 5/2/2 (a simpler alternative to 0.50/0.17/0.20)…


The same regression is performed on TOI/Gm, Shooting%, Assists/60 and CF% Rel. Doing so gives us the following weights…


STEP 2: Regressing to the Mean

Simply weighting a player’s past performance doesn’t necessarily reflect his true talent level. In hockey, a large portion of what we observe is the result of randomness. Because of this, we should expect a player’s true ability to be closer to the mean than his statistics indicate. The extent to which we regress to the mean depends on sample size (smaller sample = regress further to the mean).

If you look at projected individual Shots/60 calculated using our weights determined in Step 1, you will notice that a player’s subsequent season typically yields results closer to league average…


*Each bucket contains 100 forwards

As you can see, a forward projected to manage 11.0 Shots/60 only averages 10.1 in his next season. Given the total sample of forwards, projected Shots/60 best reflects future performance when regressed 16% to the mean. The average forward in the data set had an existing weighted sample of 775 minutes. Therefore in order to regress 16% to the mean on average, we need to add an additional 148 minutes with a league average Shots/60 to their existing weighted sample.

What is a weighted sample? It is the resulting TOI from applying Marcel weights for Shots/60 on past seasons.

Ex. 5-2-2 weights are applied to last 3 seasons which consist of 450, 550, and 200 minute samples. [(450*5) + (550*2) + (200*2)] / (5+2+2) = 406 minute weighted sample

How did I arrive at 148 minutes?

Average weighted sample of 775 minutes x (16% / 84%) = 148 minutes.

A forward with a projected Shots/60 of 11.0 after 775 weighted minutes should be expected to manage a Shots/60 of 10.4 in his next season. ((775*11)+(148*7.2))/(775+148) = 10.4

The same method can be used to regress other metrics…


STEP 3: Adjusting for Age

The last and most simplistic step is adjusting for age. In this case, we will limit our sample to forwards and defensemen to play 40+ games in their immediate and previous season. Next, we can find the relationship between age and (Shots – Projected Shots/60)…


The linear equation can then be used to adjust Projected Shots/60 considering the age of the player in question. The same age-adjustment method can be easily applied to the rest of the projected measures.


The following table compares the predictive ability of Marcel projections to single-season data (40+ GP in season n-1, 40+ GP in season n)…


Here are your projected Forward leaders in each 5v5 category for 2015-16…


…and here are your projected leaders among defensemen


Click here to download a spreadsheet containing 2015-16 projections for all skaters (All data is 5v5)

Big thanks to for the data used to calculate these projections


3 thoughts on “Using Marcels to Forecast Player Performance in Hockey

Add yours

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Create a free website or blog at

Up ↑

%d bloggers like this: