Major League Baseball payrolls for all teams since 1985. The New York Yankees payroll is highlighted with results defined by the shape of the point.
For years fans of Major League Baseball (MLB) have been crying ‘foul!’ at the New York Yankees regarding their spending habits. The primary complaint is that the Yankees have ‘bought’ their championships, leaving the other teams to squander in mediocrity.
What does it means to ‘buy’ a championship? Is there an implication that the Yankees are the only team to pay players while the rest rely on volunteers? Of course not – all players get paid (handsomely – see previous article on the rising MLB payroll).
Looking at the above graph, it is clear that the Yankees have been a top-tier paying team since 1985. However this has not resulted in a championship every year. In fact, during their world series run in the late 90s, their payroll was not always the highest.
It wasn’t until after 2000 that their payroll began to quickly outpace everyone else, resulting in a high water mark in 2005 (where they failed to make it past the first round of playoffs). Since then, a slow downward trend has occurred in their payroll – perhaps they have realized that throwing money at players isn’t the path to world series rings.
“But,” you ask, “does a high payroll equal a better winning percentage?” Analysis of payroll vs winning percentage (not shown) does seem to indicate a relationship, but not a strong one (r = 0.496, r2=0.214). This makes sense because a high salary does not indicate actual skill; rather, it has a lot to do with player contract composition and the subjective opinions of team management.
1) Will the Red Sox catch up in terms of payroll?
2) How long can the Yankees sustain their current spending habits?
3) What will the low-payroll teams do in order to close the gap to the high-payroll teams?
This graph was generated using the ‘ggplot2‘ package within the R programming language:
ggplot(adjusted.salaries.frame, aes(x=yearID, y=payroll)) + geom_point() + geom_point(aes(x=adjusted.yankees.frame$yearID, y=adjusted.yankees.frame$payroll, color="Yankees", colour=adjusted.yankees.frame$Result, shape=adjusted.yankees.frame$Result), size=5) + geom_line(aes(x=adjusted.yankees.frame$yearID, y=adjusted.yankees.frame$payroll, color="Yankees"), size=1.1) + ylab("Team Payroll (in U.S. Dollars)") + xlab("Year") + opts(title="MLB Payrolls: The New York Yankees vs All Other Teams (adjusted for inflation)", legend.title = theme_blank(), panel.background = theme_blank()) + scale_y_continuous(formatter = mysep)