What's a UFA worth?

This summer, the Oilers and MacT are going to sign a UFA or three.

They're also going to (have to) overpay those UFAs. You know it and I know it.

So riddle me this:

  • How much of an overpay will it be?
  • And how will we know how much of an overpay it actually is?

Getting along with your relatives...

The tough thing about justifying statements like "he's overpaid" or "that's a bargain contract" is that ... those statements are relative. They all involve comparison to some standard of fair pay for a UFA. That's kind of what makes it a challenge – that standard of comparison, "fair pay", is neither defined nor standard!

The goal

So I set out to answer this question:

Can I define some objective, reasonable, up to date measure of fair pay for a UFA?

I did it the only way I know how: heavy use of psychotropic drugs and heavy duty number crunching*.

*By which I mean entirely the latter.

Define the Standard or Standardize the Definition?

The most common point of reference of "fair pay" for a contract is to compare similar players – similar in experience, point productivity, role, etc. – and then compare the contracts. That’s usually how they do it in arbitration hearings, and this is a pretty reasonable way to approach it.

However, just looking at similar players fails to take into account the interrelationship of contracts across the league. You don’t just pay a player $x because other similar players get that number. You are also influenced by the contracts given to superior players – they represent a contract ceiling. Equally relevant are contracts to inferior players – they represent a contract floor. And those contracts in turn are affected by similar/better/worse player comparables. And so on and so on.

Taking that a step farther … the NHL is actually a closed system, and in the big picture it means every NHL contract potentially influences every other contract in some small measure. So in that same big ass picture, you should be able to use every contract in the league as a comparable. And that’s just what I’ve tried to do!

Cap Hit vs Career PPG

After some experimentation, I decided to start my analysis with forwards, and use as the basis of my analysis a linear fit to two variables, cap hit vs career PPG. Doing this would give a line that – in theory – would give a standard of fair pay for points for any forward in the NHL. The analysis would use contract data across the league, and not just data at some arbitrary salary point.

Before we start, you might want to know ... why career PPG? First, it’s points-based, and I think it's not too controversial to declare that scoring is the most important aspect of what gets an NHL player paid. Second, it’s not an overly volatile number, unlike a single season type of number. Third, it will tend to overvalue players late in their careers (whose ppg is likely to decline) and undervalue players early in their career (whose ppg is likely to rise) – hey, just like the real world!

And lastly, I did look at including a variety of other data markers into the equation (e.g. Corsi, TOI, +-). Surprisingly (or maybe not), the additional choices did not generally improve the correlation – combining two or more variables into a single value that makes sense can get quite complicated, and even when successful, the result usually made the correlation worse. The cloud got fuzzier, as it were.

So I stuck with just career PPG in the end … sometimes simpler really is better.

Before, we go any further, let’s get to the good stuff and take a look at the results first …

Da Chart

For this analysis, I excluded contracts that were Entry Level, and also any contracts that ended with the player still an RFA. If the contract was signed as a UFA OR the contract left the player at or past their UFA years, I counted it.



You can of course calculate a linear fit to any set of x,y data, but that doesn’t mean it has any validity. In this case, though, you can see that visually the data and the line are pretty close in ‘shape’, and the data is well distributed about the line. Confirming that, note that the correlation is very high – it’s an outstanding fit, actually. It's clear that career PPG is highly related to (predictive of) cap hit.

One other thing to point out before we continue – notice that there are some odd cap hit numbers at the bottom left, below the NHL minimum. The cap hit data comes from, and after a bit of digging, it appears those odd numbers mostly reflect players (on both one-way and two-way contracts) who only played a partial year in the NHL. Those data points made for an interesting but seemingly still valid cluster, so I left that data in.

Using the Data

OK, so now that we’ve got this fit, this line that represents ‘fair contract value’, how do we actually use it? The simplest approach is simply to take a player, find his career ppg and cap hit, and draw the resulting point on the chart. Close to the line means that player’s contract value is ‘fair’. Points that are on the upper side/left side of the blue line are better than average i.e. high value or bargain contracts. Conversely, points on the bottom side/right side of the blue line are contracts that are worse than average value, or overpays.

I annotated Hall and Ebs so you can see where they fit.

If and when the Oilers sign some UFA forwards this summer – draw the point, eyeball the overpay! Or you can get all sophistimicated and actually use the regression equation to calculate the exact amount of overpay (or less likely … underpay).

Of course, there are so many other things that you pay for in an NHL player other than PPG – defensive play, gritensity and hitting, faceoffs, face punching offs, hot WAGs … the point of this is just to try and quantify the overpay based only on the simplest driver, points.

An overpay on those other factors may be perfectly justified – the ‘why’ of any such individual overpay is an exercise left to the reader.

Other Amusing Activities

Just for gits and shiggles, I went a step farther and used the inverse of the fit equation to calculate the cap hit over/under for both Oiler UFAs as well as a few others of interest … take a look.



I think highly of Boyd Gordon, and Hendricks has been a bit of a pleasant surprise, but … boy, the Oilers sure paid a premium with those two guys for defensive awareness, faceoff wins and gritensity. And Thank Gord we dodged the Clarkson bullet.

See anything else surprising? I have to admit, I found the Mike Brown result more than a little amusing…

Acknowledgements and Next Steps

The player information from which I generated career PPG information comes from the amazing spreadsheets made freely available by Rob Vollman at What a gift!

The cap hit information comes from the good folks at Note that reconciling the two datasets is a potential source of error, though I did my best to ensure they were clean and consistent.

The number crunching was accomplished using the staggeringly useful open source tools that run under Python, specifically numpy, Pandas, and matplotlib.

Thanks to a number of commenters over at, whose early feedback helped refine my analysis and explanation.

Up Next

Part two of the analysis – defensemen.

We all want to know how how much MacT is going to sign Fraser for this summer, right?

Log In Sign Up

Log In Sign Up

Forgot password?

We'll email you a reset link.

If you signed up using a 3rd party account like Facebook or Twitter, please login with it instead.

Forgot password?

Try another email?

Almost done,

By becoming a registered user, you are also agreeing to our Terms and confirming that you have read our Privacy Policy.

Join The Copper & Blue

You must be a member of The Copper & Blue to participate.

We have our own Community Guidelines at The Copper & Blue. You should read them.

Join The Copper & Blue

You must be a member of The Copper & Blue to participate.

We have our own Community Guidelines at The Copper & Blue. You should read them.




Choose an available username to complete sign up.

In order to provide our users with a better overall experience, we ask for more information from Facebook when using it to login so that we can learn more about our audience and provide you with the best possible experience. We do not store specific user data and the sharing of it is not required to login with Facebook.