Quantity over Quality, Part One
Honoring 2023 MLB pitchers for their hard work and mediocre results.
We are in a trade lull until May, so please enjoy some non-trade related coverage. Essentially all research for this post was done using Stathead. All images created by Microsoft Copilot Designer.
One of the magical parts about baseball is that there’s not really a clock; the game continues until the necessary outs have been recorded. While the pitch clock has imposed a recent constraint onto pitchers, they still possess remarkable agency to determine the composition and pace of their workday as long as they can get their outs. If you get groundouts on the first pitch of three at-bats, you can go back to the dugout and hang out for a bit. If you want to defeat batters with strikeouts after long battles and then strut around the mound, that’s cool too. But the flip side is that if you’re having a rough day at the office, it’s up to you (or a merciful manager) to put an end to the rough day. Until you get your outs or decisively fail to do so, you’re still standing on an island and forced to pitch to batters.
In today’s game of baseball, letting your pitchers die on the mound is seen as distasteful. As a result, managers will typically pull guys before they’ve had the chance to accumulate an outrageous number of pitches. Exceptions are really only made when something great is going on – the two highest pitch counts of 2023 came when Alex Cobb threw 131 pitches in pursuit of a no-hitter (broken up in the 9th inning) and Michael Lorenzen threw 124 pitches in pursuit of a no-hitter (successfully). But these really have become exceptional occurrences, with only 40 pitcher outings in 2023 exceeding 110 pitches.
Given the correlation between exceptional pitch counts and good pitching performances, it’s not surprising that 80% of those 40 outings have resulted in the pitcher recording a “quality start.” The “quality start” is a mediocre stat coined by Philadelphia Inquirer sportswriter John Lowe in 1985 and does not impose a particularly high bar, requiring only that a pitcher complete 6 (or more) innings while allowing 3 (or fewer) earned runs. It’s actually more surprising that 20% of these 40 outings did not result in the pitcher recording a quality start.
Let’s see what happened in each of these eight 110+ pitch performances from 2023 that failed to meet a standard of quality. Four are discussed here and four will be discussed in Part Two.
Hunter Greene facing the Oakland Athletics on April 29, 2023:
The Reds had just kicked off a California road trip, playing their second game of a three-game weekend set in Oakland before heading down to San Diego for a series. 7,052 people showed up to watch the matchup between the young fireballer Greene and the A’s Kyle Muller. Greene was the 2nd overall pick in the 2017 MLB Draft and has a consistent scouting profile with clear strengths (throwing the ball hard) and weaknesses (throwing the ball accurately). The A’s would offer a good early season litmus test for Greene, who could focus on executing pitches against a weaker lineup.
Greene started with a crisp 1-2-3 first inning that featured two swinging strikeouts on just 12 pitches. The 2nd inning started with a throwing error, another swinging strikeout, a double, and then another swinging strikeout to bring the total to four. Sending Jace Peterson back to the dugout required eight pitches and brought Greene to 32 pitches through 1.2 innings. It took 13 more pitches for Greene to get the final out, which didn’t happen until Aledmys and Jordan Diaz had each singled in an unearned run. But the final out was another swinging strikeout, giving Greene five swinging strikeouts on 45 pitches in two innings. The Reds were losing, but it wasn’t exactly Greene’s fault.
By contrast, the third inning didn’t actually affect the Reds but was entirely Greene’s fault. He started things off with his sixth swinging strikeout (of seven total outs recorded), then walked Brent Rooker on eight pitches. Another swinging strikeout of Carlos Perez was punctuated by a wild pitch, then followed by a four-pitch walk of Conner Capel. Greene, perhaps noticing the rising pitch count, opted for efficiency on the next batter — he plunked Ramon Laureano after starting the at-bat with two balls, getting to the same outcome on three pitches instead of the four required from a four-pitch walk. With the bases loaded, it took Greene six pitches to get Jace Peterson to fly out and end the threat. Greene had gotten 9 outs, 7 of which were swinging strikeouts. He had not allowed any earned runs. He had thrown 79 pitches.
The next two innings brought more of the same, though slightly less of it at one time. Greene got three more strikeouts in the 4th (one of which was his first called strike three of the game) while also allowing two singles to close the inning at 10 strikeouts and 98 pitches. When he didn’t record any more strikeouts across a 14-pitch 5th inning, letting a young pitcher run up numbers seemed less fun, and Greene was replaced for the next inning after throwing 112 pitches. With only 5 innings, Greene was not eligible for a quality start, but with the Reds trailing 2-1 at the time of his departure, he was eligible and in line for the loss. Fortunately for him, the Reds scored two in the top of the 9th to give somebody named Casey Legumina the only win of his MLB career thus far.
FINAL LINE: 5.0 IP, 5 hits, 2 runs (0 earned), 3 walks, 10 strikeouts. 112 pitches, 68 strikes. No decision.
JP Sears facing the Pittsburgh Pirates on June 5, 2023:
The A’s were on the road this time. For the first time in his young career, JP Sears was a consistent member of an MLB rotation. His statistics across 2023 were pretty mediocre, but on a horrible A’s team, mediocre could be relatively impressive; Sears’ 2.6 rWAR for the 2023 season was tied with Zack Gelof (who only played 69 games) for the highest total on the team.
Sears got things started on a predictable note by walking Andrew McCutchen on six pitches, which would be followed by walking Connor Joe on five pitches later that inning. Sears didn’t let either of these runners score, but had to battle to secure a 7-pitch groundout from Bryan Reynolds and a 9-pitch lineout from Carlos Santana. Sears threw 30 pitches in the first inning while keeping a no-hit bid alive. The second inning was remarkably similar, though slightly worse — Sears walked two batters on seven and six pitches, then took 18 pitches to end three at-bats with outs. Sears was through two innings and had thrown 61 pitches — if he completed his ongoing no-hitter at this pace, it would take more than 270 pitches.
Perhaps realizing that he was a mere 21 outs away from making history, Sears worked economically in a 10-pitch third inning that featured two strikeouts. He had another 1-2-3 inning in the fourth, but required 17 pitches to get there. 90 pitches through four innings is an improvement on the pace Sears set through two innings, but that’s still a 200+ pitch pace to keep the no-hitter. In the 5th inning, Sears mooted this issue by allowing Mark Mathias to single on the first pitch he threw. With the no-hit bid gone, Sears went back to longform and took his time with a 7-pitch strikeout of Austin Hedges, a 6-pitch walk of Andrew McCutchen, and a 5-pitch strikeout of Bryan Reynolds, bringing Sears to 107 pitches on the day through 4.2 shutout innings. He would throw five more pitches to Connor Joe, the fifth of which was hit for an RBI double that ended his day with just two hits surrendered.
Sears left with a 3-1 lead, but had failed to complete five innings as the starting pitcher, so could not qualify for the win. The A’s bullpen mooted this issue by comprehensively blowing the game, walking an equivalent number of batters to Sears (5) while throwing fewer collective pitches (80). Every reliever was charged with an earned run except for Shintaro Fujinami, who was credited with the blown save as the A’s lost 5-4.
FINAL LINE: 4.2 IP, 2 hits, 1 run (1 earned), 5 walks, 6 strikeouts. 112 pitches, 67 strikes. No decision.
Griffin Canning facing the Arizona Diamondbacks on June 30, 2023:
The Angels were in one of those particularly brutal stretches of summer baseball where even watching starts to feel like a job. The team had a day off on Thursday, June 22, when they flew to Colorado for a quick three-game road trip. They had played every day since then (flying home after Sunday’s game) and weren’t set for another day off until Thursday, July 6, making this the 8th of 13 consecutive gamedays. Making matters worse, the Angels got shellacked in the two games leading up to this start. On June 28, Jaime Barria got chased from the game after 3 innings where he allowed seven runs, foisting a 112-pitch assignment onto the Angels bullpen after throwing just 59 of his own. On June 29, Patrick Sandoval also allowed seven runs in 3 innings, but workload constraints were already changing the team’s working conditions – while Barria had been pulled at that point, Sandoval was left in for the fourth and fifth (good call; he got five strikeouts across those two perfect innings). Even with Sandoval’s greater contribution, the bullpen was still asked to throw 73 pitches that day.
The Angels were 44-40 and in a stretch of games that would be critical for the rest of their season — they needed some solid innings from Griffin Canning on June 30. Things started off perfectly, as Geraldo Perdomo grounded out on the first pitch of the game. Canning’s pace slowed dramatically thereafter, as it took seven pitches to get Ketel Marte to fly out. It took 20 more pitches to get the third out, during which time one walk was issued and two base hits were allowed, putting the Angels down 1-0 to start the game. Not the cleanest inning, but with just 28 pitches, things could be worse.
For an example of how things could be worse, let’s look at Griffin Canning’s second inning. Things started off strong once more, as the first two outs were recorded on six total pitches. The next three batters all walked on a cumulative 16 pitches, then a six-pitch battle with Lourdes Gurriel Jr. ended with a grand slam. A quick three-pitch strikeout ended the inning from there, with Canning sitting at 59 pitches, 4 walks and 5 earned runs through two innings. It requires consistent effectiveness to maintain a pitching performance worthy of being called a “quality start.” A 22-pitch jaunt through four batters, all of which scored, was sufficient to ruin any shot Canning had at making June 30 a good day.
But the Angels weren’t looking for a “good day” from Griffin Canning, they were looking for sufficient length to save their beleaguered bullpen. Canning came back out for the third inning and struck out the side on 14 pitches. He came out for the fourth and retired the side on 12 pitches, then did the same for the fifth. Suddenly, a blowup start looked sort of reasonable; Canning was at 97 pitches through five innings, with three hits and four walks against six strikeouts. When he came back out for the sixth inning and struck out the side on 15 pitches, he boosted the total to 9 strikeouts, ending up with what looks like a solid day’s work if you didn’t watch the second inning. Canning left nine more outs for the bullpen, which they got through on 50 pitches.
Canning did the best he could, but it didn’t end up being sufficient to save the Angels, who lost 7 of their next 8 games to freefall out of playoff position. In the games following Canning’s start, the Angels bullpen threw 92 pitches, 52 pitches (in a win), and 94 pitches. They snapped their losing skid with a 13-12 victory over the Astros that required 77 more pitches from their bullpen.
FINAL LINE: 6.0 IP, 3 hits, 5 runs (5 earned), 4 walks, 9 strikeouts. 112 pitches, 72 strikes. Loss.
Brandon Bielak facing the Red Sox on August 24, 2023:
On the morning of August 24, the Astros tweeted that Brandon Bielak would be making the trip back up US-90 from AAA Sugar Land to join their active roster. Bielak had been a pretty effective member of Houston’s rotation through thirteen starts in the first half of the 2023 season, but lost his spot when Justin Verlander was reacquired at the trade deadline. Bielak went to Sugar Land and continued to work out of the rotation for the Space Cowboys in August.
Continuing an emerging trend from our sample, the Astros were in a brutal stretch of consecutive games. They had Thursday, August 17th off and would get their next break on Thursday, August 31st, making this the midway point in a two-week gauntlet. They had lost the night before after Jose Urquidy required 100 pitches to get through 4.2 innings, with five relievers coming in for support and each throwing a double-digit number of pitches. This afternoon’s game would have to go differently.
Brandon Bielak would end up missing out on a quality start for a couple of reasons, but the biggest dealbreaker was that he did not start this game. The starter was J.P. France, who had joined the rotation contemporaneously with Bielak and kept a spot even after the trade deadline. France featured a sub-3 ERA that peripheral numbers and Statcast data suggested was bound to get worse. France and Bielak have comparable career trajectories; both were drafted by the Astros in middle draft rounds (14th round of 2018 and 11th round of 2017, respectively) and both were fringe members of the Astros rotation in 2023 while in their late 20s. Bielak had made it to MLB first, debuting in 2020, but France seemed to be winning any competition between them on the morning of August 24.
By the afternoon of August 24, that was less clear. France started the game by allowing a lead-off home run and never really settled down. After two innings, he had thrown 55 pitches and already allowed 4 runs on 6 hits. The third inning was even worse, as France was only able to get one out while allowing two more runs to score and leaving the bases loaded after 81 pitches (or 2.1 innings) of work. Into the breach stepped Brandon Bielak, the Space Cowboy in shining armor who rode in from Sugar Land to reinforce Houston’s pitching.
Recognizing that victory was unlikely to be snatched from the jaws of this 7-0 game, Bielak smartly kicked things off with a hit by pitch, walk, and single that charged three more earned runs to J.P. France. France’s season ERA jumped from 2.75 to 3.51 on the weakness of this start and the difference between France and Bielak’s ERAs shifted from 0.99 pregame to 0.32 postgame. Bielak was not able to turn on the “pitch good” switch in time to prevent a run of his own from scoring, but got Luis Urias to ground out with the bases loaded to end the top of the 3rd down 11-0. Bielak threw 22 pitches to get those two outs.
At this point, the math becomes brutal in its simplicity. Your team is not going to win this game, but still needs to get eighteen more outs before everyone is allowed to go home. Brandon Bielak commuted in from the suburbs just to eat a heaping helping of innings and save the strain on the relievers who you actually want in the MLB bullpen. The correct answer, for the team, is to wish him luck and keep him on the mound for as long as he remains upright.
Bielak pitched a clean 13-pitch fourth inning and a generally clean 24-pitch fifth inning (allowed one double) to bring him to 59 pitches on the day. Bielak dealt with a bit more traffic in the sixth inning, but still managed to get through it on 16 pitches. He faced the minimum three batters in the seventh inning, but those batters saw 21 pitches (with a 10-pitch walk from Rob Refsnyder erased after Masataka Yoshida grounded into a double play on the sixth pitch he saw). Bielak had thrown 96 pitches out of the bullpen and given the Astros 4.2 innings, stemming the bleeding and keeping the game at 11-1. Surely, he had done enough to end his day and feel pride in a job well done.
Probably true, but the Astros still needed to get six outs. So Bielak marched out for the 8th inning and gave up a double on his 101st pitch, followed by an RBI single on his 106th pitch. A fortuitous double play on his 109th pitch left the Astros just four outs away from freedom, but Bielak was finally relieved after giving up a single on his 112th pitch. Rafael Montero took his place on the mound and promptly gave up two singles, putting one more earned run on Bielak’s ledger before he got a strikeout to end the inning. The Astros trailed 13-1 entering the ninth and still needed three more outs before they could stop suffering. They turned things over to Martin Maldonado, a poor-hitting catcher who helped contextualize just how impressive Bielak’s performance was. Maldonado needed thirty pitches to get three outs, during which time he allowed five hits, a walk, and hit a batter as the Red Sox plated four additional runs. As it turns out, getting outs in an MLB game is really hard.
FINAL LINE: 5.1 IP, 7 hits, 3 runs (3 earned), 3 walks, 3 strikeouts. 112 pitches, 67 strikes. No decision.
Brandon Bielak was optioned the next day after the outing that manager Dusty Baker described as “season-saving.” He didn’t pitch for the Astros again that season, but has spent 2024 with the MLB team as a full-time member of their relief corps.
Meanwhile, the Red Sox were so inspired by Bielak’s performance that they thought they’d try an iteration of their own as they fought through a stretch of 25 games in 26 days. Four days later, the same two teams were playing, this time in Boston instead of Houston. Chris Sale threw 92 pitches in 4.2 innings of work and the Red Sox brought Kyle Barraclough into a 3-2 game to relieve him. Like Bielak, Barraclough had been called up from the minors just before the game with hope that he could eat a couple of innings today. Things started well, as he got a 6-pitch groundout and the Red Sox plated two in the bottom of the fifth to take a 4-3 lead and put him in line for the win. Barraclough proceeded to have a catastrophic sixth inning, throwing 36 pitches but, more impactfully, allowing six runs to score and making it a 9-4 ballgame.
Barraclough clearly didn’t have it that day and, at 42 pitches, had already thrown more pitches than in any outing of his career except one (a 46-pitch appearance from two years prior). But the Red Sox decided to rub Barraclough’s face in the losing ballgame that he had created, sending him back out for the seventh. Two more runs scored and Barraclough threw 25 more pitches, bringing him to 67. At this point, the game actually was pretty hopeless, so why not send him out for the eighth too? Barraclough had either settled down or transcended mortality, but either way it was more efficient by now, getting three outs while also waving in two more runs on just 17 pitches. Naturally, as he entered the 9th inning having thrown 38 more pitches than in any previous game of his career, he was finally good, allowing one single and securing three outs on just 10 pitches to end his day at 94. Of the 31 batters that Barraclough faced, 11 got a hit, five drew a walk, and three were hit by pitches. He allowed 10 earned runs in the appearance after allowing just 111 in his career. He got the loss.
Kyle Barraclough had only exceeded 30 pitches in an appearance on 12 occasions in his 290 career games entering this one. He had only exceeded 40 pitches once. After throwing 94 pitches for the Red Sox, he was optioned back to the minor leagues and eventually released. This is still his most recent MLB appearance.
Stay tuned for Part II, featuring even higher pitch counts.