Without salary caps and league parity, MLB is the professional sport most closely resembling a free market where, in theory, you get what you pay for. But can money buy a winning ball club?
July 9, 2019
Photo by Shutterstock.comPhoto by Alex Kravtsov/Shutterstock.com
It’s that time of year again: Major League Baseball’s All-Star break, a time when investors trade their quote screens for sunscreen, abandon their order books for bestsellers and leave their mobile phones charging on their bedside tables. The All-Star break is also a time when I ask the eternal question: Can money buy a winning ball club? Without salary caps and league parity, Major League Baseball (MLB) is the professional sport most closely resembling a free market where, in theory, you get what you pay for. Of course, in reality that’s rarely the case–and that’s why we love writing about it.
Major League Baseball took a few innovative steps this year in an effort to gin up interest in America’s national pastime and speed up what is perceived, particularly by young people, to be a slow-moving experience. Starting this season commercial breaks between innings were reduced from 2:05 to 2:00 in local games and from 2:25 to 2:00 in national games. Mound visits, those time-consuming conferences between coaches, players and pitchers, were reduced from six to five. The pitch clock–the 30-second timer between batters and the 20-second timer between pitches–introduced last year was not implemented this season due to player protests. MLB outreach extended to Wembley Stadium in London, which hosted the first-ever regular-season games played across the Pond, a two-game series between the Yankees and the Red Sox. Despite MLB’s best efforts at speeding up the game, however, the 17-13 slugfest at Wembley on June 29 lasted 4 hours and 42 minutes–just three minutes shy of the all-time record for a nine-inning game. For the British, that’s a long time spent not knowing what’s going on. In addition to working on speed, MLB will eliminate the waiver trade period, and the July 31 trade deadline will be the only deadline. Players may still be placed and claimed on outright waivers after July 31, but trades will no longer be permitted after that date.
Offense picked up this year. The average batting average is up slightly so far this year, at .251 vs .247 last year at this time. Batters are also hitting more home runs this year: 3,424 vs. 3,283. There have been substantially fewer strikeouts leading up to the 2019 All-Star break, 21,882 vs. 24,537 in 2018. All the excitement should make for greater popularity, right? Unfortunately, baseball has continued to lose fans. Attendance in MLB parks so far this season is down more than 233,000 from the same time frame in 2018, according toUSA Today. In fact, ballpark attendance is lower for the fourth consecutive year, according to theAssociated Press. Eighteen of MLB’s 30 teams are experiencing drops in attendance.
American League
American League (AL) payrolls dipped below the $2 billion mark this year, collectively down nearly $300 million from last year. Thirteen of the AL’s 16 teams trimmed their payroll expenses, perhaps reflecting the pullback in popularity. The Baltimore Orioles suffered the most belt tightening, slashing their payroll by more than $78 million, representing a 51 percent reduction in salaries. The unfortunate Orioles had a .289 winning percentage last year at this time. The New York Yankees, locked into an “arms” race with their red-stockinged rival, increased their payroll by $42 million.
Our Moneyball regression model is upwardly sloping, suggesting that winning percentage and payrolls are positively linked. We estimate that for American League teams, each million dollars spent is worth 1.1 additional wins over the entire season.
Winners
Minnesota Twins For a small-market team, the Twins are punching above their weight this year. They are sporting a .639 winning percentage, second in the league behind the New York Yankees. The difference is, Minnesota is carrying a payroll nearly $100 million lighter than their mega-market counterpart. The Twin’s offense is powerful. The team holds the highest batting average in the game this year at .270. They have also hit 157 home runs, the most in the AL. Their slugging percentage–the total number of bases a player records per at-bat–is a mind-numbing .496. While the team leads with offense, pitcher José Berríos is the real deal: He’s ranked 10thin Major League Baseball with a 2.89 ERA. Short stop Jorge Polanco is leading the team with 105 hits.
Tampa Bay Rays
The Rays slashed their payroll by 27 percent and their winning percentage has jumped from .500 to .571. Tampa leads the AL in earned runs with a stingy 3.20. Credit Charlie Morton who, at the age of 35, will be making his second consecutive appearance in the All-Star Game (last year he represented the World Champion Astros). Pitching Ace Blake Snell, coming off last year’s Cy Young Award, is 5-7 this year. Left fielder Tommy Pham leads the team with a .452 on-base percentage. The Rays struggled in June with a 13-16 record, but their fortunes are expected to improve in the second half of the season.
Houston Astros
The Astros maintained their $160 million payroll, and why not? They had a good record last year with a .636 winning percentage and 103 wins. Houston has a strong pitching staff with a league-leading .218 “batting average against.” They are third in the league with a combined 53 wins. Pitching ace Gerrit Cole has 161 strikeouts and 8 wins so far this season. He will be representing the Astros at the 2019 All-Star game, his second consecutive appearance for the team. We can’t forget Justin Verlander, who’s currently holding a 10-3 record and will also be representing the Astros in Cleveland. Houston has a strong offense as well, holding highly ranked team positions in batting average (.267) and home runs (133). All-star third baseman Alex Bregman leads the team with 22 home runs.
Losers
Toronto Blue Jays
The Blue Jays are arguably in the toughest division, in which the Yankees and Red Sox combined are spending over $440 million on talent. That said, the team appears to have folded their tent: They slashed their payroll by $57 million after winning only 73 games last year. Despite the salary drop off, the team is underperforming even its diminished expectations: At .369, Toronto is about 8 wins behind what our Moneyball model predicts. The Blue Jays rank near the bottom in hitting and pitching with a team batting average of .232 and earned run average of 4.89. The team will be sending pitcher Marcus Stroman to the All-Star game.
Detroit Tigers
The hapless Detroit Tigers lost nearly 100 games last year with a $146 million payroll, so Al Avila, the Tiger’s executive VP of baseball operations and general manager, must have figured the team could deliver uninspired performance on a beer budget. If that was indeed the game plan, the Tigers succeeded. The team has a .342 winning percentage and, despite the lower payroll, they’re still delivering about 11 wins less than expected. The frustration is personified by team coach Ron Gardenhire’s record-setting seventh ejection this season–the most ejections of a Tigers manager in a single season. Gardenhire is approaching the record of ten ejections in one season, a dubious achievement not reached since 1910.
Baltimore Orioles
Baltimore was bad last year and there appears to be no improvement in sight. The Orioles lost 115 games in 2018, more than twice as many as they won. Expectations for this year were even lower since the team cut their payroll in half. Unfortunately, the team’s $74 million payroll, besting only the Tampa Bay Rays, still didn’t improve their standing on our Moneyball model. At a mere .289 winning percentage, Baltimore is trailing our model’s estimate by 11 wins. The Orioles possess an unheard ofnegative170 run differential; head to head, their opponents have scored 170 more runs than the O’s have produced this year. The only silver lining: at 24 wins, the lackluster Orioles are on pace to outperform last year’s dismal record.
National League
The relationship between winning percentage and payrolls is positive in the National League (NL), suggesting that dollars do drive wins. Team success is slightly more diffuse this year with the LA Dodgers on the upside, with a .663 winning percentage, and the Miami Marlins to the downside, with a pallid .390 percentage. That said, the Dodgers have the second-highest payroll in the league behind the Cubs, and the Marlins have the skimpiest.
Winners
Los Angeles Dodgers
LA is a big market team with an equivalently sized payroll: At $198 million, they are ranked second behind the bulge-bracket Chicago Cubs. The team is delivering despite our outsized expectations. The Dodgers possess an enviable .663 record and have delivered nearly nine more wins than expected. The team leads the National League in on-base percentage (.347) and is fourth in home runs and runs batted in. Last year’s World Series runner-up also dominates pitching with a league-leading 57 wins. Fans expect the Dodgers to shuffle their bullpen and potentially move closer Kenley Jansen to mid-relief. There’s speculation that general manager Andrew Friedman will deal for a marquis closer. The Dodgers’ prospects for the rest of the season are strong.
Atlanta Braves
The Braves are one of the few teams that increased their payroll this year. Atlanta won their division in 2018 with 90 wins and are on track to deliver similar success in 2019. At .588, the team has delivered eight wins above our expectations. The Braves will be sending two starters to the NL All-Star team, Freddie Freeman at first and Ronald Acuña Jr. at center field. They will also send starting pitcher Mike Soroka, who at the age of 21 will be the youngest pitcher ever to represent the Braves at the All-Star game. That distinction was previously held since 1989 by 22-year-old John Smoltz.
Milwaukee Brewers
Here we go again . . . the Brewers are the perennial darlings of Cresset’s Moneyball Study and this year is no different. The Brew Crew bumped up their payroll by $27 million and are punching above their weight class this year, with a .536 winning percentage equal to that of the Cubs. The only difference is their payroll is nearly $86 million smaller. Their penury is paying off: The team has delivered nearly 4 more wins than their payroll would suggest. Milwaukee is delivering on all fronts. Christian Yelich is on fire. The Brewers’ All-Star logged his 1,000thhit recently, has clobbered a league-leading 30 home runs, dominates in slugging at .711 and has an incredible on-base percentage of 1.139. Christian will be joined by second baseman Mike Moustakas and pitcher Josh Hader at the All-Star game in Cleveland.
Miami Marlins
The Miami Marlins are struggling, and it appears that Jeter & Co. have thrown in the towel. The team, after losing 98 games last year, slashed their payroll by $30 million. The Marlins trail the majors with the fewest number of home runs, just 64. That’s 21 fewer long balls than Christian Yelich of the Brewers, Pete Alonso of the Mets and Cody Bellinger of the Dodgers have hit collectively this year. Expect Miami to lighten up even further, as the team looks to trade second baseman Starlin Castro at the deadline and find deals for Sergio Romo, Martín Prado, and Curtis Granderson. That echo at Miami Stadium is not an illusion–the team has the lowest average attendance in baseball at 9,402 per game.
New York Mets
Here’s a big market team with a medium-sized payroll. The Metropolitans won 77 games last year and they’re on track to deliver a similarly dismal result this year. At .447, New York is about seven wins below what their payroll would suggest. The team currently leads the NL in blown saves, and its relievers have MLB’s third-highest ERA. The Mets recently fired both their pitching coach and their bullpen coach. First baseman Pete Alonso is a bright spot on offense with 28 home runs. Ace starting pitcher Noah Syndergaard, aka “Thor,” with a 5-4 record, has been battling a strained hamstring but was just reactivated and will go to Cleveland for the Mets.
San Francisco Giants
The Giants are a good team in a bad team’s clothing. San Francisco posted only 73 wins last year and are on pace for a repeat performance in 2019. The team’s run differential isnegative78, second only to the lackluster Marlins in the National League. AT&T Field is not a hospitable place, either: The team’s 18-25 record at home is worse than their 19-22 record on the road. The Giants’ team batting average is .228, barely above the Mendoza line. Needless to say, their on-base percentage, at .295, isn’t much better. On the bright side, Giants closer Will Smith is a perfect 21-21 in save opportunities. He will be making his debut on the NL All-Star team this year.
Since 2020, consumers have become more conscious of their values, time, and social networks—demanding empathetic and human-centered business transformations.
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept”, you consent to the use of ALL the cookies.
This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
Cookie
Duration
Description
__cf_bm
1 hour
This cookie, set by Cloudflare, is used to support Cloudflare Bot Management.
__hssc
1 hour
HubSpot sets this cookie to keep track of sessions and to determine if HubSpot should increment the session number and timestamps in the __hstc cookie.
__hssrc
session
This cookie is set by Hubspot whenever it changes the session cookie. The __hssrc cookie set to 1 indicates that the user has restarted the browser, and if the cookie does not exist, it is assumed to be a new session.
_GRECAPTCHA
6 months
Google Recaptcha service sets this cookie to identify bots to protect the website against malicious spam attacks.
cookielawinfo-checkbox-advertisement
1 year
Set by the GDPR Cookie Consent plugin, this cookie records the user consent for the cookies in the "Advertisement" category.
cookielawinfo-checkbox-analytics
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-analytics
1 year
Set by the GDPR Cookie Consent plugin, this cookie records the user consent for the cookies in the "Analytics" category.
cookielawinfo-checkbox-functional
11 months
The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-functional
1 year
The GDPR Cookie Consent plugin sets the cookie to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-necessary
1 year
Set by the GDPR Cookie Consent plugin, this cookie records the user consent for the cookies in the "Necessary" category.
cookielawinfo-checkbox-others
1 year
Set by the GDPR Cookie Consent plugin, this cookie stores user consent for cookies in the category "Others".
cookielawinfo-checkbox-others
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance
1 year
Set by the GDPR Cookie Consent plugin, this cookie stores the user consent for cookies in the category "Performance".
cookielawinfo-checkbox-performance
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
CookieLawInfoConsent
1 year
CookieYes sets this cookie to record the default button state of the corresponding category and the status of CCPA. It works only in coordination with the primary cookie.
csrftoken
1 year
This cookie is associated with Django web development platform for python. Used to help protect the website against Cross-Site Request Forgery attacks
elementor
never
The website's WordPress theme uses this cookie. It allows the website owner to implement or change the website's content in real-time.
JSESSIONID
session
New Relic uses this cookie to store a session identifier so that New Relic can monitor session counts for an application.
rc::a
never
This cookie is set by the Google recaptcha service to identify bots to protect the website against malicious spam attacks.
rc::b
session
This cookie is set by the Google recaptcha service to identify bots to protect the website against malicious spam attacks.
rc::c
session
This cookie is set by the Google recaptcha service to identify bots to protect the website against malicious spam attacks.
rc::f
never
This cookie is set by the Google recaptcha service to identify bots to protect the website against malicious spam attacks.
viewed_cookie_policy
1 year
The GDPR Cookie Consent plugin sets the cookie to store whether or not the user has consented to use cookies. It does not store any personal data.
viewed_cookie_policy
11 months
The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
wpEmojiSettingsSupports
session
WordPress sets this cookie when a user interacts with emojis on a WordPress site. It helps determine if the user's browser can display emojis properly.
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Cookie
Duration
Description
lang
session
LinkedIn sets this cookie to remember a user's language setting.
li_gc
6 months
Linkedin set this cookie for storing visitor's consent regarding using cookies for non-essential purposes.
lidc
1 day
LinkedIn sets the lidc cookie to facilitate data center selection.
mgref
1 year
This cookie is set by Eventbrite to deliver content tailored to the end user's interests and improve content creation. It is also used for event-booking purposes.
mgrefby
1 year
This cookie is set by Eventbrite to deliver content tailored to the end user's interests and improve content creation. It is also used for event-booking purposes.
UserMatchHistory
1 month
LinkedIn sets this cookie for LinkedIn Ads ID syncing.
yt-player-headers-readable
never
The yt-player-headers-readable cookie is used by YouTube to store user preferences related to video playback and interface, enhancing the user's viewing experience.
yt-remote-cast-available
session
The yt-remote-cast-available cookie is used to store the user's preferences regarding whether casting is available on their YouTube video player.
yt-remote-cast-installed
session
The yt-remote-cast-installed cookie is used to store the user's video player preferences using embedded YouTube video.
yt-remote-connected-devices
never
YouTube sets this cookie to store the user's video preferences using embedded YouTube videos.
yt-remote-device-id
never
YouTube sets this cookie to store the user's video preferences using embedded YouTube videos.
yt-remote-fast-check-period
session
The yt-remote-fast-check-period cookie is used by YouTube to store the user's video player preferences for embedded YouTube videos.
yt-remote-session-app
session
The yt-remote-session-app cookie is used by YouTube to store user preferences and information about the interface of the embedded YouTube video player.
yt-remote-session-name
session
The yt-remote-session-name cookie is used by YouTube to store the user's video player preferences using embedded YouTube video.
ytidb::LAST_RESULT_ENTRY_KEY
never
The cookie ytidb::LAST_RESULT_ENTRY_KEY is used by YouTube to store the last search result entry that was clicked by the user. This information is used to improve the user experience by providing more relevant search results in the future.
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Cookie
Duration
Description
G
1 year
Cookie used to facilitate the translation into the preferred language of the visitor.
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Cookie
Duration
Description
__hstc
6 months
Hubspot set this main cookie for tracking visitors. It contains the domain, initial timestamp (first visit), last timestamp (last visit), current timestamp (this visit), and session number (increments for each subsequent session).
_fbp
3 months
Facebook sets this cookie to display advertisements when either on Facebook or on a digital platform powered by Facebook advertising after visiting the website.
_ga
1 year 1 month 4 days
Google Analytics sets this cookie to calculate visitor, session and campaign data and track site usage for the site's analytics report. The cookie stores information anonymously and assigns a randomly generated number to recognise unique visitors.
_ga_*
1 year 1 month 4 days
Google Analytics sets this cookie to store and count page views.
_gat_UA-*
1 minute
Google Analytics sets this cookie for user behaviour tracking.
_gid
1 day
Google Analytics sets this cookie to store information on how visitors use a website while also creating an analytics report of the website's performance. Some of the collected data includes the number of visitors, their source, and the pages they visit anonymously.
AnalyticsSyncHistory
1 month
Linkedin set this cookie to store information about the time a sync took place with the lms_analytics cookie.
browser_id
5 years
This cookie is used for identifying the visitor browser on re-visit to the website.
hubspotutk
6 months
HubSpot sets this cookie to keep track of the visitors to the website. This cookie is passed to HubSpot on form submission and used when deduplicating contacts.
vuid
1 year 1 month 4 days
Vimeo installs this cookie to collect tracking information by setting a unique ID to embed videos on the website.
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
Cookie
Duration
Description
bcookie
1 year
LinkedIn sets this cookie from LinkedIn share buttons and ad tags to recognize browser IDs.
bscookie
1 year
LinkedIn sets this cookie to store performed actions on the website.
fr
3 months
Facebook sets this cookie to show relevant advertisements by tracking user behaviour across the web, on sites with Facebook pixel or Facebook social plugin.
iutk
6 months
Issuu sets this cookie to recognise the user's device and what Issuu documents have been read.
li_sugr
3 months
LinkedIn sets this cookie to collect user behaviour data to optimise the website and make advertisements on the website more relevant.
muc_ads
1 year 1 month 4 days
Twitter sets this cookie to collect user behaviour and interaction data to optimize the website.
NID
6 months
Google sets the cookie for advertising purposes; to limit the number of times the user sees an ad, to unwanted mute ads, and to measure the effectiveness of ads.
personalization_id
1 year 1 month 4 days
Twitter sets this cookie to integrate and share features for social media and also store information about how the user uses the website, for tracking and targeting.
PREF
8 months
PREF cookie is set by Youtube to store user preferences like language, format of search results and other customizations for YouTube Videos embedded in different sites.
scribd_ubtc
10 years
Scribd sets this cookie to gather data on user behaviour across several websites and maximise the relevancy of the advertisements on the website.
test_cookie
15 minutes
doubleclick.net sets this cookie to determine if the user's browser supports cookies.
VISITOR_INFO1_LIVE
6 months
YouTube sets this cookie to measure bandwidth, determining whether the user gets the new or old player interface.
VISITOR_PRIVACY_METADATA
6 months
YouTube sets this cookie to store the user's cookie consent state for the current domain.
YSC
session
Youtube sets this cookie to track the views of embedded videos on Youtube pages.
yt.innertube::nextId
never
YouTube sets this cookie to register a unique ID to store data on what videos from YouTube the user has seen.
yt.innertube::requests
never
YouTube sets this cookie to register a unique ID to store data on what videos from YouTube the user has seen.