Archive for Baseball Savant

David Fletcher’s 2021 Was Missing Something

What’s 0/573?

Baseball Savant knows, but they also know it’s useless information. This is precisely why they do not display it. And it’s a shame that they don’t display it.

If they did, it would show that David Fletcher is in the zeroth Percentile for Barrels.

For a quick refresher, Barrels are “a batted ball with the perfect combination of exit velocity and launch angle.” To qualify, a ball must be hit at least 98 mph. For that exit velocity, a launch angle of between 26-30 degrees is required. For every single mph increase, the range of acceptable launch angle degrees increases by two or three, up until 116 mph. At that level, any ball hit between 8-50 launch degrees is considered Barreled.

Fletcher didn’t do that once in 2021. Instead, he mustered eight “close calls” among his 573 batted ball events. Read the rest of this entry »


What Would it Have Taken for Aaron Judge to be Clutch?

During one of my recent visits to the Fangraphs home page, while scrolling across the leaberboards, I was confronted by a fact I had once known but had long ago forgotten over this slow and tired off-season. Aaron Judge led the league in WAR! as a rookie?! and by quite a wide margin. That happened last season? Shoot just over a year ago Judge was still relatively unknown and Jeff Sullivan was telling us not to underestimate his power.

This realization conjured up memories of last season’s AL MVP vote, how one of Sabermetrics’ patron saints shook the foundations of Sabermetrics’ most prominent statistical achievement, and how article after article were written about clutch hitting.

This, in turn, reminded me of another leaderboard Judge topped last season, this one more dubious. He led (lagged?) the league with the lowest Clutch score. He was fourth in WPA/LI with 5.85 Wins, trailing only this generation’s Mickey Mantle, Judge’s clone, and some guy who plays for the Reds and just a fractional win behind the leader. In contrast, he ranked just 38th in WPA tied with some guy who used to play in Korea. Add this up and he had by far the lowest Clutch score at -3.64 wins, a full win lower than the rest of MLB save for one blue-eyed Cub.

Which led me to ask the question: What would Aaron Judge have had to do to be a clutch batter? And I don’t mean the obvious answer, “Hit better in high leverage situations“. Duh! He batted an astounding 190 wRC+ in low leverage situations to just a 107 in high leverage at bats. But that’s not the answer I was looking for. I wanted to know specifically, what would Aaron Judge have had to do to be a clutch batter? as in what could we change from his epic near MVP season to bring his Clutch stat into the positive?

So I set to find out.

Using Fangraph’s own Play Log, and with plenty of assistance from BaseballSavant.com and Statcast, I decided to play as one of the “Baseball Gods” and see if I could tweak a few of Judge’s plays to make him more clutch. As a “Fair and Just Baseball God” I wouldn’t be aiming to increase Judge’s overall stat line. If I nudge a groundball a little to turn an out into a single in a high leverage situation, I’d do the opposite in a low leverage situation (Judge had nearly 50 PA’s with a Leverage Index, LI, of effectively 0) nudging another grounder into a fielder’s glove for an out.

Thus his overall stat line and his WPA/LI would remain effectively the same, and since in those low leverage situations no (or nearly no) WPA was added, we’ll only be looking at how the play’s I change increase Judge’s WPA.(And I’ll only be going through the plays I add not the ones I’d need to take away.) I also won’t worry about any of the time traveler unintended consequences stuff, I’ll assume that only the single event changes without it affecting other plays in the same game or others. (I’ll let some of the other “Baseball Gods” worry about that stuff…)

Recall the Equation for Clutch:

Clutch = (WPA)/(pLI) – (WPA/LI)

With my rule that Judge’s pLI (0.95) and WPA/LI (5.85) will remain fixed we are just looking to increase Judge’s WPA.

With that lengthy explanation out of the way, let’s begin!:

Judge Initial WPA = 2.10
_________________________________________________________
Situation #1:

July 27th, Bottom 9, 1 Out, Runner on Third, Yankees down 1.
LI = 5.81 – Actual Play – Judge Fly’s Out to Right. – WPA = -.252

We’ll start with a big one, in fact Judge’s second highest leverage play of his season!
With a chance to tie the game in the 9th, Judge just miss-hits the ball sending it not quite far enough to allow the speedy Brett Gardner to score from third. As you can see, similar hit balls all had the same result:

”7/27/2017”
But as my first act as “Baseball God” I’m gonna adjust this hit ever so slightly, notching Judge’s bat up a millimeter to two to lower the Launch Angle of this hit and allow it to carry just a bit further. Something more like this:

”7/27/2017_Alt”
That should be far enough out to score Gardner giving Judge a Sac Fly.

New Play – Sac Fly – New WPA = .112 – Net WPA Change = .364

Judge’s New WPA = 2.46
_________________________________________________________
Situation #2:

August 2nd, Bottom 8, No Outs, Runner on Second, Yankees down 2.
LI = 2.72 – Actual Play – Strike out swinging. – WPA = -.08

Sometimes the job of a “Baseball God” is rather easy. In this case I’ll just need to do some umpire convincing. In this at bat Judge struck out on a 3-2 slider, but earlier in the at bat, after three wild pitches, here was the 3-0 offering from Bruce Rondon:

”8/2/2017”

Ok, sure, most umpires probably call this a strike on a 3-0 count, but I’m gonna go ahead and give this one to Judge. Ball Four!

New Play – Walk – New WPA = .087 – Net WPA Change = .167

Judge’s New WPA = 2.63
_________________________________________________________
Situation #3:

September 19th, Bottom 2, 2 Outs, Runners on Second and Third, Tie Game.
LI = 2.03 – Actual Play – Fly out to Center. – WPA = -.061

Judge crushed a Jose Berrios offering at 107 MPH:

Here’s what it looked like.

He was just a little under this one, wouldn’t take much more to send this ball out. So we’ll make the charge and turn this loud out into a bomb.

New Play – Three Run Home Run – New WPA = .249 – Net WPA Change = .310

Judge’s New WPA = 2.94
_________________________________________________________
Situation #4:

September 9th, Top 9, No Outs, Runner on First, Tie Game.
LI = 3.40 – Actual Play – Fielder’s Choice to third, out at second. – WPA = -.084

Judge grounds one to third, and nearly into a double play.
Here’s what it looked like.

Thing is, Rougned “De La Hoya” Odor is in such a hurry to turn two that it almost looks like he jumps off Second too early. Take a closer look:

”8/2/2017”

Your guess is as good as mine, but here’s the thing: As a “Baseball God“, I don’t have to guess. I’ll just make the throw from third just a little higher and wider pulling Odor off the bag and leaving both runners safe on a throwing error. Did you know that errors count as positive WPA plays?!

New Play – Reach on Error, Throwing Error at Third, Runners safe at First and Second – New WPA = .109 – Net WPA Change = .193

Judge’s New WPA = 3.13
_________________________________________________________
Situation #5:

August 18th, Top 6, 2 Outs, Bases Loaded, Yankees down 1.
LI = 4.52 – Actual Play – Ground Out to Shortstop. – WPA = -.119

Judge hits a sharp ground ball at 103 MPH.

Here’s what it looked like.

Hit hard, but right into Xander Bogaerts‘ glove for a routine out. But per Statcast balls hit at that Velocity and at that Launch Angle become hits about half the time.

One can imagine Judge hitting this ball just a little closer to the pitcher’s mound, and seeing it get past a diving Bogaerts. With the runners going, that hit would easily score 2.

New Play – Ground Ball Single up the Middle Scoring 2, – New WPA = .275 – Net WPA Change = .394

Judge’s New WPA = 3.53
_________________________________________________________
Situation #6:

June 14th, Top 7, No Outs, Runners on First and Second, Tie game
LI = 2.89 – Actual Play – Fly Out to Left. – WPA = -.085

Judge ropes one into left field, where Eric Young Jr. makes an awkward dive for it.

Here’s what it looked like.

Young makes the out, but just barely. Imagine if his dive is just a little more awkward… That ball probably gets by him and clears the bases.

New Play – Bases Clearing Double to Left Field – New WPA = .219 – Net WPA Change = .304

Judge’s New WPA = 3.83
_________________________________________________________
Situation #7:

June 15th, Top 9, No Outs, Bases Empty, Yankees down 1.
LI = 2.88 – Actual Play – Strike Out Looking. – WPA = -.073

Were picking up steam now! And as a “Baseball God” I haven’t had to work very hard changing these last few plays. Now it’s time to work just a little harder.

Leading off a do or die ninth, Judge took three easy balls, then saw and fouled consecutive fast balls. This set up a full count pitch where Santiago Casilla froze him with a beautiful knuckle curve. Here’s what it looked like.

”6/15/2017”
No doubt that’s a beautiful pitch. But guess what? Umpires sometimes miss calls, especially when they get some inadvertant dust in their eye…

New Play – Walk – New WPA = .110 – Net WPA Change = .183

Judge’s New WPA = 4.02
_________________________________________________________
Situation #8:

September 10th, Top 3, 1 Out, Bases Loaded
LI = 2.26 – Actual Play – Sac Fly to Right. – WPA = -.002

In an RBI situation, Judge blasts one.

Here’s what it looked like.

So Judge clearly gets under this pitch… but he still hit it over 300′ and scores a run.
The thing is the next two times up he did this and this!
I’m just gonna do a little rearranging on when these homers take place…

New Play – Grand Slam to Right – New WPA = .256 – Net WPA Change = .258

Judge’s New WPA = 4.27
_________________________________________________________
Situation #9:

April 18th, Bottom 9, 2 Outs, Bases Loaded, Yankees Down 3
LI = 3.86 – Actual Play – Fielder’s Choice to Shortstop, Out at Second. – WPA = -.100

Judge ends the game on a weakly hit grounder to shortstop.

Here’s what it looked like.

Looks like a routine grounder, but per Statcast similar balls become hits about a third of the time. And we don’t really need a hit here, Tim Anderson looks a little shaky fielding the grounder as it hops to his glove. In a critical situation like this who’s to say he doesn’t boot one? The answer is me, the “Baseball God“. I say he boots it…

New Play – Fielding Error at Shortstop, 1 Run Scores – New WPA = .090 – Net WPA Change = .190

Judge’s New WPA = 4.46
_________________________________________________________
Situation #10:

July 21st, Top 3, 1 Out, Runners on First and Third, Tie Game
LI = 2.12 – Actual Play – Sac Fly to Center. – WPA = +.016

Another well struck ball that just stays in the yard for a sac fly.

Here’s what it looked like.

But Judge would get one more try at Andrew Moore that game, and you may remember it. Judge’s next at bat was that time he broke Statcast!

I’m just gonna move that Statcast breaking smash up one AB if you don’t mind…

New Play – Three Run Home Run – New WPA = .216 – Net WPA Change = .200

Judge’s New WPA = 4.66
_________________________________________________________
Ok, awesome we’re 10 plays in, and as a “Baseball God” I don’t feel like I’ve had to work all that hard. But were still only at 4.66 WPA, nearly a win short of our target. It’s time to pull out the big guns. It’s time to perform a MIRACLE!

Situation #11:

July 30th, Bottom 9, 1 Out, Runners on First and Second, Yankees down 2.
LI = 4.78 – Actual Play – Foul out to First. – WPA = -.112

Representing the go ahead run, Judge pops up in foul ground to the first baseman. You can see his hit in blue in the image below.

”7/30/2017”
(As to why this shows up as a -57° LA I think sometimes Miracle Work messes with Statcast…)

Just a lazy pop-up. Not much a “Baseball God” can do to affect this play without revealing myself to the world. So I’ll just void the play and blows this ball a little further to the right and into the seats where Trevor Plouffe can’t catch it!

So I’ve just given Judge a new lease on this particular at-bat. I hope he uses it wisely. I’ll just assume it goes something like this!

New Play – Walk Off Three-Run Home Run – New WPA = .793 – Net WPA Change = .905

What?! You don’t think that’s fair. Tough! I am Beerpope the Baseball God and this is my Miracle, don’t tell me what’s fair!

Judge’s New WPA = 5.57

And with that spectacular finish, we check Judge’s Clutch score:

5.57 / 0.95 – 5.85 = +.01 Wins

And there you have it. Aaron Judge – CLUTCH BATTER. My work here is done.

So what does this all mean? Really I’m not sure. Does the fact that it took 10 twists of fate and one walk-off miracle just to bring Judge barely into the positive show just how deeply un-clutch he was last season? Maybe. But it may also show us how futile it is to focus of how clutch or un-clutch a batter is if an ump call, miss hit, or bounce here or there in just 10 at bats can invalidate the other 600 plus plate appearances in a player’s season.

I’ll leave that determination to the readers.

Now enough with the 2017 Season. It’s time for me to begin contemplating what Miracles to perform thus upcoming season…

Cheers!


Introducing XRA: The New Results-Independent Pitching Stat

There are a multitude of ways that we can judge pitchers. Most people look at earned run average to gauge whether a pitcher has been successful, while many old school announcers will still cite a pitcher’s win-loss record. ERA is a nice, easy way of looking at how a pitcher has performed at limiting runs, but it doesn’t come close to telling the whole story. In the early 2000s, Voros McCracken created the idea of Defense Independent Pitching Stats or DIPS, which credited the pitcher only with what he could actually control. Fielding Independent Pitching was born from this theory and only took into account a pitcher’s strikeouts, walks and home runs allowed. It turns out that a pitcher’s home run rate is not terribly consistent, thus xFIP was created by Dave Studeman to normalize the home run aspect of the FIP equation by using the league home run per fly ball rate and the pitcher’s fly ball rate.

In 2015, a new metric was developed by Jonathan Judge, Harry Pavlidis and Dan Turkenkopf called Deserved Run Average or DRA. This new stat attempts to take into account every aspect that the pitcher has control over and control for everything that he does not, thus crediting the pitcher only for the runs that he actually deserves. DRA, however, is still dependent on the result of each batted ball. If the batter hits a ball deep in the gap and it rolls to the wall, the pitcher is charged with a double, but if the center fielder lays out and makes a remarkable catch, the pitcher is credited with an out. When evaluating pitchers, why should it matter whether they have a Gold Glove caliber defender behind them or not? It shouldn’t, and that’s where Expected Run Average comes in.

Expected Run Average or XRA gives pitchers credit for what they actually can control. FIP attempts to do this as well but assumes that pitchers have no control over batted balls. While the pitcher does not control how the fielders interact with the live ball, he does have an impact on the type of contact that he allows. XRA is based on a modified DIPS theory that the pitcher controls three things: whether he strikes the batter out, whether he walks the batter and the exit velocity, launch angle combination off the bat. After the ball leaves the batter’s bat, the play is out of the pitcher’s hands and should no longer have any effect on his statistics. The goal is to figure out a way to measure, independently of the defense and park, how each pitcher performs on balls in play. Since 2015, StatCast has tracked the exit velocity and launch angle of every batted ball in the majors. Each batted ball has a hit probability based on the velocity off of the bat and its trajectory. The probability for extra bases can also be determined. These batted ball probabilities have been linearly weighted for each event including strikeouts and walks to give each player’s xwOBA, which can be found on Baseball Savant. This is the perfect way to look specifically at how well a pitcher has performed on a per plate appearance basis.

Once xwOBA is found, then XRA can be calculated. The first objective is to find the pitcher’s weighted runs below average. To do this, I used the weighted runs above average formula from FanGraphs except I made it negative since fewer runs are better for pitchers.

wRBA = – ((xwOBA – League wOBA) / wOBA Scale) * TBF

For example, Max Scherzer has had a .228 xwOBA so far this season and has faced 487 batters. After finding the league wOBA and wOBA scale numbers at FanGraphs I can plug these numbers into the formula.

– ((.228 – .321) / 1.185) * 487 = 38.22

Max Scherzer has been 38.22 runs better than average so far this season, but now I need to figure out what the average pitcher would do while facing the same number of batters. To find this I need the league runs per plate appearance rate and multiply that number by the number of batters that Scherzer has faced.

League R/PA * TBF = Average Pitcher Runs
.122 * 487 = 59.41

So a league average pitcher would have been expected to surrender 59.41 runs facing the number of batters that Scherzer has so far this season. Now that we know how the average pitcher should have performed we can find the expected number of runs that Scherzer should have surrendered so far this season by subtracting his wRBA of 38.22 from the average pitcher’s runs.

Average Pitcher Runs – Weighted Runs Below Average = Expected Runs
59.41 – 38.22 = 21.19

Based on Scherzer’s xwOBA, he should have only given up 21.19 to this point in the season. If this sounds incredible it’s because this is the lowest mark of any starting pitcher though the first half of the season. Finally, XRA is found by using the RA/9 formula by multiplying the expected number of runs allowed by 9 and then dividing by innings pitched.

(9 * Expected Runs) / Innings Pitched = XRA
(9 * 21.19) / 128.33 = 1.49

Max Scherzer’s XRA of 1.49 is easily the lowest of any starter through the first half. The second best starter has been Chris Sale who has a 2.15 XRA. Of course these names are not surprising as they each started the All Star Game and are both currently the front runners for their leagues’ respective cy young award.

Here is a list of the top ten qualified pitchers:

Pitcher XRA
Max Scherzer 1.49
Chris Sale 2.15
Zack Greinke 2.26
Corey Kluber 2.33
Clayton Kershaw 2.34
Dan Straily 2.87
Lance McCullers 2.89
Chase Anderson 3.11
Luis Severino 3.17
Jeff Samardzija 3.23

And the bottom ten:

Pitcher XRA
Matt Moore 6.58
Kevin Gausman 6.47
Derek Holland 6.32
Matt Cain 6.26
Ricky Nolasco 6.26
Wade Miley 6.17
Johnny Cueto 6.10
Martin Perez 5.97
Jason Hammel 5.95
Jesse Chavez 5.84

Full First Half XRA List

It is interesting to see that three members of the Giants rotation rank in the bottom seven in all of baseball. In fact, AT&T Park is such a pitcher-friendly park that once you park adjust these numbers, Moore, Cain and Cueto become the three worst pitchers in baseball. It’s not surprising then why the Giants are having such a disappointing season.

One measure of a good stat is whether or not it matches your perception. Therefore, while it is interesting to see Dan Straily as one of the best pitchers in baseball and Johnny Cueto as one of the worst, it is much more assuring to see Max Scherzer, Chris Sale and Clayton Kershaw as some of the very best in the sport. The numbers for relievers also reveal how dominant Kenley Jansen and Craig Kimbrel have been. This is all good evidence that XRA is doing what it is supposed to do, accurately displaying how good pitchers have actually been, independent of all other factors.

Another important characteristic of a good stat is how well it correlates from year to year. While ERA is the most simple and popular way to look at pitchers, it is not very consistent. XRA is much more consistent than ERA and FIP and also compares favorably with xFIP. However, it is not as consistent as DRA. DRA controls for so many aspects of the game that it should be expected to be the most consistent. However, being the most predictive or most consistent stat is not necessarily the goal of XRA. The real goal is to show how well the pitcher actually did, and XRA seems to do this remarkably. While not being as consistent as a stat like DRA, the level of consistency is extremely encouraging and puts it right in line with the other run estimators.

XRA is a stat that takes luck, defense, and ballpark dimensions out of the equation. When evaluating a pitcher, he shouldn’t be penalized for giving up a 350-foot pop fly for a home run in Cincinnati while being rewarded for that same pop fly being caught for an easy out in Miami. With XRA, no longer will people have to quibble about BABIP, since it is results-independent and removes all luck from consideration. A ground ball with eyes will now be treated the same whether it squirts through for a single or is tracked down for an out. Pitching ability will no longer need to be measured with an eye on the level of the defense. It takes a good offense, a good pitching staff and a good defense to make a great team, and with XRA we can finally separate all of these important factions.