Juan Soto and Baseball’s Most Consistent Players

Because he is still only 20 years old, Juan Soto cannot legally drink in the United States. And yet, despite his recent pubescence, he’s one of baseball’s best hitters. Last week, he became just the third player in major league history to hit 50 home runs before turning 21. He’s drawn comparisons to Miguel Cabrera. He’s even already received some Hall of Fame discussion, assuming he can stay healthy over the course of what ought to be a long career.

In a piece for MLB.com from early August, Mike Petriello noted something interesting about Soto: his consistency.

There are no cold streaks, so there’s no fevered “what’s wrong with Juan Soto?” think pieces, like we’ve done with José Ramírez. There are no wild, Bryce Harper-esque up-and-downs that demand attention. There’s just steady, regular production, the kind of thing that makes Mike Trout so outstanding, and for all of that, sometimes we consider Trout to be boring.

This paragraph from Petriello’s story piqued my interest. Is there any way to examine a player’s consistency? With Soto, I attempted to do so.

Through games played on Sunday, there have been a total of 6,310 individual player-weeks — those of the Monday-to-Sunday variety — of 10 plate appearances or more. These span from Daniel Vogelbach’s blistering April 1-7, when he hit .636/.667/1.909 with a 548 wRC+, all the way down to the 34 player-weeks in which the player recorded a -100 wRC+, the lowest possible mark.

You Aren't a FanGraphs Member
It looks like you aren't yet a FanGraphs Member (or aren't logged in). We aren't mad, just disappointed.
We get it. You want to read this article. But before we let you get back to it, we'd like to point out a few of the good reasons why you should become a Member.
1. Ad Free viewing! We won't bug you with this ad, or any other.
2. Unlimited articles! Non-Members only get to read 10 free articles a month. Members never get cut off.
3. Dark mode and Classic mode!
4. Custom player page dashboards! Choose the player cards you want, in the order you want them.
5. One-click data exports! Export our projections and leaderboards for your personal projects.
6. Remove the photos on the home page! (Honestly, this doesn't sound so great to us, but some people wanted it, and we like to give our Members what they want.)
7. Even more Steamer projections! We have handedness, percentile, and context neutral projections available for Members only.
8. Get FanGraphs Walk-Off, a customized year end review! Find out exactly how you used FanGraphs this year, and how that compares to other Members. Don't be a victim of FOMO.
9. A weekly mailbag column, exclusively for Members.
10. Help support FanGraphs and our entire staff! Our Members provide us with critical resources to improve the site and deliver new features!
We hope you'll consider a Membership today, for yourself or as a gift! And we realize this has been an awfully long sales pitch, so we've also removed all the other ads in this article. We didn't want to overdo it.

In order to determine a player’s consistency, I scraped all of these player-weeks and ran the data to find the number of weeks each qualified hitter posted a wRC+ below 100. I do admit that there are a couple of caveats to this method. One, who is to say that a player-week should be Monday to Sunday? Those are effectively arbitrary endpoints, though there is some benefit to having a start and stop of this nature. With endpoints, we are able to eliminate overlapping stretches of time. Two, why is 100 the marker? I picked 100 as the indicator because I recognize that while every player slumps, the most successful hitters are likely those that can continue producing at least league-average offensive value. This would be represented by a 100 wRC+ or greater.

With all of that out of the way, here is our leaderboard of qualified hitters with the fewest number of weeks where their offensive production fell below the 100 wRC+ threshold:

Who Slumps the Least?
Stats through the week ending on Sunday, August 18.

Any baseball leaderboard with Mike Trout atop the list is likely a good one. In that same breath, can you believe that Trout has just two weeks of below league-average offensive output this season? That’s incredible, and it verifies Petriello’s point about how his consistent greatness can almost make him seem boring. To further confirm the validity of this leaderboard, I constructed a scatterplot to compare each player’s season wRC+ with the number of weeks they spent below 100. As you might expect, there was a strong correlation between the two variables (r=0.86):

I completed similar tests for weeks below a 120 wRC+ versus seasonal wRC+ (r=0.87) and for weeks below an 80 wRC+ (r=0.82), but neither of those thresholds provided distinctly different correlations. Generally speaking, there will always be a bit of noise, but the best hitters tend to be those who limit the number of poor weeks that they have. That makes total sense.

Soto ranks highly here. He is one of just 16 players to have five or fewer poor weeks. If we were to use that variable alone to predict his season wRC+ using our regression equation, we would expect Soto to produce a 138 wRC+ this season. That’s not bad considering Soto is producing a 145 mark. More impressive, of course, is the fact that he’s already this consistent at such a young age. Take a look at his 15-game rolling wRC+ since he broke into the major leagues last May:

As you can see from the plot, Soto really has just four defined stretches where he fell below league-average in terms of offensive output. I’ve highlighted them here:

The guy just does not go into a prolonged slump, and that is part of why he is so good. Why might this be the case? Let’s take a look at the three single-season slumps that Soto has endured in his young career:

Juan Soto’s Few Slumps
Slump Dates PA AVG OBP SLG BABIP BB% K% BB/K wRC+
8/8/18-8/23/18 71 .176 .311 .275 .242 16.1% 27.4% 0.6 62
4/20/19-5/16/19 66 .190 .288 .345 .235 12.1% 31.8% 0.4 65
7/6/19-7/25/19 68 .224 .324 .345 .256 13.2% 20.6% 0.6 76
Career Averages – – – .293 .405 .540 .329 15.8% 19.8% 0.8 145
League Averages – – – .254 .325 .429 .299 8.6% 21.9% 0.4 100

This is just a surface-level look at Soto’s slumps, but he stands out in one important area: plate discipline. In all three slumps, he still maintained a walk rate well above the league-average during this time, and in two of the three, his K/BB rate was 50% better than the league’s. This tells us that, even when struggling, Soto doesn’t stray from his top skill. Soto is a successful hitter because he has great command of the strike zone, and because he doesn’t drift from this mindset when struggling, the slumps don’t last long.

Just for fun, let’s compare Soto’s 2019 slumps to Trout’s early-May slump. In a 15-game stretch from April 22 to May 9, Trout was… wait for it… a below league-average hitter. Yes, seriously. Here’s how they stack up:

Soto vs. Trout, Slump Comparison
2019 Slump PA AVG OBP SLG BABIP BB% K% BB/K wRC+
Trout 67 .212 .373 .327 .238 20.9% 14.9% 1.4 93
Soto 1 66 .190 .288 .345 .235 12.1% 31.8% 0.4 65
Soto 2 68 .224 .324 .345 .256 13.2% 20.6% 0.6 76

You’ll notice a couple of things here. One, even when Trout is “slumping,” his slumps still stand out compared to a not-as-great-but-still-elite Soto. Second, my theory with regard to plate discipline holds true in this case study. Trout was almost drawing three walks for every two strikeouts during his slump. The plate discipline was still there, and with better BABIP luck and better pitches to hit, Trout broke out of it fairly quickly. I’d imagine something similar happened with Soto.

We can get a visual representation of this idea by overlaying a BABIP graph on top of Soto’s rolling wRC+ chart. Here’s what that looks like:

Generally speaking, Soto’s wRC+ moves pretty consistently with his BABIP. Recently, that has not been the case, but that is because nearly half of Soto’s hits in August have been home runs (eight of 19 into Tuesday). When Soto was experiencing a more normal distribution of hits and homers, his BABIP and wRC+ have hung together like good friends.

It’s hard to classify a player as good as Juan Soto as “boring,” but for someone this consistently good, there’s not a whole lot you can really say about his excellence. Except for maybe the fact that he’s still got five years before he can rent a car.





Devan Fink is a Contributor at FanGraphs. You can follow him on Twitter @DevanFink.

29 Comments
Oldest
Newest Most Voted
southie
6 years ago

Talk about v-shape recoveries. BTFD!

Ben ClemensFanGraphs Staff
6 years ago
Reply to  southie

You never know where BTFD will pop up. This also made me think of doing a similar project with Sortino ratio to sort (hey, I’ll be here all week) out people with the least “negative variance.” Fun article, and you have to love arbitrary finance references.

southie
6 years ago
Reply to  Ben Clemens

We need to find the “inverted yield curve” recession indicator for hitters.

Ben ClemensFanGraphs Staff
6 years ago
Reply to  southie

It would probably be “he’s taking bad at-bats,” since neither would actually work as a predictor.

London Yank
6 years ago

Some constructive criticism:

There are some methodological problems here. First, you set out to measure consistency, but you really don’t do that at all. If you want to measure consistency, then you want to look for players with the least variance in their windows. Just calculate the standard deviation of their wRC+ windows. Instead you set the same baseline of 100 wRC+ for a slump for all hitters. However, not all hitters hit at the same level, so it is not appropriate to have the same baseline for each hitter. Of course the best hitters have fewer runs of games below 100 wRC+. This is essentially a truism because we’ve defined good hitters by good wRC+. If you want to measure consistency and slumps you need to set each hitter’s baseline relative to their individual batting levels. A wRC+ of 99 might be a terrible slump for Mike Trout, but its a pretty good week for Jackie Bradley Jr.

Also, calculating a correlation between wRC+ and weeks below wRC+ of 100 is not particularly meaningful. You know a priori that the two variables are not independent, so what is it telling you?

London Yank
6 years ago
Reply to  Devan Fink

If you want to look at consistency then you want to ‘penalise’ players for having much better weeks than their baseline.

“Effectively, the way I did it finds the players who are consistently above league-average as opposed to being consistent in general.”

Yes, but you really just created a less good way of finding the best players. We already know who the best players are by looking at wRC+.

cy.rybicki
6 years ago
Reply to  Devan Fink

You could have used tOPS+ instead to measure how a hitter performs relative to his own baseline. Sticking to wRC+, if you already have the weekly splits it should be simple to create a twRC+ metric and then used something like 50 as the cutoff for a slump (50% worse than the individual player’s baseline).

jorgesca
6 years ago
Reply to  Devan Fink

Maybe it just should have said consistently above average.

London Yank
6 years ago
Reply to  jorgesca

That isn’t really an interesting question though because we already know that the best players are the ones who are most consistently above average. Also, there are better ways to measure who the best players are than by doing it in a roundabout way by measuring how many weeks above average they are.

mrrr
6 years ago

Re: consistency…. Since his call-up in May 2012, Mike Trout has played in 45 calendar months. He has been an above average hitter by wRC+ in all but one. That month (August 2015) his wRC+ was 99.

https://www.fangraphs.com/splitstool.aspx?playerid=10155&position=OF&splitArr=&strgroup=month&statgroup=2&startDate=all&endDate=all&filter=&statType=player&autoPt=true&players=&sort=NaN,1

WARrior
6 years ago
Reply to  mrrr

His worst slumps:

8/1-29/2015 (27 G, 113 PA): .194/.336/.290, wRC+ 83
4/29-5/19/2014 (19 G, 86 PA): .164/.314/.356, wRC+ 94
9/4-23/2017 (17 G, 71 PA): .158/.310/.316, wRC+ 73
6/21-7/6/2018 (15 G, 66 PA): .160/.364/.260, wRC+ 68

CC AFCMember since 2016
6 years ago

I posit Tim Tebow to be the anti-Soto. Consistently fucking awful and old for his level.

WARrior
6 years ago

I think the reason Trout continues to draw a lot of walks when he slumps is because pitchers still fear him. They’re wise to the fact that just because he hasn’t hit well for the past week or so, doesn’t really mean anything going forward. A great player has to go into a prolonged slump before pitchers will start challenging him more.

Jetsy Extrano
6 years ago

“If we were to use that variable alone to predict his season wRC+ using our regression equation, we would expect Soto to produce a 138 wRC+ this season. That’s not bad considering Soto is producing a 145 mark.”

Which is to say, he’s not particularly consistent, he’s just good. He’s actually a bit negative on consistency, compared to what you’d expect.

London Yank
6 years ago
Reply to  Jetsy Extrano

Further to my point above, the quote that you highlighted illustrates my point of how meaningless it is to correlate wRC+ with weeks below 100 wRC+. What does it mean to predict a wRC+ from weeks below wRC+ of 100? You first have to know wRC+ before you can calculate weeks below wRC+ of 100. The latter is a component of the former.

Green Mountain Boy
6 years ago

And the great fallacy of BABIP is perfectly illustrated in this piece. Why, why, WHY are HRs not included in BABIP? They are balls put in play in fair territory. Ergo, they should count toward BABIP.

Similarly, why, when a reliever comes into a tie game, gives up no runs, and leaves the game in the same tie it was before he came in, is he not credited with a Hold? But yet, a guy comes into a 6-3 game, gives up 2 runs while only recording one out, and he’s credited with a hold.

Dumb, just dumb.

London Yank
6 years ago

With respect to BABIP, lots of people like to use it as an indicator of the effect of luck on batting performance. If you include home runs in BABIP you start to lose this, since there is no chance for a fielder to make a play on the ball.

Green Mountain Boy
6 years ago
Reply to  London Yank

And if you don’t include HRs, you disproportionately penalize the slugger. Hey, I get what BABIP purports to measure, I just believe it’s flawed by definition. A HR is a ball in play. They add +1 AB when one is hit, right?

Another flaw with BABIP – The F-7 in one ballbark that’s a HR in another.

Want yet another flaw? The double or triple high off the wall. No fielder has a chance to catch either, correct? Just like a HR? Yet both the 2B and 3B are a “ball in play”, while the HR isn’t. What about the liner fair down either foul line? Ain’t no one catching those either, yet they count toward BABIP.

Y’all need to open your minds and try to visualize what’s really valuable to measure. Can we agree that BABIP proposes to separate “luck” from “skill”? So why does it penalize guys who hid the ball a) harder and/or b) farther? We KNOW that crappy (or slumping) hitters make more weak contact and therefore will have a lower BABIP. We don’t need a stat to tell us.

So what good does BABIP do if it doesn’t account for the positive outcomes more common to good, high-contact, power hitters? And what about Ks? A guy with 10 LD singles + 20 weak grounders + 70 Ks in 100 ABs has a .333 BABIP. Do you call that a good hitter? I certainly don’t. I call him Mario Mendoza.

Do I have a better way? Maybe. Working on it. What I do know is changing how BABIP is calculated is a step in the right direction.

WARrior
6 years ago

BABIP does not separate luck from skill. Some extreme BABIP values indicate a role of luck, but most don’t, and the fact that BABIP doesn’t take into account HR just means that hitting HR is considered a different kind of skill. Sluggers aren’t getting penalized because HR are not included in BIP. There is no award for having a high BABIP. HR hitters would not be more highly valued if their HR were included as BIP.

Most hits are by definition on balls that no one has a chance to make a play on. A line drive down the line is really no different from a line drive in the gap. Either one will be scored as essentially 0% probability of being caught. Same with balls high off the wall. While the line is fuzzy, the difference is that a HR is usually on a ball hit so hard and at such an angle that luck does not enter, or enter as much, into where it’s hit. I agree the distinction is somewhat arbitrary, but again, no one is getting penalized by the current definition, Well, pitchers are, but they should be penalized for giving up hard hit balls.

I very much doubt a player with a 70% K-rate would have a .333 BABIP. As you said, weak contact. But even if he did, no one said that a relatively high BABIP is the mark of a good hitter.

rosen380
6 years ago
Reply to  WARrior

It’s kind of like complaining that batting average excludes walks and doesn’t give more credit for a home run than a single. Yes, for the purposes of trying to do the best possible evaluation using a single number, AVG is lacking. So, don’t use it for that!

Dr. DaveMember since 2016
6 years ago
Reply to  rosen380

So what _should_ you use batting average for? You have inadvertently made a compelling argument that BABIP as currently defined shouldn’t be used for anything at all, since it isn’t the best measure of anything we care about.

WARrior
6 years ago
Reply to  Dr. Dave

BABIP values at the extremes indicate luck is playing a larger than usual role in the batter’s performance. That is very useful to know.

J.D. MartinMember since 2020
6 years ago

Yet another reason to resort to the obviously superior BACON stat instead

grandbranyanMember since 2017
6 years ago

Since 2003 Mike Trout has 73.5 WAR, second only to Albert Pujols (75.5), who he will likely pass by the end of the season.

Which mean Mike Trout has been the best player in baseball since his age 11 season.

rosen380
6 years ago
Reply to  grandbranyan

Add in ZiPS RoS and it is real close:
Pujols 75.3
Trout 75.0

How about Bonds? Lets stop after 2000 (skipping over four of his five highest fWAR seasons). Bonds was #1 in fWAR, 1960-2000. That was starting on Bonds* age 14 season.

* uh, that is Bobby Bonds age 14 season; Barry wasn’t born yet.

Luy
6 years ago

That’s a clown intro, bro.
🙂

NATS FanMember since 2018
6 years ago

Soto can really hit! I just wish he could field a bit more.

Dr. DaveMember since 2016
6 years ago
Reply to  NATS Fan

Or at all. I see a move to DH fairly early in his career, alas. On the other hand, I can’t imagine a more fun-to-watch-at-the-plate back to back combo than Rendon and Soto. (Note that Rendon scored even higher on the steadiness scale… I think ‘steady’ is a better description of what Devan is measuring than ‘consistent’, for the reasons given above by others.)