When ESPN NBA insider Ramona Shelburne was a senior at Stanford in 2001, she wrote a running diary for gostanford.com about being on the softball team. In her dispatch about Opening Day, she described her reaction in the outfield when she watched Stanford’s pitcher fire a strike for the first pitch of the season: “It’s going to be a good year.” As Shelburne explained, “Softball and baseball players are notoriously superstitious, and getting the first pitch of the season over for a strike is like a good omen, a great way to set the tone for the year.” That year, Stanford finished 54-16-1 and, for the first time, went to the Women’s College World Series.

The Ringer’s 2020 MLB Preview Check out all of The Ringer’s MLB coverage leading up to Opening Day

The first pitch of Pirates starter Mitch Keller’s major league career was also a sign of the season to come. Keller made his big league debut last May in Cincinnati in the second game of a Memorial Day doubleheader, and the first pitch he threw to Reds leadoff batter Nick Senzel was an easy fastball for a strike. There were no ill omens in sight until Keller’s catcher, Jacob Stallings, tried to toss the ball back to the bench for the Pirates to preserve for posterity. Stallings aimed for the opening in the dugout railing, but the ball went wide and bounced off the fence, forcing the team trainer to dart out to retrieve it. “Whoops!” said Pirates play-by-play man Greg Brown, as Pirates skipper Clint Hurdle frowned in disbelief at the wayward ball.

That 10-second sequence was a perfect encapsulation of the star-crossed campaign to come: The 23-year-old Keller, who threw 48 innings over 11 starts for Pittsburgh, held up his end of the bargain, but bloopers, bleeders, and bad bounces betrayed him. Keller’s raw stuff was superb: ACES, a metric that evaluates pitchers based on pitch-level characteristics such as speed, spin, movement, and command, placed him in the 94th percentile among starters, between Mike Clevinger and Chris Sale. Defense-independent stats that separate Keller’s contributions from what happened after the ball was put in play also say his season was a success: Among the 183 starters with at least 40 innings pitched last season, only 14 had a lower park-adjusted FIP, and only 20 had a higher strikeout minus walk rate. Unfortunately for Keller, only five had a higher ERA than his 7.13. The primary reason for the giant disparity between Keller’s advanced and old-school stats seems to have been almost unbelievably bad batted-ball luck.

“I would strike out seven or eight a game, and usually when you see that you’re like, ‘Oh, must have thrown a really good game,’” Keller says. “And then you look at the scoreboard and I gave up like six hits, and like three or four runs, and it’s just like, ‘How does that happen?’ It was really tough to try and wrap your mind around it.”

There is one respect in which luck was with Keller: He picked the right time to have a historically unlucky year. In an earlier era, Keller’s ugly ERA and record (1-5) would have told the story of his season—not only to his team and its fans, but in his own mind. In this sabermetrically savvy environment, though, a suite of new-age numbers have helped preserve his reputation and soothe his psyche. Preventing runs and winning games is still the goal, but the process-oriented metrics that hold sway today permit a more accurate reading of a pitcher’s responsibility for the damage done while he was on the mound, and greater predictive power.

“To have these numbers to back me up, like the FIP and the expected batting average and all that good stuff—it’s good to know that people are taking a deeper dive on what actually happened,” Keller says. “Because if you just look at the seven ERA, that’s pretty alarming. Like, ‘What the hell’s going on?’ And I might not ever get another chance at it, just because of how bad that was. But the other numbers are kind of saving me.”

“I felt like I was having some tough breaks, but if you really look at it, yeah, I was.” —Mitch Keller, Pirates pitcher

Fans had high expectations when the Pirates promoted Keller. “He’s here now, and we need him badly,” said Pirates broadcaster Bob Walk on the day of Keller’s debut, adding, “We need someone to step in and kind of be a savior.” Keller looked like a strong savior candidate. The right-hander, whom the Pirates selected with a second-round pick in the 2014 draft, had ranked among the game’s top 30 prospects for three consecutive springs, according to both Baseball America and Baseball Prospectus, the latter of which called his fastball-curve combination “one of the best in the minors.” He’d reached Triple-A in 2018, and in seven starts for Indianapolis preceding his promotion last spring, he’d struck out 47 batters in 38 1/3 innings and recorded a 3.05 ERA—solid stats in a league where the lively ball inflated the average ERA to 4.90.

The hope that Keller could deliver the Pirates from the NL Central cellar didn’t last long after his first pitch. Pitching in front of roughly 40 friends and family, the righty got ahead of Senzel 0-2, but two close calls went Cincinnati’s way, and Senzel walked. A single and another walk loaded the bases with no outs, setting up a six-run inning in which the Reds batted around. Keller surrendered some hard-hit balls, including a José Iglesias grand slam, but a two-out infield single by opposing pitcher Sonny Gray foreshadowed his hard luck ahead.

“It’s just like, ‘How does this happen?’” Keller remembers thinking when Gray’s single extended the inning. “This is crazy.” Keller bounced back to throw three scoreless innings, allowing only one more runner to reach base, and he finished the day with seven strikeouts, but the Pirates couldn’t come back from the first-inning deficit.

Gray’s single was one of many almost-outs that played on a loop in Keller’s mind’s eye this offseason. There were other excuse-me squibs:

There were seeing-eye singles that eluded multiple infielders:

There were hitters who profited from the shift:

And there were extra-base hits that barely eluded outstretched gloves:

Every pitcher suffers from bad batted-ball luck on occasion, but Keller’s first exposure to the majors was a nightmarish mélange of black cats, leaning ladders, broken mirrors, and spilled salt. The rookie recites the unprecedented statistic that defines his small-sample career: “Guys are hitting .475 when the ball is put in play.” If you’ve ever had a hard time at work for reasons beyond your control, you have to feel for Keller; it’s tough enough to be a big leaguer without every other ball in play falling for a hit.

The table below includes the complete list of pitchers who’ve ever allowed a batting average on balls in play of .400 or higher in a season of at least 40 innings pitched. No other player has ever come close to Keller’s .475.

Highest Single-Season BABIP, 1900-2019 (Min. 40 IP) Year Pitcher Team IP BABIP Year Pitcher Team IP BABIP 2019 Mitch Keller Pirates 48.0 .475 2016 Trevor Rosenthal Cardinals 40.1 .425 2007 Shawn Camp Devil Rays 40.0 .418 2019 Corbin Burnes Brewers 49.0 .414 2013 José Mijares Giants 49.0 .410 1936 Willis Hudlin Indians 64.0 .410 1999 Roberto Ramírez Rockies 40.3 .408 1984 Mike Torrez Mets/Athletics 40.0 .407 1994 Jim Converse Mariners 48.7 .405 1913 Ralph Comstock Tigers 60.3 .403 1999 Micah Bowie Braves/Cubs 51.0 .402 2018 Juan Nicasio Mariners 42.0 .402 2013 Vance Worley Twins 48.7 .401 1971 Claude Raymond Expos 53.7 .400

The 50-point gap between Keller’s mind-boggling BABIP and that of the second-place pitcher (Trevor Rosenthal in 2016) is as wide as the gap between Rosenthal and the 100th pitcher on the list. Here’s what BABIP luck that lousy looks like in graphical form: Among the more than 9,000 blue diamonds representing pitcher seasons of at least 40 innings during the wild-card era, Keller’s red diamond has a stratosphere to itself.

In a sense, Keller’s record-breaking BABIP is a testament to his stuff and his prospect pedigree: If he were a marginal major leaguer with a fringy fastball instead of a projected top-of-the-rotation starter whose heater sat 95 and touched 98, the Pirates might have pulled the plug on his season when his ERA stood at 8.29 after nine starts. Then again, if Keller hadn’t been demoted after his debut—and again after his second big league stint, in June—his BABIP almost certainly would have sunk somewhat by the end of the year. “This year, I feel like I could just lob a ball in there and not have as high of a BABIP,” Keller says. “Just the positioning of everybody on the field is like, that shouldn’t happen. You shouldn’t have that high of a BABIP no matter what.”

“I think they wanted me to just keep going out there and trying to learn the game on my own and figure some stuff out.” —Mitch Keller

One of sabermetrics’ seminal insights is that most major league pitchers exert little control over their BABIPs, which often fluctuate wildly from one season to the next. Some pitchers can consistently induce weak contact, but few reliably deviate from the MLB average (.298 in 2019) by more than about 20 points. Granted, the Pirates’ defense didn’t do Keller any favors: Pirates pitchers allowed the highest BABIP in the National League last year, thanks to a team defense that rated 61 runs below league average, according to Sports Info Solutions’ Statcast-enhanced version of defensive runs saved. Only the Mets’ defense was worse among NL teams, and no team positioned its outfielders as poorly as the Pirates. (Maybe a four-man outfield will help.) Even on the Pirates, though, no other pitcher who threw at least 40 innings had a BABIP above .328. A pitcher’s park and defense affect his BABIP, but the bulk of the variation is attributable to luck, and Keller’s cursed season was a singular experience.

Keller isn’t claiming he bore zero responsibility for the fate that befell him. “I think I was throwing a lot of fastballs, so that might have led to a lot of the hitters knowing or sitting on my fastball and just really gearing up for it, and that might have made it easier to hit me,” he says. Keller’s four-seam fastball usage rate ranked seventh among starters with at least 40 innings pitched, and although the pitch boasted impressive speed and spin, he could have benefited from mixing in more breaking balls—either the plus curve that’s been one of his calling cards or the slider he developed last year to supplement (or supplant) a so-so changeup.

“But then again,” Keller continues, “you look at my weak contact or my exit velocity, and it’s [better than] average.” That’s true, too: The quality of contact against Keller wasn’t quite commensurate with his stuff, but it was weaker than the MLB baseline. Batters hit .348 off of Keller in 2019, but his expected batting average allowed, based on the exit speeds and launch angles of the batted balls against him, was only .265. That 83-point divide between his expected and actual batting averages allowed is the largest on record among the more than 2,000 pitchers who’ve faced at least 150 batters in one of the five seasons for which we have Statcast data.

Prior to last season, Keller wouldn’t have known about numbers like those, but his surface-level struggles spawned a sabermetric awakening. On a September trip to San Francisco, Keller saw FIP displayed on the scoreboard at Oracle Park and later looked up what it was. “I’m like, ‘Wow, I have a really good one, but how?’” he says. Like a sick person plugging symptoms into WebMD, he searched for remedies or reassurance. Researching FIP led him to xFIP and other “expected” stats, which helped him understand what was wrong—and what wasn’t. “It’s honestly huge for me just to keep my confidence up, because I didn’t even know this was a thing,” he says. “I felt like I was having some tough breaks, but if you really look at it, yeah, I was.” Keller’s agent, Matt Laird, reinforced what the stats said, telling him, “You’re going to get outs eventually. This can’t keep happening.”

That positive sabermetric reinforcement kept Keller from tinkering in a way that might have made him worse. “When you have things going wrong on the field, you’re always looking at something,” Keller says. “Like, what do I need to change, or what do I need to be better at here? And then you have my strikeouts, and everything that’s good, and it’s like, ‘That’s really good, so if we change something here, maybe those will go down or go away.’”

Sign up for the The Ringer Newsletter Email (required) By signing up, you agree to our Privacy Notice and European users agree to the data transfer policy. Subscribe

BABIP aside, the most surprising aspect of Keller’s debut season is that the Pirates weren’t plying Keller with the same statistical salves. “No one really last year said anything about it,” Keller says, adding, “I think they wanted me to just keep going out there and trying to learn the game on my own and figure some stuff out. Most of my bullpens and talks we would have last year were [about] trying to get my pitches to be a little bit better and where I was locating them. But nothing really on the analytics side of, ‘You’re kind of getting a little unlucky.’”

Or perhaps that isn’t so surprising, in light of the Pirates’ recent problems with player development. Pittsburgh was once a place where pitchers overperformed, but in recent years the team has been better known for failing to maximize the potential of pitchers who’ve excelled elsewhere, including Gerrit Cole, Charlie Morton, Tyler Glasnow, Jordan Lyles, and Shane Baz. After the 2019 season, the Pirates let go of Hurdle, pitching coach Ray Searage, and bench coach Tom Prince, among other members of the major league staff. Pirates owner Bob Nutting later dismissed team president Frank Coonelly and general manager Neal Huntington and replaced the latter with development-oriented former Red Sox GM Ben Cherington, who helped build Boston’s 2018 championship team. “We’re tired of seeing players who we’ve brought in perform at a high level somewhere else,” Nutting said, stressing the importance of “making sure that the players we have in the system continue to develop and improve at the major league level.”

After Baz was traded to the Rays, he noted that his new team had introduced him to “a whole new perspective, a new approach to pitching.” Keller is already hearing a different message from the Pirates’ new coaching staff, which welcomed manager Derek Shelton (who witnessed the Twins’ developmental modernization) and data-driven pitching coach Oscar Marin. “The meetings this year in spring training, we went over all my numbers,” Keller says. “And it was like, ‘OK, you have really good numbers. Everything’s pretty much better than average except for that ERA.’”

That doesn’t mean that Keller will be sabersplaining any future bad fortune to his teammates. Trevor Bauer may be comfortable declaring, “I’m executing pitches and getting unlucky” when his results don’t match his self-perceived performance, but among most players, it’s still taboo to make excuses, even if they’re good ones. That’s particularly true for a young player who’s trying to establish himself in the majors and justify his longtime label as the team’s top prospect. “I’m still a rookie, and it’s still tough to talk about, because I don’t want to be saying like, ‘Oh, I’m unlucky,’” Keller says. When he had his defense-independent epiphany late last year, he says, “I just kind of kept that information to myself.” Even now he’s not sure if his teammates are aware of his underlying stats from last season.

His employers appreciate his past performance, though, and so do rival talent evaluators, public prospect rankers, complex projection systems, and people preparing for their fantasy drafts. Keller remains the Pirates’ top prospect, according to both Baseball America and Baseball Prospectus, and he’s angling for a spot in the rotation to start the season. FanGraphs prospect analyst Eric Longenhagen says he heard nothing negative about Keller’s MLB performance from his sources inside the industry while working on his Pirates prospect list. “People love the stuff,” Longenhagen says.

If Keller is looking for further encouragement, he could study one of the three starters ever to finish a season with a bigger chasm between his ERA and his FIP than Keller’s 3.93 run margin last year: Roy Halladay, who posted a 10.64 ERA in 67 2/3 innings in 2000, thanks in part to a .377 BABIP. The following spring, the Jays sent Halladay back to A ball, where he overhauled his mechanics, movement, and mind-set. After returning to the majors that summer, he posted a 2.25 FIP, surpassing all other starters except Pedro Martínez and Randy Johnson.

Keller will have a hard time following in Halladay’s Hall of Fame footsteps, but he also has fewer flaws to fix than Halladay did in 2000, when the future ace walked almost as many hitters as he struck out. Keller doesn’t need a ground-up reinvention; he just needs an opportunity to keep making more starts like the season-ending outings that followed his FIPspiration, in which he struck out 14 over 10 innings and allowed only three runs (despite a sky-high BABIP).

“If I keep doing what I was doing last year … my strikeout numbers are going to keep coming, I’m going to keep getting guys out,” Keller says. “The other stuff is going to fall into place, or hopefully it will start falling my way a little bit more. Or not even my way—just the normal way that it’s supposed to.” Once the season starts, Keller can begin to bring down his BABIP. In the meantime, he says, “It’s good to know that other people are seeing the real side” of his first season. Before sabermetrics filtered down to the field, snakebit starters like Keller might have missed the real side of themselves.