Calculating the WAR Threshold for Qualifying Offers – Part 2

Editor’s note: This post contains considerable math. If you’re the sort interested merely in conclusions, scroll to the bottom.

Introduction
In my previous article, I developed a model for calculating the WAR threshold for qualifying offers, the threshold above which it makes sense for teams to hand out a qualifying offer to a player. In order to keep the math to a reasonable level, I limited myself to linear and exponential functions to model the probabilities that a player accepts the offer, declines the offer, and signs with another team. In this article, I extend the model to use a more rigorous class of functions called sigmoids. This should yield a better model, while still keeping the math to a reasonable level.

Analysis
Sigmoids are a class of functions that have “S” shapes, and which asymptotically approach two y-values as x approaches negative infinity and positive infinity. The most well known sigmoid is S(X) = 1 / (1 + exp(-X)) :

2016-fangraphs-QualOffer2-Sigmoid

This function satisfies the fundamental requirements of the P(rejects) function, that P(rejects) approaches 0 for low values of X, and approaches 1 for high values of X. We can generalize this function to S(X) = 1 / (1 + exp(-(a+bX))). Note that the previously graphed function is the special case of this generalization where a=0 and b=1.  In an intuitive sense, “b” controls the sharpness of transition between 0 and 1, and the value of X where S(X) = 0.5 is X = -a/b.

Here is a plot of our new P(rejects) function with a = -10 and b = 10:

2016-fangraphs-QualOffer2-Prejects

This plot shows that a player with projected WAR of 1.0 is 50% likely to reject a qualifying offer, and a player with projected WAR of 1.5 is 99% likely to reject the offer.

Similarly to the previous article, we will allow P(signs | rejects) = P(rejects). This is a reasonable assumption, and it makes our analysis much easier.

It follows that P(accepts) = 1 – P(rejects) = 1 – 1/(1+exp(-(10 + 10*PWAR))):

2016-fangraphs-QualOffer2-Paccepts

Our new formula for expected changed in team wins is:

E[change in team wins] = (PWAR – 2)*(1 – 1/(1+exp(-(-10 + 10*PWAR)))) + (1/(1+exp(-(-10 + 10*PWAR)))) ^ 2

Here is a plot of this formula:

2016-fangraphs-QualOffer2-ChangeWins

This graph is still a monotonically increasing function, and it has a zero-crossing at about 1.05, which means that the team should give out a qualifying offer if the player’s projected WAR is over 1.05.

Now let’s generalize this formula. Since we had previously defined the general sigmoid function in terms of the “a” and “b” parameters, we can write the formula for change in expected wins using these parameters:

E[change in team wins] = (PWAR – 2)*(1 – 1/(1+exp(-(a + b*PWAR)))) + (1/(1+exp(-(a + b*PWAR)))) ^ 2

We are particularly interested when this function has a zero-crossing. So let’s create a surface plot of the zero-crossing values against the “a” and “b” parameters:

2016-fangraphs-QualOffer2-zero-crossing

We see that there we can see a somewhat linear relationship between the plotted value and each of the “a” and “b” parameters, and the contour lines are defined at approximately points where a+b is a constant value.

In most cases plotted here, the projected WAR at zero-crossing is just slightly more than the value of -a/b (in the previous example, when “a” was -10 and “b” was 10, the projected WAR at zero-crossing was about 1.05). Recall that -a/b is the projected WAR at which the player is equally likely to accept or reject the qualifying offer.

Conclusion
Putting the pieces together, we have a rule of thumb that says that teams should hand out a qualifying offer when players are slightly over 50% likely to reject the offer (and conversely, slightly under 50% likely to accept the offer).  This makes intuitive sense, and perhaps is not surprising.

However, determining this level is as much an art as a science. Since only three players have ever accepted a qualifying offer, we have very little data on which to make this determination. It becomes somewhat of a guessing game for the clubs’ front offices to determine how likely each individual player will be to accept the offer. Each player will have different circumstances and mindsets, and that has to be taken into context when making the calculation.





Roger works as a software engineer by day, writes for The Hardball Times and FanGraphs by night, and has also worked for a Major League club.

2 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
merlin401
8 years ago

> “Editor’s note: This post contains considerable math. If you’re the sort interested merely in conclusions, scroll to the bottom.”

Math professor here: still scrolled to the bottom!

Nice job though!