The "Hot Stove Economics" salary model
“Hot Stove Economics,” JC Bradbury’s new book, concentrates on the question of assigning a dollar value to baseball player production. JC has changed his methodology somewhat from his first book, but … I still don’t agree with the book’s valuations.
JC does, roughly, what other sabermetricians do: First, he figures out how many wins a player’s performance is worth. Then, he translates that into salary. The first part, I think, is generally OK; it’s the second part that I’m not sure about.
The valuation part starts out the same way that others have done – by figuring out, at the team level, how winning more games helps them make more money. (Actually, he uses run differential, and throughout this post I’ll translate that to wins via the traditional sabermetric shortcut of ten runs per win.)
JC takes every team from 2003 to 2007, and plots revenues vs. wins. He gets a graph that looks fairly flat at low levels of wins, but starts rising, and accelerating, at 71 wins. To fit a curve, he settles on a cubic, and runs some regressions to get an equation that relates on-field performance to revenues. Here’s what he comes up with.
Revenue in millions = (0.0641)*RD + (0.000979) * RD^2 + (0.00000312) * RD^3 + (.0000061 * metro population) + (19.55 if there’s a “new stadium honeymoon”) + 95.5
(RD = run differential (runs scored minus runs allowed). Population is metropolitan statistical area. A new stadium honeymoon is considered to exist if the team is playing in a stadium that’s 8 or fewer years old.)
There’s a surprise here. Under the model, an additional Nth win (or run) is worth exactly the same amount, regardless of the size of the market. That’s a bit counterintuitive. You’d think that if the Yankees improve from 65 wins to 95, that’ll create more revenue than when the Brewers move from 65 games to 95. Fans spend more money when their team wins more, so you’d think that, since the Yankees have at least twice the fan base as the Brewers, an extra win by them would create a lot more revenue than an extra win by the Brewers.
But the model says no.
Why? In a nutshell, I think there weren’t enough datapoints in JC’s regression for the “win worth more to a big market team” coefficient to come out statistically significant. That’s a subject I’ll talk more about in a future post. For this one, I’ll just talk about other aspects of the model.
Let me start by show you a graph of JC’s equation. This one is the above cubic function for revenues above average vs. wins, leaving out the fixed team effects. (It’s figure 6.1 in the book, page 121.)
And here’s a graph of revenues per marginal (additional) win. That one’s not in the book. I graphed it by taking the derivative of the previous curve. (This is the more important curve, and I’ll be referring to it often.)
(You can double-click on any graph for a larger version.)
There’s something not right here. From the second curve, you can see that once you get past 71 wins, each win is worth more than the last. If that’s the case, why would any team every stop spending? The Yankees have seen fit to spend themselves into a 95- to 100-win team every year. But if the 101st win is worth even more than the 100th win, why do they do that? Why don’t they spend and spend and spend, into the 130s and the 140s?
Obviously, this can’t be the way things are in the real world.
A more reasonable model would have the value of a win coming down somewhere in the range of 95 wins or so, on the theory that once the team has shown that it’s good enough to make the post-season, the fans won’t necessarily spend much more when their team wins 107 games than when it wins 106.
Another thing that doesn’t look quite right is the behavior of the curves in the range for mediocre teams. From about 63 wins to 78 wins, JC’s model suggests that teams earn *less* money by winning more! That doesn’t really make sense, does it?
JC calls the dip the “loss trap.” In fairness, he does suggest (page 122) that it might just be an artifact of having chosen a cubic equation for the model. But, he also wonders if it could have something to do with revenue sharing, that when teams get successful, they have to pay more into the common pool. Unless I’m missing something, I don’t see how it could. The marginal tax rate on additional revenues is only 31%, so you’re still making more money after revenue sharing is deducted. It’s like if you get a raise at work – even though you pay more taxes, you’re still better off, so long as you’re in a tax bracket that’s less than 100%.
And, in addition, if you look at the empirical data instead of the fitted model – which JC shows on page 76 – there’s no “loss trap” there at all. It shows rising revenue, as you’d expect. Very slightly rising, but still rising.
Even if you flatten the “loss trap” to be horizontal instead of negative (as JC does), the curve would show that, between about 62-100 and 81-81, revenue barely changes at all. That doesn’t make sense. Suppose you’re at 62-100, and you spend millions of dollars to buy 19 wins worth of free agents, like a Pujols or three. Should you really expect that you’re throwing 100% of your money down the drain, that the fans won’t wind up buying any more tickets than before? Or, going the other way: if you’re at .500, and you sell off all your decent players, pocket the payroll savings, and drop to 100 losses … will the fans really just shrug and spend the same amount they used to?
That can’t really be right, can it?
So I think the problem is with the model. Part of the problem is that it treats every team as having the same revenue curve, and part of the problem is the fact that JC insisted on fitting a cubic equation. The cubic causes a couple of common-sense principles to be left out of the model – that marginal revenue per win has to top out somewhere before 100 wins, and that every win has to increase revenues at least a little bit.
If you look at other models, (such as Nate Silver’s, and my tweak of Nate’s), they look similar to JC’s, but they satisfy those two conditions -- they deliberately bring down the value of wins once you reach the mid-90s. JC’s actually looks a lot like mine – all you have to do is raise it a bit, so that every win is positive, and reverse it at about 95, so it heads down instead of up.
For the record, here’s Nate’s curve, followed by mine.
In any case, maybe all that is a nitpick. You can always just take JC’s curve and tweak it in all the right places, and JC’s calculations will actually not change that much.
But, they still matter. JC’s methodology is to estimate a player’s value by his “Marginal Revenue Product” (MRP), and that depends, to a large extent, on getting the revenue curves right.
In economics, the MRP is defined as the value the last unit of labor is worth to a firm. It’s a principle of economics that, in a free market, with perfect information, a worker gets paid exactly his MRP. The key is that it has to be the *last* unit of labor.
In the past, I’ve disagreed with JC about how this actually works in a baseball context, but here’s how I think it works in real life:
Suppose you run a mechanic shop, business varies randomly from day to day, and you’re open 9 hours a day. You charge customers $60 an hour for a mechanic’s labor, and you pay the mechanics $20 an hour.
Suppose you have enough business to keep one mechanic occupied for 100% of his time. Obviously, you’ll hire him. His revenue will be $540, and he’ll only cost $180.
Will you hire a second mechanic? Suppose there’s not enough business to be sure both mechanics are always working. Maybe the second mechanic will only be busy for 6 hours a day. (In real life, you’re not going to have one mechanic working 9 hours and the other one 6 – you’ll probably work them both 7.5 hours each. But let’s ignore that for now.) Still, 6 hours is enough that you’ll hire him. He’ll bring in an extra $360, and you’ll still pay him $180.
If the third mechanic would bring in only an extra five hours a day, you’ll hire him too – you gain $300 and pay $180.
Now, maybe the fourth mechanic will add only three hours of billable work a day. He’ll bring in $180, and cost $180. Now, you’re indifferent to whether you hire him or not. Let’s suppose he actually brings in a tiny bit more than $180, so you hire him.
For a fifth mechanic, the extra potential hours of work he adds might be mostly wasted – there might be only two extra hours when you need a fifth guy, on only the busiest days. On average, he adds two hours of revenue a day, or $120, but still costs $180. So, obviously, you don’t hire him.
The “workers earn their MRP” principle states that the wages of *every* mechanic are equal to the MRP of the *last mechanic you hire*. That works, here. The last mechanic is the fourth one. He brings in $180 in revenue. And all your mechanics earn $180.
In this example, we knew the revenue curve for the shop, and also the market wage for mechanics. But suppose we didn’t know the wage? No problem. We could just look at the shop, and see that it has four mechanics. We then check, if we added a fifth mechanic (or, actually, a fraction of a fifth mechanic, in order to keep the marginal-revenue curve continuous), how much more revenue would he bring in? Maybe it turns out that if we hired the fifth guy for six minutes, the shop would earn an extra $1.98 in revenue. So those six minutes are worth $1.98 in wages, which works out to $19.80 an hour, close to the actual figure of $20.
Now, you could do this for *any* mechanic shop, not just this one. If you find the biggest Chevrolet dealer in town, with 70 mechanics, you’ll still find that six minutes of a hypothetical 71st mechanic is still worth about $20 an hour.
No matter which garage you look at, the salary always equals the MRP of the last unit of labor.
JC now tries to extend that to baseball players – or, more specifically, the wins they bring in. If you believe a player is paid his MRP, the first thing you have to do is figure out how much the *last player hired* brings to the team.
So, what JC does, is he says, OK, just like you can take any mechanic shop and figure out the MRP of the last mechanic, you can take any baseball team and figure out the MRP of the last player. So, let’s just take an average team. Suppose it hires one last player, who’s 1 run above average, and it becomes an 82-win team. How much is that extra win worth in revenue?
And JC’s cubic equation tells him that. So that’s the player’s MRP, and so that’s what a win is worth.
That would work, except for one thing: for the value of the 82nd win to be the MRP, it has to be the *last win hired*. But it won’t be! If you look at JC’s curve, or even Nate’s or mine, we all agree that the 83rd win is worth more than the 82nd, and the 84th win is worth more than the 83rd, and so on up to at least 90.
So, it will never be the case that a rational team, in a free market for wins, will stop hiring after the 81st or 82nd win. Because, if they chose to hire the 81st win, they will *always* hire an 82nd win – it costs the same as the 81st win, but brings in more revenue!
For a rational team, the 82nd win will never be the last one hired, so it can’t be the MRP.
It’s like … suppose I offer that if you go out and buy me apples, I’ll pay $1 for the first one, $2 for the second one, and $6 for the third one. How many will you bring me? It depends. If apples cost less than $3, you’ll bring me three. If apples cost more than $3, you’ll bring me none. There is *no* case where you bring me exactly one apple or exactly two apples. And so the marginal value of the second apple -- $2 – is almost meaningless in terms of figuring out when an apple is worth buying.
What JC is doing is figuring out what the 82nd win is worth, but, because that win isn’t the last, it’s NOT the same as figuring out the MRP of a win.
I’ve argued that no team will ever stop buying free agents at 81-81, that it will always continue on to at least the high 80s. Why, then, is it the case that you can find teams that win between 81 and 85 games, if the model says it shouldn’t happen?
Luck, mostly. The model doesn’t say that no team will *finish* 81-81 – it says that no team will *buy an 81-81 level of talent*. Teams that go 81-81 were probably teams that got lucky when management budgeted for (say) 74-88, or teams that got unlucky when management budgeted for (say) 90-72. The standard deviation of wins in a season from luck is about 6, so, about 1 time in 20, a team will finish 12 games above or below where you’d expect.
In addition, teams don’t have perfect information or perfect scouts. They might think they have a team capable of winning 88 games … but, alas, they overestimated the value of their stopper and their free-agent first baseman, and, unbeknownst to them, they really assembled an overpriced 83-win team.
Still, it’s not hard to think of reasons for teams to target 81-81 that sound plausible. For instance, maybe they’re in such a small market that it’s not worth it for them to try to get to 89 wins – they’d rather stay at 81 and hope for luck. They might prefer to sell some of their young, underpaid players for cash, but they can’t. And so, they shrug and go with what they’ve got.
That’s not unreasonable, but it’s not consistent with JC’s model. First, the model assumes that all teams have the same revenue curve, so there are no teams whose revenues per win are smaller than others. Second, if a team holds on to players only because they can’t sell them, that contradicts the assumptions of the “salary=MRP” hypothesis, which assumes an efficient market both ways.
So, when valuing individual players, JC estimates the number of runs above or below average they were responsible for. He then goes to the revenue graph and figures out how much revenue those runs are worth to the average team (positive runs are worth more than negative runs, because the curve is steeper on the positive side of 0 than the negative side).
Then, since the curve is denominated in runs above or below average, he adds in what the “average” is worth for a player with that many plate appearances. The total, then, is the MRP for that player.
Two concerns about how he does all that:
1. In some cases, JC’s valuation comes in a lot different from the market price of the player. CC Sabathia, for instance, signed a contract worth some 15% more than the model estimates, even after assuming a generous 9% inflation rate for future years.
Why is that? JC explains that it’s because the Yankees are a better than average team. The better the team, as you remember from the graph, the more additional wins are worth. Therefore, because Sabathia joins a better-than-average Yankee team, his contribution is higher up the revenue curve than it would be for an average team, and so he’s worth more.
But that’s not right at all!
Basically, what JC is doing is saying that the bigger garage pays a mechanic more because he brings in more revenue for them. But that’s not how MRP works.
If you recall, the revenue value of the mechanics to the owner were:
1st mechanic: $540
2nd mechanic: $360
3rd mechanic: $300
4th mechanic: $180
Now, suppose there’s another garage that charges more per hour (because it’s in a more expensive part of town, say, or it has better equipment). Its revenue curve looks like:
1st mechanic: $720
2nd mechanic: $480
3rd mechanic: $400
4th mechanic: $240
5th mechanic: $180
Suppose these two garages are hiring free-agent mechanics. So far, they’ve hired two each, and they’re looking for a third. They interview a candidate.
Now, if the first garage hires the new guy, revenue will increase by $300. If the second garage hires the new guy, revenue will increase by $400.
Does it follow, then, that the new guy has a higher MRP if he’s hired by the second garage? Will the second garage offer more money for that mechanic?
No, to both questions. MRP is the value of the LAST mechanic hired, not the NEXT mechanic hired. Neither garage has hired its last one yet. When they do, it will be the fourth one for the first garage, and the fifth one for the second garage. Both will bring in $180, and therefore earn $180. $180 is the MRP.
In mechanics, and baseball players, and real life, when one party values something higher than the next party, that does NOT mean they pay more for it. It means they buy a higher quantity. If I love Taco Bell and you only like it, it doesn’t mean I wind up paying $3 for a taco while you pay $1. It means that we both pay $1, but I wind up going more often.
Similarly, the bigger garage doesn’t pay more for mechanics – it just hires more of them. And the New York Yankees don’t pay more for free agents – they just sign more of them.
According to my (admittedly limited) knowledge of economics, that’s one of the fundamentals of markets, the “Law of One Price.” It doesn’t matter how much I want, need, or value a product, compared to you: in a competitive market, we wind up paying the same price.
I might value my first taco of the week at $3, and you might value it at $1. But we each pay $1. The difference is that I value my second taco at $1, and you value it only at 50 cents. Since it costs $1, I buy a second one and you don’t.
What I think JC is doing here is saying, “well, it looks like the Yankees are paying $2 for a $1 taco, but that’s because they like tacos so much.” That’s not right. If the Yankees like tacos so much, they won’t pay $2 for them. They’ll just buy more of them at $1.
If CC Sabathia’s salary is higher than the model thinks it is, it could be because:
-- there’s something wrong with the model or calculation
-- the Yankees overestimated Sabathia’s value when they signed him
-- the market was imperfect at the time of Sabathia’s signing (maybe he was the only decent pitcher left and the Yankees were desperate).
But it’s *not* because Sabathia’s MRP is higher with the Yankees.
2. If a player is worth 50 runs, the calculation is the difference in revenue between a team with a run differential of zero, and a run differential of 50. That’s not quite right, and can overestimate the value of good players.
If you’re trying to estimate the marginal value, you take the thinnest slice you can. So if a player has a run differential of +50, you pretend he’s a +1, figure out the gain, and multiply that by 50. Even better, you pretend he’s a +.0001, figure out the gain, and multiply by 50,000.
If you don’t do that, you’ll wind up rating a +60/+0 combination higher than a +30/+30 combination. You’ll also wind giving a +60 more positive revenue than you give a –60 negative revenue. That makes no sense, because if you hire a +60 and a –60 simultaneously, you should get zero.
Another way to look at this: in equilibrium, the unit of labor you want to use is the smallest one possible – it’s not the player, it’s the win (or the run). The “MRP=Salary” identity tells you that a team’s last *run* should be valued at the revenue the run provides. It does not say that the last ten runs, or hundred runs, or million runs, should be valued at the revenue that many runs provide.
It’s impossible for both to be the same, since the value of the run changes as the team gets better.
So, how *do* you find MRP based on this model? Well, maybe you start by figuring out where the equilibrium is. Given the model, how will teams target their spending?
Start by recalling that JC has every team with exactly the same marginal revenue curve. That means that, since we’re assuming that every team is rational, they all have to be pursuing the same strategy. Since the average team has to be 81-81, that might be what they’re all shooting for.
But, as we saw, it’s not rational to shoot for 81-81 … if the 81st win is worth buying, then so is the 82nd, and 83rd, and so on, all the way to infinity.
So, it probably works like this: some teams trade away their talent to other teams. As a result, you wind up with two sets of teams. One set of teams targets 130-32 or something. The other set of teams winds up getting rich on other teams’ money by selling them talent and winding up deep in the second division.
In that case, the task is to figure out exactly where on the curve that equilibrium winds up. After crunching the numbers, you’ll probably wind up with something like, 15 teams at 130-32, and the other half at 32-130. Then, you can go to the revenue curve, and figure out the value of the 131st win (or, actually, the run that brings you from 130 wins to 130.1 wins). That becomes your MRP.
But that’s obviously not convincing, because it’s not true to real life. To get a realistic MRP, you need a realistic equilibrium. And the logical implication of your model is that half the teams should be at 130 wins and the other have at 130 losses … well, that certainly isn’t realistic.
The bottom line: in order to draw valid conclusions about revenue and wins, you need an accurate model. It’s just not possible to get a decent estimate for MRP by assuming team revenue follows 30 identical cubic equations.