Archive for Research

RE+: Factoring Player & Team Hitting Ability Into Run Expectancy and the True Value of a Stolen Base

There are 24 different “states” in baseball. The three bases can be filled in eight different ways, and there can be 0, 1, or 2 outs at any given moment. Each of these 24 base-out states has an expected run value associated with them. Each value represents the average number of runs that the team is expected to score by the end of the inning. These values change each season depending on the run environment, but they generally don’t vary much.

2019 Average Run Expectancy by State
STATE 0 outs 1 out 2 outs
000 0.53 0.29 0.11
100 0.94 0.56 0.24
010 1.17 0.72 0.33
001 1.43 1.00 0.38
110 1.55 1.00 0.46
101 1.80 1.23 0.54
011 2.04 1.42 0.60
111 2.32 1.63 0.77

Consider the following situation: Lorenzo Cain is on first base with two outs. Now consider two possible hitters, one being Christian Yelich and the other being Ryan Braun. According to the 2019 averages, the run expectancy in this base-out state was 0.24, regardless of the hitter. While both players had impressive seasons, Yelich is unquestionably the superior player at this point in time.

2019 Player Comparison
Player wOBA ISO
Ryan Braun .354 .220
Christian Yelich .442 .342

As a result of their differences, the run expectancy should be higher when Yelich is at the plate. Consequently, the benefit Milwaukee gets from Cain attempting to steal second base should be adjusted as well. Why is this the case? Given Braun’s inferior power and hitting ability, there is more to gain from Cain putting himself in scoring position, but more importantly, there is less to lose if he were to get caught. On the other hand, Yelich is much more likely to drive the ball. With Yelich at the plate, the increase in run expectancy from a stolen base is slightly smaller than if Braun were hitting. However, the decrease in run expectancy from being caught is significantly greater. This is why we need RE+. Read the rest of this entry »


An Extra Inning Runner Study

The 2020 season brought unprecedented rule changes, one of the most puzzling among them being the “extra inning runner.” Ostensibly in an effort to reduce the spread of COVID-19 and speed up play, commissioner Rob Manfred decreed that once a game progresses past the ninth inning, a runner would be placed at second base to begin the frame.

Manfred’s blatantly obvious motives turned baseball fans — a demographic notorious for their acceptance of changes to the national pastime — against it. If there is any defense to be made for the addition of the extraneous runner, it’s that shorter games helped save pitchers’ arms in what’s already been an utterly brutal season for pitcher injuries.

This seismic rule change also created a correspondingly large shift in how teams strategized after a game surpassed nine innings. Teams, even the more sabermetrically inclined among them, began to employ traditional tactics. In order to determine how clubs played with a free runner, I charted every extra inning of the 2020 season. Read the rest of this entry »


Introducing Probabilistic Pitch Scores and xWhiff Metrics

With the advent of the Statcast era, a lot of research has been done in attempts to measure the effectiveness of a particular pitch based on its flight characteristics. As has been noted in the past, quantifying a pitcher’s stuff and command is no easy task. However, over the past few months I have worked to build my own models in an attempt to evaluate the “filth” of any given pitch, taking more of a probability-based approach. I introduce to you my Probabilistic Pitch Scores and xWhiff metrics.

When evaluating the quality of a particular pitch, I focused my interest on three different binary outcome variables: whether or not the batter swung at a pitch, whether or not the batter whiffed on a pitch, and whether or not a pitch was thrown for a strike. Thus, my goal was to train three different types of classification models corresponding to each of these variables: a swing, a miss, and a called strike. For the actual outcomes of these models, I was less interested in the model’s decision and more interested in the predicted probability. For example, if a batter swings on a pitch with given flight characteristics, what is the probability that he will whiff? These probabilities were utilized as the basis of my metrics.

Read the rest of this entry »


Leverage and Pitcher Quality Through the Eyes of Managers

Much criticism has been levied onto baseball managers and their inability to see past the archetypal dominant closer who closes pitches in save situations. Writers in the statistical community have observed and critiqued the many flaws which come with the save statistic and how it’s perceived by fans, managers, and baseball decision-makers as far back at least 2008 [1]. Accumulating saves is a function of opportunity and degree of difficulty that is certainly not the best way to get at a relief pitcher’s ability to get outs. More objective methods such as ERA and its estimators, like Fielding Independent Pitching (FIP) and Skill-Interactive Earned Run Average (SIERA). are better ways to evaluate a pitcher’s talent, and Win Probability Added (WPA) is better for measuring a pitcher’s importance to winning specific games. This criticism has definitely been heard in the intervening years by people running ball which, can be shown by the number of pitchers who are getting saves on each team and the variance of save totals for a given team.

A team with high variance in their save totals means that there is one player who accumulates a lot of saves and some number who have very few, opposed to lower variance representing a more even distribution of saves among pitchers. This variance metric is heavily negatively correlated (-0.74) with the number of pitchers a team has record a save in a given season. This means the more pitchers recording a save on a team, the more likely the distribution is to be equitable and the insistence on using your best pitcher in only a save situation is lower. Based on this analysis, somewhere between 2008 and 2011 was the peak on the capital “C” Closer in the majors. A rather precipitous drop occurred in 2016 and has continued on a downward trajectory to the point where last year saw the most equitable distribution of saves among teams since 1987, excluding the lockout-shortened 1994 campaign. Read the rest of this entry »


Did Sinkers Make the Comeback That Was Promised?

Back in mid-February — a truly different time for all of us — I applied to work at Statcast as an intern, a position that was unfortunately canceled in mid-March. However, I wrote an answer to a question that I intended to turn into an article at some point during the season. At the time, I figured I might write it in May, but a delayed season meant a delay to my piece as well.

Who would like to consider the curious case of Alex Presley? His career was relatively muted; he played for five teams in eight seasons as a fourth outfielder, only once cracking 100 games played and only once posting an OPS over .800. His Baseball-Reference page has him sporting a White Sox hat despite never having played a regular-season game for the team. He had a .620 OPS across 55 minor league games in 2018 and was released before he could make his way into July. He has the ignoble mark of having the second-lowest career WAR of any MLB player born in Monroe, Louisiana, finishing sixth out of seven players (Chuck Finley laps the field, and Presley finished above only Wayne Cage’s 0.1 career WAR). But Alex Presley was never supposed to be a star; rather, he was the now-forgotten harbinger of the launch angle revolution.

In the past several seasons, launch angle has absolutely been all the rage. Being able to capture new data has made an impact on the scene due in large part to fascinating statistics such as pitch movement, exit velocity, improved defensive statistics like OAA, and launch angle. During that time, teams have been changing their exit velocity drastically as well. In 2015, the earliest year with Statcast data, the measured average launch angle for all of baseball was 10.1. By 2019, it was 12.2.

In 2014, Pirates pitchers, the leaders of the sinkerball revolution, allowed an average launch angle of only 6.9 degrees. Since then, only three teams have been below 7.0 (the Rockies twice and the Cardinals once), and in 2018 and 2019, only three were under 10.0 and none were under 9.0. Additionally, even though the Pirates led the league in Barrel% by over a percentage point in 2014, the top teams in Barrel% in 2019 were much closer to a league-average launch angle. The data makes it clear: Launch angle is certainly going up. Read the rest of this entry »


Controlling Launch Angle To Limit Damage

Successful pitchers limit damage by minimizing the quality of contact they allow. How they can best do that remains up for debate, as pitchers tend to focus on some combination of deception, movement, and location to try and miss barrels. I propose that the most important pitcher-influenced variable to quality of contact is Launch Angle, and understanding and influencing it ought to be a priority for all pitchers. It is clear that Exit Velocity is the single most important predictor of a batter’s success, but that relationship cannot be manipulated much, if at all, by any pitcher. Across baseball, batters’ Exit Velocity distributions are much tighter than their Launch Angle distributions. This means pitchers are likely better able to directly influence Launch Angle than Exit Velocity, which is quite “sticky” around the mean for a given hitter. No amount of talent on the mound can rob Giancarlo Stanton of the strength that produces 120+ mph homers, but that doesn’t mean his production cannot be neutralized. Alex Chamberlain of RotoGraphs recently explored this idea at great length, coming to much the same conclusion.

This, to me, demands a new pitching approach centered around what I call “Launch Angle Deflection,” or the attempt to induce weak contact and get outs by “deflecting” batted balls to extreme (and therefore suboptimal) launch angles. A recent thread by Tom Tango illustrates this quite well, where each line represents an 8-degree “group” of launch angles. At either end of the launch angle spectrum, batted balls closer to the edge produce lower wOBA at all Exit Velocities. Read the rest of this entry »


Can One Month of Statcast Data Be Used To Evaluate Hitters?

You have probably done this if you know about Statcast, “xStats,” and Baseball Savant. You pull up the xStats list, sort by under- or over-performers, and use it to draw broad and sweeping conclusions about your fantasy teams. Which of your fantasy players are poised for quick resurgence, or which of your opponents’ players are prime trade targets? Which guys should you be selling high on before the bottom drops out?

But in the same way that you can’t really sort the FanGraphs leaderboards by ERA minus FIP and just magically find pitching diamonds in the rough (homer rates complicate things…), this is maybe not the best way to be applying our vast wealth of fancy Statcast-based metrics. I’ve personally found that early-season Statcast data is difficult to trust, so I decided to dive in and see what exactly we can learn from one month of xStats.

It turns out there may be something useful here — the method I arrived at after this work would have advised you to buy-in on José Ramírez after his rough start to 2019! But we’ll get to that.

I will dive into gritty details below, but first to quickly outline, here are the major questions I’m setting out to answer (and what I ended up finding):

Read the rest of this entry »


Classifying MLB Hit Outcomes

In 2015, MLB introduced Statcast> to all 30 stadiums. This system monitors player and ball movement and has provided a wealth of new information, in the process introducing many new terms to broadcasting parlance. Two specific terms, exit velocity and launch angle, have been used quite frequently since, with good reason – they’re very evocative of the action happening on the field.

Mike Trout Hitting Metrics

The exit velocity is the speed of the ball off of the bat, and the launch angle is the vertical angle off the bat (high values are popups, near-zero values are horizontal, negative values are into the ground). When these started becoming more popular, I found myself thinking quite often, “how do I know if this is good or not?” With exit velocity, it’s fairly easy to conceptualize, but things are less transparent for launch angle. This led me to try plotting these two variables using hit outcome as a figure of merit. The shown chart uses data from the 2018 season.

Hit outcomes by Launch Angle and Launch Speed
This plot held some interesting trends: Read the rest of this entry »


Using Count Data To Find Unsustainable Performances

In this project I attempted to find the counts in which hitters were most successful during the 2019 season, and then find the hitters that were ending their at-bats in these counts the most in an effort to identify which players could potentially be under- or overperforming both in the past and going forward.

The data for this project was gathered by scraping Baseball Savant, which I used to create a dashboard to assist me in my analysis. I could not analyze every individual outlier performance from 2019 in this post, but the visualization I created can be accessed here, and the Github Repository for my project can be found here so you can take a look for yourself!

As the chart above shows, MLB hitters performed their best in counts with one or no strikes and their worst in two-strike counts. Using this data, I then explored individual performances in each count on the dashboard I had built to attempt to find outliers and discover who was ending at-bats in each count the most. Once players were identified, I would investigate why their performances were outliers and if their performances were sustainable. This post will highlight two of the more interesting unsustainable cases in hitters I found: Paul DeJong and
Javier Báez. Read the rest of this entry »


SEAM Methodology for Player Matchup Evaluations

Introducing SEAM Methodology

This article introduces the SEAM (Synthetic Estimated Average Matchup) method for describing batter-versus-pitcher matchups, both numerically and visually. We provide a Shiny app, available here, which you can use to follow along.

This app allows users to visualize synthetic spray chart distributions for any batter-pitcher matchup that has or could have occurred in the past five years (which is when Statcast data exists). Our app also reports performance metrics that are calculated directly from the displayed synthetic spray chart distribution. This includes the expected number of singles, doubles, triples, and home runs, as well as the expected batting average on balls in play (xBABIP) and the expected bases on contact (xBsCON), which can be thought of as slugging percentage except the denominator is BIP + HR instead of AB. These matchup-dependent metrics allow for any user to assess the expected performance of batters and pitchers when they face each other.

The SEAM method estimates spray chart distributions in the form of heat maps that are smoothed versions of conventional spray charts. We construct these by combining separate batter spray chart distributions that are constructed for each of the pitches that the pitcher throws. The final combination is also weighted to the usage for each pitch.

One challenge to this approach is the sparsity of some batter-pitcher matchup data. We alleviate this concern with the development of synthetic batters and pitchers with similar characteristics as the batter and pitcher under study. Our synthetic player creation methodology is inspired by the notion of similarity scores like those motivating PECOTA and Bill James’s work. However, unlike the similarity scores presented in the past, we construct similarity scores using a nearest neighbor approach that is based on the underlying batter and pitcher characteristics of the players under study instead of observed statistics. Read the rest of this entry »