After starting to look at some inning-by-inning data from my baseball win expectancy finder for another project, I stumbled across something weird that I can’t explain. Here’s a graph of expected runs scored per inning:
Check out how high the bottom of the first inning is. On average, 0.6 runs are scored then compared to 0.5 runs in the top of the first. That’s a huge difference! Let’s look closer:
Holy outlier, Batman! So what’s going on? Here are some ideas:
Read the rest of this entry »
“This player is having a good year, but his xwOBA is slightly lower than his wOBA, therefore he’s going to get worse.”
This is a common concept you’ll hear within the baseball analysis community. With the data made available to us, it’s easy to come to conclusions like this. However, it’s not always about the data made available to us, but the analysis that comes from it.
To better grasp how this “problem” of data analysis came to fruition, let us go back in time.
Starting in 2015, the public was provided with Statcast metrics for MLB players via Baseball Savant. Among those stats were exit velocity, launch angle, hard-hit rate, pitch velocity, sprint speed, and, to be honest, practically anything that can be measured! It’s a fabulous website that provides very useful information we should be exceptionally grateful for.
The most popular metrics on the website, however, are their expected stats: expected batting average (xBA), expected weighted on-base average (xwOBA), expected on-base percentage (xOBP), expected slugging percentage (xSLG), and expected isolated power (xISO). Essentially, these statistics are what you’d expect based on the name; they indicate what a player’s “true talent level is” based on the quality of their contact, frequency of contact, and, depending on the batted ball, sprint speed.
This would appear to be a gold mine on the surface. With the ability to know what numbers a player deserves to have, we should be able to separate their talent level from outside circumstances, and thus better predict future performance. Yet that actually isn’t the case. Read the rest of this entry »
A growing group of social scientists are researching peer learning, looking to answer the question “does an individual learn from their network?” In this post, I’ll present some evidence that MLB umpires “learn” from their peers in their assigned crews.
To quantify this, I calculate “call quality” for each umpire in each season from 2008 to 2019. Call quality is determined in a similar way to many umpire score card measures: I take PITCHf/x data for each game that a given umpire was assigned to home plate, subset to all called strikes and called balls, and overlay the true strike zone to calculate the proportion of correct calls.
I’m specifically interested in whether an umpire’s call quality is driven by the call quality of umpires they have been assigned to work with in the past. Read the rest of this entry »
I read an interesting article here by Brian Woolley which attempted to adjust batter performance for the quality of pitching they face. It’s interesting because we tend to assume when we look at a player’s performance that they faced more or less the same quality of competition as everyone else, despite the fact we know, especially in small samples, that may not be the case. This is even more evident when we look at minor league performance, where the quality of competition can vary wildly from one prospect to another. How can we discard the assumption of equal quality of competition and try to get a more accurate picture of a player’s performance? In basketball analytics, this quality of competition piece is an even more pronounced issue because of the fact that players are selected to play in specific situations by a coach, unlike the lineup card which dictates when everyone bats.
There is a metric in basketball called Regularized Adjusted Plus-Minus (RAPM) which attempts to value individual players based on their contribution to the outcome of a game while accounting for the quality of the teammates and opponents when on the court. The initial idea in the public sphere came from Dan T. Rosenbaum in a 2004 article detailing Adjusted Plus-Minus (APM). You can read more about the basketball variant in the linked article, but I’ll describe how I adapted it to a baseball context.
To setup the system, I created a linear regression model which takes each player as an independent variable, every plate appearance as an observation, and the outcome of the plate appearance as the dependent variable we’re trying to predict. Specifically, if a player is not part of a plate appearance, the value for their independent variable is a 0, if they are the pitcher, they are a -1, and if they are the batter, they are a 1. Note that for players who appear as both a pitcher and hitter, they are given two independent variables so we can measure their impact on both sides of the ball separately. The outcome of the plate appearance is defined in terms of weighted On-Base Average (wOBA). Read the rest of this entry »
It has been an odd year for the Chicago White Sox thus far. The club is leading baseball in pitching WAR behind the dominating trio of… Carlos Rodon, Dylan Cease, and Michael Kopech. Major injuries have and will keep Luis Robert and Eloy Jimenez out of the lineup for much of the season, and their most productive bat to date is a 28-year-old who did not have a major league hit entering the season. But potentially weirder than all that is the way in which Chicago has amassed one of the best offenses in the early portion of the season: the ground ball!
Entering May 28, the White Sox were second in MLB with a 114 wRC+, fourth at 5 runs per game, and second in wOBA at .330. This offensive success is not unprecedented, as last year’s Sox featured a high-power offense as well.
What does stand out is the lack of power from this year’s team. Chicago has the sixth-fewest homers and a league-leading 48.9% ground ball rate (league average is 43.5%). If that rate were to stand for the remainder of the season, it would be the seventh-highest ground ball rate since FanGraphs batted ball data started being collected in 2002. The White Sox also have a 8.9% average launch angle that would be the sixth lowest in the Statcast era. Chicago’s grounder-centric offensive success stands in stark contrast to the other nine clubs that round out the 10 teams with the highest grounder rates since 2002. Read the rest of this entry »
In one of the later chapters of The MVP Machine, the authors describe a working relationship between an unnamed position player and a writer at an “analytically inclined” baseball website. The player felt that his club’s advanced scouting data wasn’t granular enough and asked the writer to supplement the information he was given by the club with additional detail. The writer was eventually performing scouting reports on the player himself, opposing pitchers, as well as the home plate umpires’ strike zones. In terms of evaluating his own performance, the writer summarized that the player was basically looking at three things: “Am I squaring up the ball? Am I swinging and missing? Am I swinging at strikes?”
With the first month of the season in the books, who would be some of the best performing hitters in the league according to this particular player’s criteria? Thanks to Statcast, we have the tools at our disposal to try and figure out just that. Note that the dataset I used for this exercise was all qualified batters as of the morning of April 30th, 2021.
First, we need to decide which parameters to use to represent each of the three questions posed by the player. Two of the three are pretty easy. “Am I swinging and missing?” We can look up a player’s whiff percentage on Statcast. “Am I swinging at strikes?” That information is represented in a player’s chase percentage. “Am I squaring up the ball?” The natural candidates here would be, if we’re using just one number, the average exit velocity, hard hit percentage, and barrel percentage. I decided to go with the average exit velocity because it takes into account every batted ball put in play by the batter. Let me explain. Read the rest of this entry »
There is an index called pitch value that calculates the increase or decrease in runs scored depending on the pitch type. In this article I will look to create an environment-neutral version of pitch value.
Pitch Value (hereafter PV) and RV use the average or sum of the variable values of RE288. This method has the advantage of being able to measure how much a pitch actually increased or decreased the number of runs scored on that pitch. However, the metric is not consistent enough to be used in a single year given that it depends on a relatively small number of batted balls and plate appearances.
The following is the average delta_run_exp (RV/100) of sliders for pitchers who threw 500 or more of them in each year from 2017-20, with the data obtained from Statcast.
The correlation coefficient is 0.14, which means that there is almost no correlation. Even if a pitcher records an excellent RV/100 in one year, there is no way to know what kind of value he will record the following year. It seems that it is difficult to measure the stable value of a pitch type with the existing PV and RV.
We can try to make improvements in measuring the value of pitches with a small number of at-bats or pitches in a single year.
First, we use a situation-neutral scoring value for events that occur rather than a change in scoring value. For example, a home run with no runners on base and a home run with runners on base have different values in the existing RV, but the situation-neutral scoring value is calculated using the average scoring value of home runs in all situations combined. The reason for this is that it is not appropriate to evaluate the ability of a single pitch to prevent runs from being scored if it depends on the circumstances in which it is thrown.
Another correction is to use the xwOBAvalue (estimated_woba_using_speedangle in Statcast) instead of the actual batting result when a pitch is hit. The pitcher has little control over whether a batted ball becomes a hit or an out, and it is known that the number tends to be unstable in a single year. If we consider that it is difficult for a pitcher to control the number of batted balls in a season, the batted ball number of pitch type in a season is even smaller, so the index becomes less stable. Therefore, for batted balls, we use the value of runs (xwOBA_value), which is estimated from the speed and angle of the batted ball. The purpose of this is to remove the influence of defense and chance as much as possible.
In this way, we try to calculate the pitch value as situationally neutral as possible.
I will call this situation-neutral pitch value xPV (expected pitch value) for now.
The first step is to find the wOBA by count. Here, the wOBA by count is calculated based on “all final batting results that have passed that count.” Note that this is not the same as the batting results recorded at the time of that count.
For example, if a batter misses a strike in an 0-1 count and the count goes to 0-2, and then strikes out on three pitches, one strikeout is recorded in the 0-1 record. But if a batter hits a single in that 0-2 count, a single hit is recorded in the 0-1 record1. Also note, 0-0 is the count that has elapsed in all counts, so 0-0 = wOBA for all at-bats in that period.
Using this wOBA by count, we can calculate the value of points scored by count.
(count wOBA after pitching – count wOBA before pitching) / wOBAscale (≈1.15 in Statcast csv data)
First, when the count changes, the actual RAA is calculated as:
(wOBA of the count after the pitch – wOBA of the count before the pitch) / 1.15
If a batted ball occurs, then this is used to calculate RAA:
(xwOBAvalue – wOBA of the count before the pitch) / wOBAscale
The xPV is calculated by summing and averaging the RAAs calculated in this way.
The advantage of this xPV is that it reduces the influence of chance as much as possible and increases the consistency of the index by giving it a situation-neutral value. The following is the year-to-year correlation of the xPV/100 (xPV per 100 pitches) of sliders for pitchers who threw at least 500 sliders from 2017-20.
The correlation coefficient was 0.49, which is a moderate correlation and much improved over the 0.14 of RV/100.
For xPV, I referred to this article.
1The reason why we use hitting stats through a count instead of hitting stats at that count is that we can take into account the effects of events that occur only in a particular count, and we can also evaluate pitches that are not directly related to the batting results. For a detailed explanation, snin’s article is very helpful.
I have also put the R code here.
Baseball’s compensation system ensures that teams have a long time before they need to pay their superstars in market value. The whole structure is broken, and I’m not just talking about “the Kris Bryant problem,” when a player’s debut is deliberately delayed in order for the team to gain an extra year of control. The issues go way beyond that.
This isn’t an article presenting a solution for this issue per se, mainly due to the fact that any restructuring requires flexibility and willingness to sacrifice some current profits for the long-term welfare of the game in what ultimately is a dispute about money. This change will come if and when it does primarily due to leverage that one side has over the other.
I want to talk about Albert Pujols specifically, the future first-ballot Hall of Famer who was recently released by the Los Angeles Angels. Looking back at his career, a glorious one at that, the difference between what he earned and produced with the Cardinals and with the Angels is quite staggering.
Instead of focusing on the negative and all that went wrong during his time in California, let’s look at it from a different perspective: how everything ultimately evened out for this all-time legend. Read the rest of this entry »
Serious prospect hounds know that only about 10% of minor leaguers ever participate in a major league game. However, even the most discerning fans can be deluded into believing that their team’s farm system can overcome the odds and build a perennial contender based on their prospects alone.
I decided to investigate how much average WAR a prospect generates based on their ranking in Baseball America’s Prospect Handbook. I used a similar process in a previous article in which I calculated the amount of WAR based on the next six seasons of a player’s career since being listed (instead of when a player makes their major league debut). This means that players closer to the majors get a boost to their value, since they will have more opportunities to accumulate WAR than players in the lower minors.
Next, I grouped the players by their ordinal ranking in their organization from the 2001-2015 seasons and calculated each group’s average WAR to create the visualization below. Read the rest of this entry »
When WAR was first introduced, it attempted to answer a baseball question that has existed as long as teams have played professionally: how much can one player contribute to a team’s record? It is an ongoing debate to this day, but WAR is widely recognized as an excellent measure of overall performance. WAR numbers for major league players are regularly cited and recognized by both Major League Baseball and the Elias Sports Bureau. However, there is another question behind WAR, also long predating the existence of the statistic, and it’s a question that has yet to be answered by it. When a front office is deciding whether or not (or how aggressively) to pursue a player, they’re ultimately searching for the answer to one question — how many more games will we win if we get this guy?