Archive for Research

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 »


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 »