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 »

Evaluating the Mechanics of a Grievance Filed by the MLBPA

On June 23, it was reported that Major League Baseball and the MLB Players Association had agreed to terms to resume play in 2020 following the sport’s suspension due to the COVID-19 pandemic. This agreement came on the heels of the now-infamous March 26th agreement that was the subject of debate and contention between both sides of the bargaining table. Among other things, the agreement does not foreclose the right of the MLBPA to file a grievance and seek financial damages as it relates to the interpretation of the Agreement.

Specifically, the players may look to challenge whether the league did in fact negotiate in good faith as it relates to how many games were to be played in the abbreviated 2020 season. Further, the agreement also states that the Office of the Commissioner’s effort to issue a schedule for the 2020 season shall only be performed to the extent it is “…practicable and economically feasible.”

The term “economically feasible” is likely another point of dispute, as the league did not reveal any financial data, supposedly requested by the union, that would help to justify their claim that a season without fans would be a detriment to its bottom line. As the season now rolls along, we can explore the process by which the MLBPA may file a grievance to have its claims be heard and adjudicated.

What Is A Grievance?

Article XI of the parties’ 2017–2021 Basic Agreement (the CBA) sets forth the terms and conditions of grievance procedure. As defined, a “grievance” is “a complaint which involves the existence or interpretation of, or compliance with, any agreement, or any provision of any agreement, between the [MLBPA] and the Club…or between a Player and a Club.” Presumably, the March 26th Agreement would fall within this definition. Read the rest of this entry »

Reworking and Improving the Outcome Machine

This post was inspired by a couple of articles that I remembered reading from Jonah Pemstein back in 2014. The intention of those posts was to predict the result of any given batter/pitcher matchup, dubbed the “Outcome Machine.” Have you ever wondered what the probability Mike Trout strikes out when he steps into the box against Justin Verlander? Of course, there are variables that are specific to any plate appearance (umpires/situation/stadium/etc.) that are harder to quantify, but it set out to predict the outcome in a vacuum. Trout vs. Verlander and nothing else (For the record, in 2020, I would estimate the answer is about 27.5%).

Being able to predict the outcomes in sports would take most of the fun out of being a spectator, sure, but I still found myself coming back to those articles. While reading and re-reading in an attempt to understand the logic and fool around with the equations, I came to a few questions of my own:

  • With all of the hubbub of juiced balls and increased launch angles, do equations that were based on data from 2003-13 still apply to the game today?
  • The regression equations were composed of the at-bat result and the stats of the batter and pitcher from the same year. This stuck out to me as an issue because it means the player’s performance later in the season, say in July, influences the prediction of an at-bat in May, and to a lesser extent, the result of that specific at-bat is already baked into that season’s performance. Shouldn’t you use data exclusively before a given at-bat to predict the outcome? Hindsight is 20/20, after all.

Eventually curiosity got the best of me and I decided to emulate the original exercise. Before I really start to nerd out on the inner workings, you can find this iteration of the Outcome Machine as a Google Sheet here. You can either select a pitcher/batter combination through the dropdown or hard key in the rates in a custom, hypothetical matchup below that. League average is set by default to projections for 2020 but can be updated as desired in the custom matchup. I would note that the preset statistics in this tool are total projections for 2020 but not broken out into L/R splits, as to my knowledge that data is currently behind a paywall. Read the rest of this entry »

The Rise of the Hit by Pitch

With the current trend of thinking in the front offices in MLB, we are seeing many aspects of the game at all-time highs and lows. Strikeouts, home runs, and a lack of stolen bases get a lot of content created about them, but there is also something else at an all-time high: hit by pitches. We saw 1,984 hit by pitches in 2019, the most in MLB history, surpassing the previous high of 1,922 in 2018. There has not been this rate of hit by pitches per game since 1900, and baseball is very different from how it was then.

You may say that there are more pitches thrown in games than ever before, so the rate per game may be rising because of that. But when we account for that and look at the rate per pitch (which we can do so from 2008 onwards), you can still see that sharp increase in the last two seasons.

What has gone on here? There should be something responsible for this increase in hit by pitches. Is it the pitchers? Do we have guys who can throw hard but have less command, so they are hitting more batsmen? Are they throwing inside more often? Is it the hitters? Do we have guys who are getting tighter to the plate or players who are just more willing to take the hit to get on-base?

Let’s start with the pitchers. Thanks to the PITCHf/x and TrackMan data we have the location of every pitch since 2008. I will be using the Statcast zones to bucket the data. Read the rest of this entry »

Modeling Strikeout Rate with Plate Discipline Part 1: Hitters

Strikeout and walk rates are perhaps the most popular and widely used peripheral statistics, particularly for pitchers. However, with pitch level data, these statistics now have “peripherals” of their own. I was curious if I could create an accurate-yet-interpretable model using FanGraphs’ plate discipline metrics that could offer insight on what drives the differences in strikeout and walk rates between players.

While many have noted individual correlations between a single statistic and strikeout rate, I have not seen many unifying models that incorporate several plate discipline metrics. For the first part in this study, I will focus on hitter strikeout rate, but I intend on also looking at walk rate and, later on, pitchers’ strikeout and walk rates.

If you are not a fan of mathematical details, feel free to skim or skip these next few sections to get to my overall conclusions.


Plate Discipline Flash Card 12-29-15

Note: I used BIS discipline statistics rather than PITCHf/x. I do not think this made a significant difference, but I think it is important to keep in mind.

FanGraphs gives us nine plate discipline statistics to work with. However, several of them can be removed as they can be derived using the other statistics. In a regression setting, this phenomenon is called perfect multicollinearity, which is when an explanatory variable can be perfectly formulated by other explanatory variables. With a high degree of multicollinearity, it can be extremely difficult to tell which particular variable is responsible for a change in the response variable, which is problematic for inference. Using some basic dimensional analysis, I found formulas for all three of these: Read the rest of this entry »