8/17 N1: Stolen bases since the All-Star break:
(1) Seattle 44 (2) Rays 34 (3) Yankees 28.
Toronto last with 6, obviously not from a shortage of baserunners.
That’s a pretty serious stolen base rate for Seattle — 264/162 games.
8/17 N2: His FIP, 4.45, is ominous, but rookie Mike Vasil has been something of a long reliever extraordinaire for the White Sox, pitching to a 2.46 E.R.A. and .199 average allowed in an impressive 80 innings.
I did find one place where Vasil, who throws 94-95, has been outstanding. Although he doesn’t use it much, 14% of the time, Vasil has the second-best four-seam fastball whiff rate of any pitcher (over 45%). The whiff rate on his sinker is 12% but he throws that 39% of the time. Of course, you’re not so concerned about whiffs with sinkers, so both variations should probably have a place for him. Vasil’s overall success rate has been good with both pitches, but better with the sinker (+1.30 runs per 100) than with the four seamer (+0.74 runs per 100).
8/17 N3: The Cubs have been going great guns with their starters in the second half. I’m reminded of the Mets after the beginning of this year. I had thought starting pitching was the team’s weakness (and maybe now it is), but it was anything but at the start of the season. Right now, oddly, there is no group hotter than Colin Rea, Shota Imanaga, Cade Horton, Ben Brown, and Matthew Boyd. Their 3.04 E.R.A. since the break (we mix in an opener or a two, a Javier Assad start, an aborted-and-sad Michael Soroka try) is MLB’s best. The starters’ E.R.A. in August has been even better, 2.34, with a .177 average allowed. WHIP — 0.818 (would love to get a look at that OBP)!
They don’t strike out batters, perhaos signaling the overall talent level (20th-per-9 since the AS break), and are getting something of the Craig Counsell treatment (14th in innings).
Time was, we remember, when the Northsiders were averaging 6 runs a game this year. Well, since the break, the team has only scored more runs than the Cardinals. You add in a bullpen with the 8th-worst E.R.A., and this team that is not only 16 games over .500 this year, but has MLB’s second-best run differential. has been outscored since the All-Star break.
This might not be the place to fit this in, but just like an addict has to come to terms with unwanted truth, I think we have to face the fact that Wrigley is a pitcher’s park. We like a world where the wind blows out and the wild-and-wooly games outnumber the pitchers’ duels. But the truth is now very much the opposite. The Cubs’ Pitching Park Factor this year is 93, after it was 86 last year. That is extreme data, or close to it.
The Cubs’ best and brightest hope on the pitching mound, the one who may be different from the overachievers, is rookie Cade Horton. Joining the team on May 10, in five starts since the All-Star Break that have lasted from 5 to 6.1 innings, he’s given up just 1 run total, lowering his E.R.A. from 4.45 to 3.07 in the process.
Horton may have been the 7th-overall pick, but the basic peripheral analyses still don’t flatter him and might place him with the overachievers. His strikeouts and walks are rather average independently, and his ratio, just 2.47-1. However, that Horton had more strikeouts than innings his last two times out says he might really be turning a corner. He tied his season high in strikeouts on August 6, then beat it last time out, with 8.
Baseball Reference WAR is among the haters. If you’re not an apostle, you could reasonably choose Cade for Rookie of the Year, but there are at least 22 rookies ahead of him in the NL, pitcher or player. The explanation, despite that E.R.A. of Horton’s more than under the NL average, is mostly the bullpark and the Cubs’ third-ranked defense in MLB. Horton has also allowed just under 15% unearned runs from runs, while the MLB starting pitcher average is 6%.
An interesting comparison is found in Brad Lord. Lord’s bWAR is 2.3, which has him tops among NL pitching rookies. Horton’s is 0.7. Yet look at their basic numbers.
Horton: 85 IP, 73 H, 34 R, 29 ER, 7 HR, 27 BB, 67 SO
Lord: 91 IP, 82 H, 34 R, 33 ER, 7 HR, 29 BB, 73 SO
It’s just a fun look. In terms of bWAR, it’s only the runs (total runs) that matter from above, plus the innings. It’s a flattering comparison to Lord, who was an 18th-round pick. Fastball velocity wise, the guys also aren’t too different: 95.7 for Horton on the four-seam, 95.0 for Lord.
Where Horton is penalized in bWAR because of the Cubs’ excellent defense, Lord is propped up because of the Nationals’ lousy fielding. They are the exact opposite of the Cubs, ranking 3rd-to-last in Defensive Runs Saved.
Horton has a very low whiff rate on fastballs, just under 11%. His whiff on non-fastballs is a very good 38%. Dividing by pitch and studying the Baseball Savant leaderboards, I found that the median four-seam whiff rate is about 20%, while the medians for sliders, sweeepers, curves, and changeups are all close to 30%. Horton’s split, you will note, is much greater than that.
Also fun to look at these data this way.
Horton on FB: 332 swings against, 35 whiffs
Horton on non FB: 307 swings against, 118 whiffs
The NL rookies with bWAR of more than 2.0, in addition to Lord: Isaac Collins, 2.8; Drake Baldwin, 2.5; Matt Shaw, 2.4, Caleb Durbin, 2.0.
Since Hyeseong Kim has played in just 58 games, let’s give some love to his 1.7.
8/17 N4: Filling in at third for the injured Austin Riley has been Nacho Alvarez. Since he’s accumulated only 75 plate appearances and has 0.9 bWAR, higher than Cade Horton on the rookie list, you might think this means he’s hit well.
Au contraire, my friend. Alvarez has yet to homer, and is hitting .227. But Defensive Runs Saved says he’s been fielding out of his mind — +7 in just 20 games. Baseball America rated Alvarez (at 22 one of the few fairly young NL rookies) the Braves’ 4th-best prospect before this year, but made that call largely because they saw him as potentially a very good OBP guy, not because they saw him as a glove.
The OBP skills so far have been limited to his 4 hit-by-pitch. This also seems something of a surprise; he was hit 8 times in about 500 minor league plate appearances last year.
We don’t have much additional minor league data on Alvarez this year. He must have experienced some injuries of his own.
8/17 N5: In 6/24/25 N2, I made a very thorough attempt to track stolen-base attempts and success rate on a monthly basis since 2023, or since the rule changes were instituted. This was set off by noting a drop in attempts over the first 3 ½ weeks of June, and an even more remarkable drop in success rate.
If ever a follow-up were needed….
Success rate, since, has completely bounced back, to 78.6%. It was 73.9% in those first three weeks of June. This .786 actually compares favorably to the .784 in March/April, and the .767 in May, though not quite up to 2023 (.802) and 2024 (.790) levels.
However, while teams had run at good rates before June this year, that has continued at a lower level than in 2023 and 2024. Successful steals per game have been at just .682, which trails any individual month in 2023 or 2024.
I had to refresh myself on virtually all of the details that were in that note and had even completely forgotten some of the conclusions. But if, unlike me, you had retained the content, you would have seen a continuation of trends in Seattle’s being the runningest team since the All-Star break, as noted earlier today, and Toronto’s being the most moored to base, for I featured both teams as trending in the current direction over that period in June.
We would have to do the math, but the way the M’s are stealing, I wouldn’t say the 28-bag edge the Rays have over them is safe. But that is a big lead. With 135 and 131 steals, respectively, to the M’s 130, the M’s certainly figure to pass the Brewers and Cubs, though.
Odd of course to be highlighting a negative trend with a team that does no wrong where it counts, with a squad that has won 14 in a row, but the Brewers’ monthly steal data is interesting.
Mar/April: 40 SB-49 Att
May: 40-48
June: 19-31
July: 22-32
August: 14-18
Their performance collapsed after May, although they have bounced back this month (this is just a half month, so 14 steals isn’t bad).
The struggles have been pretty much across the board. Since June:
Brice Turang, 7 for 12
Jackson Chourio, 7 for 11
Caleb Durbin, 5 for 9
Isaac Collins, 6 for 9
Christian Yelich, 5 for 8
William Contreras, 1 for 4
The exceptions are Joey Ortiz (6 for 7) and Sal Frelick (7 for 9).
The Brewers lead MLB in caught stealing with 43, although Kansas City, 96 for 133, is certainly a worse-running unit.
The Mariners by month:
Mar/April: 37-49
May: 16-22
June: 26-30
July: 27-31
August: 24-27
So, they have an at least 87%+ success rate in each month since June.
Unlike most of MLB, the Mariners had a slump in May, not June. But for the year, they’ve been a really good stealing team.
It’s important to note here that we are not looking at consistency in the data of the last three months (August is a half month in the data!). The Mariners will blow out of the water their May, June, and July steals this month, and adjusting for the fact that April was really a month plus, will probably blow April out of the water, too.
8/17 N6: Trea Turner keeps releasing hit singles — 7 over the last 3 games.
My attempts to frame this as a “whoop de do” failed, however, when I queried how many players had played 20+ games since the All-Star break and had fewer than 7 singles. It’s only 14 guys, out of 238 players.
Your champion, taking into account plate appearances, is Bo Naylor, with just three post-All Star singles. Bo is hitting .179 in this period, but with 7 of his 10 hits going for extra bases, is slugging .375.
Xavier Edwards leads everyone in post-All Star singles with 32 (I know he at least the NL, as well, for the year). Even though we’re talking about a short period of time, the three guys behind Edwards also make a great deal of sense: Nico Hoerner, Luis Arraez, and Geraldo Perdomo.
Trea Turner? Just 22 post-All Star singles.
The player who had the most at-bats in a second half without reaching 7 singles also could hardly make more sense: Gorman Thomas, 1975.
For his career, Thomas hit 33 home runs per 575 at-bats, but in this second half, he didn’t hit home runs, he didn’t hit singles, he didn’t do much of anything. His complete slash was .109/.204/.233 in 129 at-bats. (For the record, he had 5 singles).
If you look at Thomas’s record for all of ‘73-’76, his looks like a career destined never to get out of the starting blocks. The Seattle Pilots’ first pick in the Jim Bouton season, he ended 1976 as a soon-to-be 26-year-old with a .193 career average and 30 AB per HR over 297 games, quite a few of them participated in as a sub. His strikeout rate was 29.3, doubtless exceptionally high for an American Leaguer of that day.
But Thomas spent a full year at Spokane in the Pacific Coast League in 1977, posting a .322/.436/.640 slash. Returning to the big leagues in 1978, Thomas kept his batting average consistent and playable for the next five years, hitting in the .239-.259 range. More importantly, he won two AL home run championships in the window, in ‘79 and ‘82. Only Mike Schmidt edged him out in total MLB home runs from ‘78-’82 (180 to 175). With 150-153, 5th through 3rd, were Jim Rice, Reggie Jackson, and Dave Kingman, respectively.
8/17 N7: That Ronald Acuna returned before he was expected to, at least relative to my own “expert” judgment, makes me reflect that since more players return after than before they are expected, maybe we should adjust our expectations?
8/17 N8: 85 pitches for Ryne Nelson, and just 8 foul balls? I blame the Rockies.
8/17 N9: Man, Dylan Cease versus Blake Snell. That figured to be a messy game. Luckily for me, I like big breaking balls.
8/17 N10: Still red flags (to the extent that there can be in single starts) with the A’s Luis Morales. While he only allowed a run in 5 innings and struck out 5 against the Angels, his strike rate was 58.6%, still not where it needs to be.
And he had just 6 whiffs. Three of those 5 strikeouts came with the hitter waiting on the umpire.
8/18 N1: I’m not going to say it’s anything dramatic, but we’ve had increasing offense throughout the season, more than just the weather would predict (I think), although I would need to check that.
E.R.A. has increased in each month, as has HR/AB.
Batting average on balls in play has been exempt from the general trend: .288, .294, .291, .290, .289, from first month to last.
A big increase in E.R.A., July versus August — 4.45, versus 4.22. The 0.23 increase, the largest of any month, and topping the 0.10 increase from June to July.
But June to July saw the biggest increase in home run rate.
HRs per 575 AB, by month: 18.2, 18.7, 19.8, 20.7, 21.2.
Runs per game from July to August are not up the full 0.23/9 of earned runs. They are only up 0.17. That makes me feel a little better, because in the underlying numbers, I don’t quite see why earned runs have increased by the amount they have from July to August.
The walk rate this month has been 8.35%, after 8.19% in July.
That’s probably not a big deal, because one thing that is interesting is that OBP has not been trending up this year. It’s been steady as she goes: .316, .317, .315, .315, .316, by month.
Editor’s Note: As 8/18 N10 details, I made the mistake of thinking that #Bat reflected just the # of position players used in a season, while in fact in reflects total number of players, including pitchers. So, if I were you, I would not read 8/18 N2. 8/18 N3+4 continue down the same path, although there is perhaps something to be salvaged within the analyses, even though I did not understand what I was looking at. The R/G, BatAge correlations given in 8/18 N4 are legitimate, provided that BatAge, unlike #Bat, just reflects batters, something of which I am not sure.
8/18 N2: Baseball Reference shows the numbers of batters a team has had for a season. My assumption was that it would be a good sign if a team kept that number low. However, the correlation this season between runs-per-game and batters used is mildy in the opposite direction, .14.
60+ batters used: Arizona (62), Baltimore (62), Atlanta (60), NYM (60).
< 45 batters used: St. Louis (40), Philadephia (41), Cleveland (42).
I ran the correlation as well for 2024 and 2022, and those years did adhere to the expectation: a correlation of -.25 in 2024, -.40 in 2022. In 2024, five teams scored fewer than 4 runs a game, and that group produced #s 1, 2, and 3 (Miami, LAA, CHW) in the batters-used stat.
A high count of batters probably reflects injuries, and can reflect roster overhaul and 1989-style Dallas Cowboys ongoing tryouts, but it might also just reflect depth. I think depth factors into the Mets’ high count this year.
8/18 N3: I was struck by the Giants’ total of batters used this year being tied for 6th fewest. I wondered if that signified the change from Farhan Zaidi to Buster Posey. In particular, it seemed unlikely to me that Zaidi would have stood idly by while the team only scored 4.07 runs a game, as the Giants have.
Zaidi’s record of using position players in fact seems to be mixed. He became the GM before the 2019 season. The years before 2022 are a special category. The #Bat stat reflects pitchers who batted, so you are really looking at use of the whole roster. I did still look at 2019-2021, just only within the National League.
To take the last three years first, the Giants used the 7th most batters in MLB last year and were tied in 2022 using the 3rd most, but ranked just tied for 18th in batters used 2023.
In 2019, they used the most in the NL, but slipped to tied for 8th in 2020. Most at odds with my understanding of the Zaidi Giants is the miracle 2021 team that won 107 games, and that I think of as having been “all hands on deck.” They were actually tied for using the 4th-fewest batters in the NL.
On the whole, it seems the Zaidi Giants did use more players than an average team, but without studying the history, I can’t say how much of that was of their own making, and how much the conventional reaction to their circumstances. It’s a complex subject, and the GM is involved at every turn. The roster compiled at the start of the season, if it lacks star power, might logically require more turnover than a more loaded group. The GM is responsible for that opening roster, of course within the limits of his payroll flexibility, so in that way as well responsible for turnover.
I think the 2021 team also shows the importance of distinguishing between how liberal the use is of the 26-man, and the extent that that 26 changes. Those are two different things, and there may not be any correlation between them.
8/18 N4: Picking up from the last note, it occurred to me that maybe “batter age” (like “#bat” a special creation of Baseball Reference) could be used as a proxy for whether a roster is star-laden (the assumption being that older rosters are more star-laden). With my question of whether star-laden rosters turn over less than anonymous rosters, I could correlate BatAge with #bat. The other side of the prediction would be that older rosters would experience more turnover, not less, because older players get injured more, no matter how fixed a team was on who it wanted on the roster.
Correlations between BatAge and #bat:
2025: .05
2024: -.02
2022: -.19
So not a lot going on there, but the sign of the largest correlation is in the direction of older rosters indeed experiencing less turnover.
Normally, if two variables don’t correlate, being interested in their relative association with a common third variable doesn’t make a lot of sense, but for some reason this time, I succumbed to that thought. So I correlated BatAge and R/G for the three years.
2025: .04
2024: .38
2022: .31
Despite the lack of correlation between the predictors, runs per game, which was responsive to both players used (negatively) and average age (positively) in 2022 and 2024, hasn’t been responsive to either this year. It’s an interesting revelation, although it could be coincidental. Broadly, it seems to show that the makeup of the good offenses this year has been unusual, although one could counter than an infinite number of “roster construction” variables could be created, which might show correlation.
8/18 N5: Home runs on Sunday by Langford, Carter, Semien and Seager, and the Rangers over the Blue Jays 10-4. That was the way it was supposed to be, the promising kids joining the established Hall of Fame aspirants.
8/18 N6: Steven Voight at it again, making/letting Logan Allen throw 107 pitches as he doesn’t make it out of the 5th against the Braves.
361 pitches total in this game, but just 9 runs. 4.20 pitches-per-PA for the game.
Braves’ starter Fedde (sigh), fast becoming an innings-eater in the Patrick Corbin mold, had an interesting split. We hear so much about first-pitch strikes, and he was good there, 15 for 21. But you don’t see a lot of guys throw just 38 strikes to 35 balls if you take the first pitch out.
All of his walks came in the 2nd inning. He walked the bases loaded, but the Guardians could not score.
They’ll be replaying this one for years, for as long as they replay games.
8/18 N7: Bo Naylor followed my note from yesterday by getting 4 hits, 3 of which were singles. So he had as many singles in this game as he’d had in his 20 previous since the All-Star game. The 4-5 raised his average 12 points.
Certainly has his attributes, but a .202 career hitter, although the at-bat total isn’t high enough (832) that I think we can assert with confidence he isn’t better than that.
8/18 N8: Five shutout innings for Tony Senzatela! E.R.A. down to 7.00 even! That’s in 108 innings.
The next most innings this year with a 7.00+ E.R.A. belong to his teammate Bradley Blalock, who has an 8.62 E.R.A., and has worked 47 innings. He is followed by Carlos Corrasco (7.09, 45.2), Tanner Houck :( (8.04, 43.2), teammate Angel Chivilli (7.29, 42), and Jordan Romano (7.19, 41.1). Numbers 7, 8, and 9 on this list are also Rockies.
Coors Field likely plays a part in Senzatela’s bad statistics, but his road E.R.A. is 7.04. His slash is even worse on the road (.380, .442, .625), but maybe 13 GIDP have helped a bit in terms of E.R.A.
Jose Soriano (16) and Stephen Kolek (14) have induced more road double plays this season than Senzatela.
8/18 N9: Ramon Laureano (.339/.403/.679 in 15 games for the Padres) continues to amaze.
His Defensive Runs Saved has turned, however: +7 with the Orioles, -4 with San Diego. He was +3 in left in just 29 games with the Orioles, so the decline doesn’t seem to have anything to do with playing left in San Diego.
8/18 N10: I will stick to not erasing Notes, probably out of my pride more than anything else, but my apologies for subjecting you all to those analyses with #Bat and Team Runs, not realizing that #Bat also included pitchers (obviously, Arizona hasn’t used 62 position players this season!) Another confirmation of the goof is that, in the final year of single-league play, 1996, the AL is credited with an average of 43 #Bat per team, and the NL with 42. That obviously could not happen if only batters counted, and not “exclusive pitchers,” too.
So the hypotheses with #Bat did not get a test, in as much as #Bat actually derives about 60% from pitchers used, and there would be no reason to think the number of pitchers a team used would reflect on its offensive production in any way.
There is no way to get the data I wanted for just batters used in fast fashion, so we’ll have to table the analysis. That Baseball Reference includes pitchers when you do general searches for players who have played games sometimes is actually very convenient, but here it bit me.
8/19 N1: Wishing the best of luck to Zack Wheeler…..
8/19 N2: Logan Gilbert had such a brutal outing against the Phillies, his “slugging average against” went up 31 points, from .351 to .382. 9 hits allowed over 2 innings, including 2 home runs. He had just short of 90 innings on the season going into the outing, so that you can put the impact of the bad performance in context.
Another unusually bad metric was his just 6 first-pitch strikes to the 15 batters.
With 125 strikeouts and 23 walks on the season, Gilbert’s overall numbers remain very strong, however. While he hasn’t quite fired on all cylinders since returning from his elbow injury, his fastball and slider velocity on Monday rate well versus where they’ve been all season, and his SO/BB ratio post-injury is 4.8-1, with over 2/3rds of his season’s work coming since the injury.
8/19 N3: 4 more hits on Monday for Michael Harris!
8/19 N4: It’s interesting that only 4 players have struck out 5 times in a 9-inning game more than once, but two of them, Aaron Judge and Javier Baez, have had that happen 3 times. It’s happened just 107 times to 101 players, but two of them are double-duplicate cases. It’s hard to believe that this simply follows from Judge’s and Baez’s strikeout totals, even though they are high. With a stat like that to their record, you’d think they might be striking out 300 times in a season.
The other multiples are Alex Rios and Matt Chapman. It happened to Chapman in consecutive seasons — in 2020 and 2021.
My man Pepe Mangual is on the list, in 1975, the one year he was given some run. Had “only” 115 strikeouts in 609 plate appearances, but the Giants’ Ed Halicki got him 5 times on August 11.
Pitchers hitting at the end of the lineup always worked against their hitting often enough to strike out 5 times, and towards the end of their hitting enfranchisement, they also had the challenge of staying in the game for all 9 innings. But Gerrit Cole still struck out 5 times on May 4, 2018. His Astros made 14 hits and walked 4 times in an 8-0 victory over Arizona and went through the lineup 5 times exactly. Cole was struck out by Kris Medlen and T.J. McFarland twice, and by Daniel Descalso. The Astros only had 3 other strikeouts against them. On the mound, Gerrit more than made up for it, pitching a 16-strikeout 1-hitter with a pitch count of only 114.
8/19 N5: Were you wondering about Ed Halicki, the guy who struck out Mangual 5 times on 8/11/75? His E.R.A. that year was just 3.49, and his ERA+ for his career, just 102 in 1063 innings. His best record was the 16-12 he posted in 1977. But a second look shows he was briefly brilliant.
His 1975 season, coming after a 1-8 mark compiled mostly as a starter as a rookie in 1974, began in Phoenix, so he didn’t come up until May 20. With his season ending for some reason (the issue wasn’t serious enough to prevent him from starting regularly over the next three years) on September 10, he finished with 159.2 innings, just shy of the 162 needed to qualify for rate totals. Halicki’s walks were only slightly better than average, but on the strength of his strikeouts (which would have put him first per-9 in the NL) and his home runs against (which would have put him 2nd per-9 in the NL), his 2.32 FIP would have made him the league leader, just ahead of Cy Young Award winner Seaver (2.35 FIP).
Three starts after striking out Mangual 5 times and the Expos 12 times overall, Halicki no-hit the Mets with 10 strikeouts on 8/24. He followed that up with consecutive 12-strikeout games against the Phillies and Dodgers.
Halicki was 6-foot-7.
8/19 N6: Stathead comes through again and again compassionating with the position-player-pitcher problem. When I asked for all pitchers with at least 7 innings pitched and a career FIP of 9.00, position players Luke Maile, Christian Bethancourt, Sandy Leon, Miguel Rojas, Garrett Stubbs, and Willians Astudillo came underlined to streamline my task.
What provoked me to this doubtless “waste of time” inquiry was Kyle Bird, whose one season of 2019 consisted of 15 walks and 5 homers in 12.2 innings for a 10.82 FIP. More impressive for sample size is the 2011 “cup of coffee” turned in by Anthony Vasquez, whose 9 starts produced 13 home runs against in 29.1 innings and a 9.23 FIP. The long balls (10) and walks (13) have likewise proliferated in the 16 big-league innings of Michael Mercado, but last appearing for the Phils on June 21, hopefully this one-time second-round draft pick is just off to a slow start. He has a FIP of 12.16.
8/20 N1: Christian Yelich currently has 26 home runs and 14 doubles in 449 AB. The only years in which he had a better home run rate were 2018 and 2019 — the first of which was an MVP season, the second of which an MVP runner-up season.
Yelich is also hitting .265 — not vintage Yelich, but well above average. However, his .467 SLG could be sharper, and the reason is that low doubles total. His rate of doubles is his worst outside of 2020.
The same pattern is there with his strikeouts — the worst of his career, except for 2020.
He hasn’t yet a triple; he’s done that in every previous season.
It will be interesting to see what his Hall of Fame fate is. That is not my bailiwick, but my hunch is a consensus will form in one direction or the other as he winds down, and he will not end up a borderline case. It seems to me that it hangs in the balance, in other words, depending on how these next few seasons go. The way we saw him at the end of 2022 was so different than after 2019, and now it seems homeostasis has been reached.
8/20 N2: When the Tigers play the Astros, shouldn’t Justin Verlander at least be flown in? Or a JV bobblehead doll given away? Particularly when the pitching duel is the caliber of Hunter Brown vs. Tarik Skubal.
8/20 N3: Baseball Reference is not updating for yesterday’s games yet, but among batting average qualifiers, I believe only Bryce Harper (28.6%) has had a higher percentage of his hits this year go for doubles than Agustin Ramirez (28.1%). They are batting average qualifiers, but only on pace for mid-500s in PA, partially explaining why neither is in MLB’s top 15 for doubles proper. They also don’t have great batting averages, which is what governs the denominator in this statistic: Harper is hitting .263, Ramirez .238. One of my suggestions is that these kinds of doubles rates are somewhat unusual with these kinds of mediocre batting averages.
Back to NL Rookie of the Year and WAR, picking up from the note on Cade Horton, it will be interesting to see if Ramirez gets a mention with his strong offensive catcher production offset in War’s rendering by his bad defense. WAR-wise among rookies, you forget he even exists, with fWAR having him at 0.2, and bWAR at 0.1. Obviously, his value on the market, while it might not be immense, would be considerably greater than that. He gives you something to work with. He’d make it tougher on Rookie of the Year voters if his OBP was over .300, though, instead of the .289 it is.
He’s not a strikeout-prone guy, despite his power, so that’s another thing he has in his corner. A BAbip of just .261 this year (another reason I think his market value exceeds his WAR).
8/20 N4: ESPN box score has this first-pitch strike rate of Cristopher Sanchez perfect yesterday, but I guess it was really 26 for 27. I don’t see how there could be a discrepancy, particularly in such a high-profile case. I love it even more since Sanchez faced 27 batters, suggesting the idea of a perfect game.
Like Logan Gilbert in his last start and one or two others that we’ve seen lately, the first pitch tally (26 or 27 of 27) was one thing, the overall strike count (63 of 96 pitches and quite average) another. He did walk a couple of batters, so it can’t be said that the later pitches didn’t matter, although one would certainly take his 12 strikeouts and 2 walks.
8/20 N5: It’s interesting what a difference staying in the lineup (or I guess, strictly, plate appearances) has on “Times on Base.” As the only other batting average qualifier besides Aaron Judge with an OBP over .400, Will Smith, has plate appearances more than 100 behind Judge, and Judge’s OBP is .447, you’d think Judge would have to be far in front in “Times on Base.” In fact, Ohtani, with a .392 OBP, has been on base 222 times, almost equal to Judge 226 times. The other players who have currently been on 200+ times, in descending order of TOB are Guerrero Jr., Devers, Perdomo, Schwarber, Soto, Olson, and Tatis.
8/20 N6: If Yelich has had a resurgence, his old partner-in-crime Stanton (.306/.386/.619) has had a rebirth. A .300 average for Giancarlo seems as unlikely as 22 steals for Josh Naylor (speaking of guys who invoke the birthing theme).
I mean, .300 for Stanton at age 35 — could a Gold Glove be next? In Trump’s America, with the integrity or lack thereof in high places, you never know. (Yes, I am having some fun; I know Giancarlo has only 147 at-bats this year, although I guess the .288, .273, and .266 averages he’s posted for the Yankees make for a more interesting argument that this average is not crazy).
8/20 N7: One thing I don’t understand — why the term “sacrifice hits” for this category, when by definition they need to be bunts? Was it not always this way? The name seems to suggest that one could get a SH by just hitting the ball to the right side with a man on 2nd or something. Could you get a SH if the official scorer determined that you shortened your swing enough that you weren’t trying to get a hit? What is the technical definition of a bunt? Can you have bad enough form with your bunt it’s really a swing, or vice versa?
8/20 N8: With 7 earned runs allowed in 3 innings against the Dodgers Tuesday, Austin Gomber joined the 7.00+ E.R.A. club. With his 57.2 innings, now only Senzatela has pitched more innings with a 7.00+ E.R.A. Gomber, who led the NL in home runs allowed last year with 30 in 165 innings, continues to give up the gopher balls — now 2.50 per 9 this year.
8/20 N9: The Jung Hoo Lee home run streak (or homer-less streak, I suppose) is over. Homer-less games are rather the default, but when they happen day after day, they can take on the unlikely character of a streak.
8/21 N1: I don’t think I really cared as much as I gave off, but I mentioned that Nick Kurtz had a chance to get 502 plate appearances, and then an official .600+ slugging percentage as a rookie. Well, on Wednesday, he made the rare foray into the leadoff spot, which if it becomes a regular role, will certainly help that cause. Slugging .642 to Judge’s .684, he is absolutely the only player who could wrest the AL slugging average title from Judge. It never occurred to me that the batting title is also in play for him, I think because I am reflexively not thinking of him as an average hitter, but his .313 would now also rate 2nd to Judge’s .330, since Jonathan Aranda (.316) is well short of 502 PA and perhaps done for the year.
My visual as opposed to statistical knowledge of Kurtz is limited to nightly highlights, but those hammer chop, opposite-field home runs to left are striking. According to Baseball Reference, 26% of Kurtz’s hits have been to left, compared to 14% opposite-field hits for an average left-handed hitter. Opposite field home runs to left by left-handed hitters are rare, just a 6% occurrence, but Kurtz’s left field home run rate of 36% is even greater than his overall hit rate to left.
I mention all of this because, while I’m not sure there’s merit to it, many think of batting average hitters as hitters who can go to the opposite field. Obviously, Kurtz’s 29% strikeout rate gives him less margin for error than some, however, in the batting average department.
Kurtz’s deficit to Judge in slugging average of 42 points (6.1%) would really seem to be comparable to his deficit in batting average of 17 points (5.2%). Don’t be fooled by the difference in scale, and think that he’s in the hunt in BA, but not in SA. Certainly, I wouldn’t put good odds on his winning either title, though, even if he gets to 502 plate appearances.
As far as how he is positioned with regard to plate appearances, as I said, this leadoff development counts as a good sign. And when I checked in about a month ago, I said Kurtz needed 4.16 PA-per-game to make it to 502. Well, that’s down to 4.12 PA-per-game, so he’s making up ground. Using 127 games to project plate appearances, 38 players have had about 4.12 PA per team game played, including Brent Rooker, who has 4.36 PA/team game played, and the 3rd most PA in MLB.
8/21 N2: The Rockies are not going to lose 121 games and tie the White Sox. They would need to lose 31 of their last 35 to do that. Not that long ago, it was taken for granted that they would beat the White Sox, and some seemed to think they would do it with games to spare. The 28-41 record they have since June 1…I’m not going to say it seems respectable, but it seems less than embarrassing. However, this is still the first month their winning percentage has bettered a 100-loss pace.
I don’t think the recent R/RA totals for the team are quite as mainstream as their record has been.
8/22 N1: Kyle Tucker’s .443 SLG is his lowest since he batted 72 times in 2018, his debut season. If we take his next worst SLG since 2018, .478, and apply it to Tucker’s current 449 at-bats, that would give him 215 total bases, 16 (or 4 more home runs) more than he currently has. There’s a real drop-off here. His career SLG is .504.
Perhaps some grace should be extended because Wrigley is such a hard place to hit. Tucker’s numbers reflect that; his SLG at home is just .402 this year.
If he doesn’t have a big September and/or postseason, his contract will probably suffer a bit from what he would have gotten had the year ended seven or eight weeks ago (Tucker was slugging .537 through June 30 but is slugging .228 since), but I still expect him to do extremely well, even by the standards of baseball players.
Baseball Reference is still frequently more than 12 hours late in updating its seasons statistics, and consequenty I had to do the update myself to provide the precise numbers for Tucker. As part of that effort, I learned that his 0 for 4 yesterday actually dropped his career slugging average from .505 (.5050) to .504 (.5043). Interesting to note how sensitive even a career number for slugging average can be, how small the sample really is for them, what small differences three digits reflect. But there is also the discrepancy with Tucker of a player who debuted in 2018 but doesn’t actually have the experience that that suggests.
His history is 72 plate appearances at age 21 and then 72 again at age 22. He was a regular the next year, starting 56 of the Astros’ 60 games, but that was 2020, when the season was short. Last year he missed a good three months with a shin injury. So his true service time, despite his 2018 debut, is just 754 games, or 4.7 162-game seasons. And that also explains how his career slugging average can fall 0.7 points with a simple oh-fer.
8/22 N2: I shouldn’t expect you to share my points of ignorance, but both Trevor Story’s 2025 average (.259) and career average (.264) pleasantly surprise me, maybe because he strikes out a lot. What appears a big decrease in power this year compared to his heyday of course plummets when we look at just Story’s road Rockies’ statistics: Story had Isolated Power of .300 at home with the Rockies, .201 on the road. This year, Story’s ISO is .164. His Rockies’ road batting average was just .241, so he’s bettering that. One area where Story is off this year is in his walk rate. Until he drew 2 walks on Thursday amidst the Red Sox total of 9 against the Yankees, he bore the unfortunate distinction of more than 20 plate appearances per walk. It’s the worst walk rate he’s ever had, including counting partial seasons. His career walk rate is 8.0%. Story has only had one other multiple-walk game on the season, which came 13 days ago, when Nick Pivetta and Sean Reynolds failed to come into him.
8/22 N3: Something I have a tough time accepting emotionally is that a player can be a below-average hitter even if he finishes the year with 20, 25 home runs. When I was growing up, in the ‘80s and early ‘90s, those guys basically had it made, had some star bona fides, because home runs were less common. But now, a Willy Adames, on pace for 24 home runs but hitting .221 with a .697 OPS, is not having a good year.
I thought of this rule, this simplification to help us distinguish between players having good and bad years at the bat. It is that if you’ve played every day, if your on-base percentage is under .300, unless you have 30+ home runs, you cannot be said to be having a good year. I was inspired in this partly by Pete Crow-Armstrong, who has that .297 OBP, but a .500+ SA, too, since he’s on pace to hit 34 home runs, and who might win the NL MVP.
I’m not super serious in proposing this. I’m brainstrorming, more than anything else. Some proof, I guess, would come if players with less than a .300 OBP and fewer than 30 home runs seem to have had bad years, and players with less than a .300 OBP and more than 30 home runs seem to have had good years. Of course, their ultimate value depends on just how much under .300 that OBP is. But I’ll show you how this played out.
If your home runs are under 24 right now, you’re generally on pace to finish with less than 30. Among current batting-average qualifiers with fewer than 24 home runs and an OBP under .300, only four players have an OPS+ of 100 or greater, and those OPSes top out at 108.
Teoscar Hernandez (108 OPS+, 21 HR)
Lenyn Sosa (105 OPS+, 17 HR)
Salvador Perez (103 OPS+, 22 HR)
Dansby Swanson (102 OPS+, 18 HR)
Perhaps trumping my hypotheses in its value, it turns out there are only 3 batting-average qualifiers who have 24+ HR and an OBP under .300. Getting the particulars out of the way, in addition to PCA, who has a 131 OPS+, there is Junior Caminero (122 OPS+, 35 HR) and Jo Adell (113 OPS+, 28 HR).
These are quite good OPSes, and better than anyone who has an OBP under .300, less than 24 home runs, and also qualifies for the batting title.
Returning to what I think is even more interesting, 27 players qualifiy for the batting title, have 24+ home runs, and have an OBP over .300. So 90% of the guys on pace for 30 home runs have an OBP over .300.
8/22 N4: Every Oriole in Thursday’s lineup getting a hit against the Astros, but none getting more than one, and they score just 2 runs while losing the game.
8/22 N5: The Cardinals’ starting pitching seems to get worse by the day, and I generated a stat a few days ago that they’d score the fewest runs in baseball since the All-Star break. Yet, somehow, not only are they threatening .500, but they’ve only been outscored by 23 runs on the year.
That “somehow” almost always means the bullpen, and it has been good for the Cardinals, particularly since the All-Star break. Their 3.59 bullpen E.R.A. sits 5th in MLB and their 2.97 since the break is 3rd, only bettered by the Padres (1.99) and Brewers (2.94). It’s an open question, like it is with the Cardinals, whether they’re really this good, since their ks-per-inning are 21st best overall.
Cardinals’ starters have a 4.71 E.R.A., 26th best. A real split here between their strikeout rate, which is second worst in baseball, and their walk rate, which is second best.
Not surprisingly given their play of late, the Astros bullpen has collapsed since the All-Star break, pitching to a 4.96 E.R.A., after having had baseball’s 3rd-best E.R.A. pre-break. With a 1.58 E.R.A. on the season, however, Bryan Abreu is still going strong.
8/23 N1: Not only did the Red Sox win their battle against the Yankees Friday and thus leapfrog them in the wild card standings, but their starter Brayan Bello had a E.R.A. edge on Max Fried both coming into and leaving the game, making me wonder when that happened. It was the work of a good number of starts for those lines to cross, surely, and was the product of movement in opposite directions.
Although Bello does for the most part keep the ball in the park, as a good sinkerballer should, FIP isn’t buying his 3.07 E.R.A. because of his 2.22 SO/BB ratio. Of the 17 pitchers in MLB with a better E.R.A., Freddy Peralta and Robbie Ray are the only pitchers who have k/BB ratios under 3.00. You have to go down to the #25 E.R.A. guy, Michael Wacha, to find the first pitcher with a worse k/IP ratio than Bello’s 6.8 k/9.
8/23 N2: Casey Mize follows his season-best 10 strikeouts on 8/16 with 0 yesterday versus the Royals, but does better from a runs standpoint than he did in his previous, giving up 3 in 5.2 innings yesterday versus the 4 he gave up in 6.1 on 8/16. This would make more sense if Mize hadn’t also given up twice as many baserunners (10) yesterday as on 8/16, and if home runs had been an issue for him on 8/16, which they weren’t.
Mize had another game against the Royals, April 19, when he only struck out 3 in 7 innings, albeit only giving up 1 run. He has 96 strikeouts in 101.1 innings when he’s not facing the Royals. Next to the Blue Jays, the Royals have the second fewest hitter strikeouts in baseball, which is where they finished last year in strikeouts as well.
There have been 148 individual double-digit strikeout performances this year, but the only one coming against the Royals was when Louis Ortiz (with his stains) struck out 10 against them on April 12. However, the Royals are not best here, as the Mets, Cardinals, and Rays haven’t been victim to any 10-strikeout games.
The Rays case is certainly strange, as they have struck out 1106 times compared to the MLB average of 1063. That a pitcher has compiled exactly 9 strikeouts against them 10 times suggests their record in this narrow dimension is a fluke.
The Angels and Rockies (1st and 2nd overall in strikeouts) lead the pack in number of 10-strikeout games against, with 13.
Because they are individual 10-strikeout performances we are tracking, and endurance of pitcher also factors in, this isn’t just about strikeouts, but also about a team’s ability to drive up pitch count and chase pitchers, which you usually do by hitting them well. The Royals, being bad offensively and not selective at the plate (2nd fewest walks drawn; 6th fewest Pit/PA) often have to cope with more starter innings, presumably.
8/23 N3: Shane Bieber just 9 of 21 first-pitch strikes in his stellar comeback, which included 9 strikeouts and no walks, making me think of Brandon Woodruff.
8/23 N4: Is there a bit of a comp this year between Mark Vientos (.232/.279/.382, 340 PA) and Royce Lewis (.233/.293/.378, 273 PA)? Both are also third basemen, six months apart in age, and both far off previous performance. Lewis doesn’t have the defensive issue Vientos has (-11 DRS) and also has just a 16.1% k rate, at the 80th percentile.
8/23 N5: I said a couple of weeks ago that I wanted a fun, anonymous NL batting champion, or one like Elly De La Cruz, whom you wouldn’t think of as batting champion. Sal Frelick, now 4 points back, would fit the bill.
Frelick has speed and sacrifices power for contact, so while anonymous, he does make a certain amount of sense, really, And in his last year before his rookie year, 2022, he hit .331 in 557 plate appearances. Only Will Brennan and Darius Hill (a longtime Cub farmhand still yet to get the call) had more minor league hits that year.
8/23 N6: At the beginning of the year, I certainly didn’t think Geraldo Perdomo’s higher BB than SO count was real, not with the 0.62-1 career mark he entered 2025 with. But he’s now at 80/60, and has a .484 OBP this month in 93 plate appearances. He won’t be 26 until after the season.
8/23 N7: Miguel Andujar has had at least 2 total bases in 7 of his last 8 games. So that we can put that into context, if a player bats 600 times in 162 games with a league average .404 slugging average, he has 1.50 total bases per game. However, that likely gives an inflated idea of the chances of having 2 total bases in a game, as, among players with at least 2 at-bats in a game this year, they have had 0 or 1 total bases 64% of the time.
The all-time record for the most consecutive games with at least 2 total bases is 19, by Harry Heilmann, who did it from 9/5/28 to the end of that season, 9/30/28. Heilmann is not necessarily an unlikely player to have that record (although he only cleared 350 total bases once), but it is unlikely that he set it in 1928, because it was his 14th year, and the worst OPS+ (132) he had in any season since 1920. During the streak, he hit .526 with a .842 slugging average and struck out just once, against the Yankees’ Rosy Ryan, a one-time E.R.A. champ for the Giants. However, the Tigers won the game, the penultimate one of the season, 19-10.
The longest 2 TB+ streaks by decade (I excluded streaks which spanned two years).
1900s: George Stone, 13, 7/24/05 - 8/11/05.
1910s: Joe Jackson, 13, 7/27/11 - 8/12/11.
1920s: (Heilmann)
1930s: 16 (4 tied): Kiki Cuyler, 1930; Hal Trosky, 1934; Bob Johnson, 1936; Hank Greenberg, 1937.
1940s: Sam Chapman, 14, 5/16/41 - 5/29/41.
1950s: Monte Irvin, 12, 7/5/53 - 7/19/53.
1960s: Minnie Minoso, 13, 6/17/61 - 6/28/61; Orlando Cepeda, 13, 9/7/63 - 9/21/63.
1970s: Reggie Smith, 14, 8/10/70 - 8/23/70; Jack Clark, 14, 5/11/78 - 5/26/78.
1980s: Damaso Garcia, 14, 4/15/84 - 5/1/84.
1990s: 12 (3 tied): Juan Gonzalez, 1996; Nomar Garciaparra, 1997; Larry Walker, 1999.
2000s: Chipper Jones, 17, 6/26/06 - 7/19/06.
2010s: Christian Yelich, 15, 7/14/18 - 7/31/18.
2020s: Anthony Rendon, 11, 8/10/20 - 8/21/20; Jake Cronenworth, 11, 7/28/23 - 8/8/23.
Believe it or not, Rendon’s streak came with the Angels, in his first season with them. He hit .524 with 5 home runs. He had a .915 OPS that year in 52 games, although the Angels were highly disappointing and didn’t make the playoffs. It wasn’t until the next year that Rendon lost it, never to better .240 in batting average again.
8/23 N8: In the spirit of trivial but perhaps fun, I gave you before the percentage of 2 AB+, < 2 TB games before, and from flipping that, we know the pct of 2+ TB games is 35.6%, using that 2 AB definition of a game.
Breaking that down by 2025 team, and ranking, here are the top 5 and bottom 5.
(1) Red Sox 39.4%
(2) Blue Jays 39.2%
(3) Yankees 38.8%
(4) Diamondbacks 38.6%
(5) Dodgers 37.7%
(30) Guardians 31.5%
(29) Pirates 31.8%
(28) Ranges 32.1%
(27) Giants 32.6%
(26) White Sox 33.0%
The method obviously does work to generally identify offensive performance, and the correlation between this and team runs per game is .82, with an appearance that some of the errors do trace back to teams that walk infrequently (and have more shot at total bases) being overrated, and those that walk frequently underrated.
I still doubt this works as well as even slugging percentage, but I don’t know. Clearly, we’re not giving extra credit if a player has more than 2 total bases, which can’t be a good thing, but maybe there’s something to be said for looking at broad-based contribution, and downplaying a Jose Ramirez, to the extent he “carries” the Guardians.
It would be interesting to break down what has supported those OBPs (to what extent have walks, to what extent has batting average?), in a hope to understand the correlation that seems to be there between OBP and home runs.
I had never thought before that OPS might, to an extent, be redundant. Or maybe I have — I keep returning to the point about how batting average is contained in both OBP and SA. And that is, no doubt, a source of redundancy.
Great stuff David. On our podcast this week we discussed batting average and it's inclusion in slugging average. My son came up with the term 'sluggage' for slugging average!
Ed Halicki!!! Haven't thought of him in decades. Great stuff all around.