Executive Summary
In this project, we plan to analyze the contract distributions among Major League Baseball (MLB) teams. We will utilize player contract data and input/output statistics for players. We will filter our data using a minimum number of Plate Appearances (PA) and Games Played (GP) in order to only access everyday MLB players. We will analyze data from the 2009-2018 seasons, the last ten seasons.
Research Question
What are the most valuable players in Major League Baseball in terms of salary and performance?
What MLB teams spent their payroll most efficiently?
What are the effects of a long term contract on a team?
Our Hypothesis
- The elite team controlled players are the most valuable players
- Most efficient teams have good quality team controlled players
- Long term contracts for old players can hurt a team in the long run
Market Size of MLB Teams by Location
Data
For our project, we source our data from Spotrac and FanGraphs.
Spotrac
Spotrac covers contract data throughout professional sports. They are able to divide up MLB contract data between team controlled, arbitration, and veteran players. We will access their data for the last eight seasons by scraping it from their website.
FanGraphs
FanGraphs tracks a wide variety of MLB statistics. FanGraphs also has a variety of blogs and publications that are updated daily. For purposes of this project, we will access FanGraphs data for the last eight seasons for MLB players by scraping it off of their website.
Spotrac Observations and Data
In our Spotrac data, there are 7,458 observations with 9 variables. The variables include Salary Rank, Name of Player, Team, Position, Salary (for the year), Years (length of contract in years followed by the duration of the contract), Total Value of Contract, and Average Annual Value of Contract, and Year.
FanGraphs Observations and Data
In our FanGraphs data, there are 12,774 observations and 23 variables. Some of the variables in this data include Season, Name of Player, Team Name, Games Played, WAR (Wins Above Replacement), and Offense/Defensive Runs, to name a few.
Data Refining
- WAR accurately describes a player’s production given a large sample size
- Evaluate players that are starters at their position
- Position players: 500 Plate appearances
- Relief pitchers: 40 appearances
- Starting pitchers: 140 innings
WAR v. Salary

Player Type v. Salary

Average Efficiency
- Average Efficiency = Career Salary/ Career WAR (within data set)
- Not inclusive of data outside 2011-2018
- Efficiency defines how much a team pays a player to produce one win
- Lower Average Efficiency is more desirable.
- Unit for efficiency is Dollars / Win ($/win).
Player Type v. Average Efficiency

Best Average Efficiency By Position
| 1ST BASE |
Cody Bellinger |
Dodgers |
147368.42 |
| 2ND BASE |
Ryan Roberts |
Diamondbacks |
117638.89 |
| 3RD BASE |
Matt Chapman |
Athletics |
84230.77 |
| CATCHER |
Alex Avila |
Tigers |
92391.30 |
| CENTER FIELD |
A.J. Pollock |
Diamondbacks |
76397.06 |
| CLOSER |
Sergio Santos |
White Sox |
310714.29 |
| DESIGNATED HITTER |
C.J. Cron |
Rays |
1095238.10 |
Best Average Efficiency By Position (cont.)
| LEFT FIELD |
Tommy Pham |
Cardinals |
109415.84 |
| OUTFIELDERS |
Andrew Benintendi |
Red Sox |
185634.92 |
| PITCHERS |
James Hoyt |
Astros |
1070000.00 |
| RELIEF PITCHER |
Jose Ramirez |
Indians |
107651.26 |
| RIGHT FIELD |
Aaron Judge |
Yankees |
66402.44 |
| SHORTSTOP |
Corey Seager |
Dodgers |
84108.53 |
| STARTING PITCHER |
Luis Severino |
Yankees |
100517.39 |
Worst Average Efficiency By Position
| 1ST BASE |
Ryan Howard |
Phillies |
58333333.3 |
| 2ND BASE |
Dan Uggla |
Braves |
5836065.6 |
| 3RD BASE |
Michael Young |
Rangers |
28235294.1 |
| CATCHER |
Ryan Doumit |
Twins |
5000000.0 |
| CENTER FIELD |
Adam Jones |
Orioles |
3965624.9 |
| CLOSER |
Sergio Santos |
White Sox |
310714.3 |
| DESIGNATED HITTER |
Albert Pujols |
Cardinals |
12120192.3 |
Worst Average Efficiency By Position (cont.)
| LEFT FIELD |
Vernon Wells |
Angels |
87291667 |
| OUTFIELDERS |
Nick Swisher |
Yankees |
3372222 |
| PITCHERS |
James Hoyt |
Astros |
1070000 |
| RELIEF PITCHER |
Heath Bell |
Padres |
27222222 |
| RIGHT FIELD |
Jason Bay |
Mets |
45312500 |
| SHORTSTOP |
Rafael Furcal |
Cardinals |
9285714 |
| STARTING PITCHER |
Carlos Zambrano |
Cubs |
26964286 |
Best Average Efficiency By Team
| Peter Bourjos |
Angels |
98571.43 |
| Carlos Correa |
Astros |
101313.73 |
| Matt Chapman |
Athletics |
84230.77 |
| Aaron Sanchez |
Blue Jays |
250878.05 |
| Brandon Beachy |
Braves |
143620.69 |
| Domingo Santana |
Brewers |
164303.03 |
| Tommy Pham |
Cardinals |
109415.84 |
| Kris Bryant |
Cubs |
106739.13 |
| A.J. Pollock |
Diamondbacks |
76397.06 |
| Corey Seager |
Dodgers |
84108.53 |
Best Average Efficiency By Team (cont.)
| Matt Duffy |
Giants |
173794.64 |
| Francisco Lindor |
Indians |
92702.13 |
| Mitch Haniger |
Mariners |
121782.61 |
| Emilio Bonifacio |
Marlins |
141666.67 |
| Brandon Nimmo |
Mets |
123548.44 |
| Trea Turner |
Nationals |
120250.00 |
| Wade Miley |
Orioles |
242741.94 |
| Cory Luebke |
Padres |
153925.93 |
| Aaron Nola |
Phillies |
113979.59 |
| Jameson Taillon |
Pirates |
154324.32 |
Best Average Efficiency By Team (cont.)
| Joey Gallo |
Rangers |
195914.29 |
| Kevin Kiermaier |
Rays |
119488.37 |
| Andrew Benintendi |
Red Sox |
185634.92 |
| Anthony DeSclafani |
Reds |
163709.68 |
| German Marquez |
Rockies |
157536.23 |
| Whit Merrifield |
Royals |
137438.27 |
| Alex Avila |
Tigers |
92391.30 |
| Byron Buxton |
Twins |
152857.14 |
| Philip Humber |
White Sox |
156250.00 |
| Aaron Judge |
Yankees |
66402.44 |
Worst Average Efficiency By Team
| Vernon Wells |
Angels |
87291667 |
| Brett Myers |
Astros |
11764706 |
| Billy Butler |
Athletics |
10808081 |
| Frank Francisco |
Blue Jays |
15833333 |
| Nick Markakis |
Braves |
8631313 |
| John Axford |
Brewers |
7944792 |
| Albert Pujols |
Cardinals |
12120192 |
| Carlos Zambrano |
Cubs |
26964286 |
| Heath Bell |
Diamondbacks |
27222222 |
| J.P. Howell |
Dodgers |
14300000 |
Worst Average Efficiency By Team (cont.)
| Barry Zito |
Giants |
21111111 |
| Roberto Hernandez |
Indians |
11854167 |
| Brandon League |
Mariners |
13281250 |
| Heath Bell |
Marlins |
27222222 |
| Jason Bay |
Mets |
45312500 |
| Rafael Soriano |
Nationals |
13846154 |
| Jeremy Guthrie |
Orioles |
11596774 |
| Heath Bell |
Padres |
27222222 |
| Ryan Howard |
Phillies |
58333333 |
| Kevin Correia |
Pirates |
8771930 |
Worst Average Efficiency By Team (cont.)
| Michael Young |
Rangers |
28235294 |
| J.P. Howell |
Rays |
14300000 |
| Dan Wheeler |
Red Sox |
10000000 |
| Bronson Arroyo |
Reds |
7407407 |
| Huston Street |
Rockies |
21867362 |
| Jeremy Guthrie |
Royals |
11596774 |
| Victor Martinez |
Tigers |
10735294 |
| Justin Morneau |
Twins |
10937500 |
| Paul Konerko |
White Sox |
11363636 |
| Rafael Soriano |
Yankees |
13846154 |
Best Average Efficiency By Year
| Alex Avila |
2011 |
CATCHER |
Tigers |
92391.30 |
| A.J. Ellis |
2012 |
CATCHER |
Dodgers |
140000.00 |
| Desmond Jennings |
2013 |
LEFT FIELD |
Rays |
169179.78 |
| Yan Gomes |
2014 |
CATCHER |
Indians |
147286.74 |
| A.J. Pollock |
2015 |
CENTER FIELD |
Diamondbacks |
76397.06 |
| Corey Seager |
2016 |
SHORTSTOP |
Dodgers |
84108.53 |
| Aaron Judge |
2017 |
RIGHT FIELD |
Yankees |
66402.44 |
| Matt Chapman |
2018 |
3RD BASE |
Athletics |
84230.77 |
Worst Average Efficiency By Year
| Vernon Wells |
2011 |
LEFT FIELD |
Angels |
87291667 |
| Michael Young |
2012 |
3RD BASE |
Rangers |
28235294 |
| Heath Bell |
2013 |
RELIEF PITCHER |
Diamondbacks |
27222222 |
| Ryan Howard |
2014 |
1ST BASE |
Phillies |
58333333 |
| Ryan Howard |
2015 |
1ST BASE |
Phillies |
58333333 |
| Yasmany Tomas |
2016 |
LEFT FIELD |
Diamondbacks |
15000000 |
| Albert Pujols |
2017 |
DESIGNATED HITTER |
Angels |
12120192 |
| Victor Martinez |
2018 |
DESIGNATED HITTER |
Tigers |
10735294 |
Best Average Efficiency on World Series Winning Teams
| Alex Bregman |
SHORTSTOP |
Astros |
102558.6 |
2017 |
| Jon Jay |
CENTER FIELD |
Cardinals |
762051.3 |
2011 |
| Kris Bryant |
3RD BASE |
Cubs |
106739.1 |
2016 |
| Madison Bumgarner |
STARTING PITCHER |
Giants |
863320.5 |
2012 |
| Madison Bumgarner |
STARTING PITCHER |
Giants |
863320.5 |
2014 |
| Daniel Nava |
LEFT FIELD |
Red Sox |
187037.0 |
2013 |
| Andrew Benintendi |
OUTFIELDERS |
Red Sox |
185634.9 |
2018 |
| Yordano Ventura |
STARTING PITCHER |
Royals |
414140.6 |
2015 |
Most Efficient Teams
| Indians |
2015 |
1044166.7 |
358820.2 |
81.1 |
| Brewers |
2017 |
936950.0 |
420671.4 |
76.5 |
| Astros |
2012 |
494437.5 |
434670.3 |
61.1 |
| Indians |
2014 |
1185469.9 |
469070.8 |
79.8 |
| Rays |
2018 |
974600.0 |
491770.6 |
73.8 |
| Mets |
2013 |
1126589.3 |
542934.6 |
68.6 |
| Padres |
2016 |
662714.3 |
713692.3 |
58.5 |
| Diamondbacks |
2011 |
2446133.3 |
730189.0 |
85.5 |
| Rays |
2011 |
2016185.2 |
762880.9 |
89.0 |
| Diamondbacks |
2015 |
1525272.7 |
793141.8 |
77.0 |
Least Efficient Teams
| Orioles |
2018 |
6636662 |
36870342 |
53.8 |
| Blue Jays |
2018 |
3107038 |
8877250 |
55.5 |
| Twins |
2011 |
4663333 |
8694350 |
57.9 |
| Tigers |
2017 |
8544643 |
7430124 |
61.2 |
| Giants |
2017 |
9818571 |
6582282 |
69.9 |
| Rangers |
2017 |
7299782 |
5879019 |
66.9 |
| Orioles |
2017 |
6773044 |
5613020 |
70.1 |
| Red Sox |
2014 |
5871333 |
5337576 |
61.9 |
| Tigers |
2014 |
12192500 |
5301087 |
79.6 |
| Padres |
2018 |
5249014 |
5249014 |
60.0 |
Case Study: Albert Pujols, 1B, Los Angeles Angels
| Albert Pujols |
2011 |
16000000 |
4.0 |
4000000 |
| Albert Pujols |
2012 |
12000000 |
3.3 |
3636364 |
| Albert Pujols |
2014 |
23000000 |
2.7 |
8518519 |
| Albert Pujols |
2015 |
24050000 |
1.6 |
15031250 |
| Albert Pujols |
2016 |
25000000 |
0.7 |
35714286 |
| Albert Pujols |
2017 |
26000000 |
-1.9 |
NA |
Contract Value
- Signed in 2012 by the Los Angeles Angels
- 10 years 240 million
- Pujols was 32 at the signing, 41 in the last year of the contract.
- Will Pujols perform at a high level in his late 30’s through 40’s?
- The Angels could have made better use of $240 million, signing only veteran players.
Case Study: Adrian Beltre, 3B, Texas Rangers
| Adrian Beltre |
2011 |
14200000 |
5.5 |
2581818 |
| Adrian Beltre |
2012 |
15200000 |
6.3 |
2412698 |
| Adrian Beltre |
2013 |
16000000 |
4.9 |
3265306 |
| Adrian Beltre |
2014 |
17100000 |
5.9 |
2898305 |
| Adrian Beltre |
2015 |
16000000 |
4.3 |
3720930 |
| Adrian Beltre |
2016 |
18100000 |
5.4 |
3351852 |
- Original contract: 5 years $80 million with 6th year 16 mill team option
- We will sign Beltre to 6 years $97
- Younger player than pujols with a shorter contract length
- Career average efficiency just below $3 million per win
- This leaves us $143 million to spend.
Case Study: Nelson Cruz, OF/DH, Rangers/Orioles/Mariners
| Nelson Cruz |
2011 |
3650000 |
1.3 |
2807692 |
| Nelson Cruz |
2012 |
5250000 |
1.1 |
4772727 |
| Nelson Cruz |
2014 |
8000000 |
3.9 |
2051282 |
| Nelson Cruz |
2015 |
14375000 |
5.0 |
2875000 |
| Nelson Cruz |
2016 |
14250000 |
4.3 |
3313953 |
| Nelson Cruz |
2017 |
14250000 |
3.9 |
3653846 |
| Nelson Cruz |
2018 |
14275000 |
2.5 |
5710000 |
- In 2014, Nelson Cruz signed a 1 year / $8million contract with the Orioles
- In 2015, he signed a 4 year / $57 million contract with the Mariners
- For purposes of this contract, let’s assume Cruz signed a 5 year / $75 million contract
- With an average efficiency of $3.3 million per win, Cruz has proved his worth
- We are left with $68 million to spend.
Case Study: Jed Lowrie, 2B, Athletics
| Jed Lowrie |
2013 |
2400000 |
3.4 |
705882.4 |
| Jed Lowrie |
2014 |
5250000 |
1.7 |
3088235.3 |
| Jed Lowrie |
2017 |
6500000 |
3.6 |
1805555.6 |
| Jed Lowrie |
2018 |
6000000 |
4.9 |
1224489.8 |
- Original contract: 2 years $20 million with the Mets (19-20)
- Our offer: 2 years $22 million
- Average efficiency less than $1.5 million per win
- We are still left with $46 million to spend.
Case Study: Yasmani Grandal, C, Dodgers
| Yasmani Grandal |
2018 |
7900000 |
3.6 |
2194444 |
- Original contract: 1 year $16 million with the Brewers in 2019
- Our offer: 2 years $32 million
- Average Efficiency yields $1684286 per win
- $14 million left over.
Case Study: Conclusion
- Albert Pujols average efficiency: $12120192
- Signed players average efficiency: $2380631 with $14 million left over.
Conclusion
- Original hypothesis holds true
- Cheaper/team controlled players are more efficient than veterans
- Teams with more team controlled players are generally more efficient
- Long term contracts can monopolize a team’s payroll and restrict their ability to improve their team.