The GMs: Single Season Pitcher Projections
While I had little luck finding the next Lucas Giolito, he still intrigued me. He was possibly the worst major league starter in 2018 (6.13 ERA and 1.48 WHIP in 173 IP). Last season, he remade himself by throwing harder (avg FBv from 92.4 mph to 94.3 mph), throwing more strikes (4.7 BB/9 to 2.90 BB/9), and reworking his pitch mix (dropped the sinker and curve).
The problem is that standard projection systems still incorporate the previous three or more results which hurt his projection. Our auction calculator (Steamer) ranks him as the 45th pitcher while he’s going as the 14th pitcher in the NFBC. Fantasy owners knew to reset his projection but to what? I decided to create a projection system called the GM (Giolito – Marte) based only on the previous season results. Nothing more.
The concept is simple. Take the previous season’s stats and regress to the previous season’s average rates with an aging factor. The only issue I had to deal with was setting the pitcher’s role. Again, I just looked at the previous season. If the ratio of games started to total games was 50% or higher, the pitcher got 30 starts. If the ratio is is under 50%, it’s 30 one-inning relief appearances. The numbers for some pitcher will be off if they were used primarily as an opener or secondary starter. It’s a weakness.
I’ll start by comparing Giolito’s various results and projections.
Season | Team/Projection | IP | WHIP | K | SV | K/9 | HR/9 | BABIP | ERA |
---|---|---|---|---|---|---|---|---|---|
2018 | White Sox | 173 | 1.48 | 125 | 0 | 6.5 | 1.4 | .268 | 6.13 |
2019 | White Sox | 176 | 1.06 | 228 | 0 | 11.6 | 1.2 | .273 | 3.41 |
2020 | THE BAT | 185 | 1.24 | 212 | 0 | 10.3 | 1.3 | .295 | 3.94 |
2020 | ATC | 181 | 1.20 | 212 | 0 | 10.5 | 1.4 | .295 | 4.05 |
2020 | Depth Charts | 185 | 1.17 | 231 | 0 | 11.2 | 1.3 | .300 | 3.73 |
2020 | Steamer | 184 | 1.27 | 212 | 0 | 10.4 | 1.5 | .289 | 4.24 |
2020 | ZiPS | 176 | 1.07 | 235 | 0 | 12.0 | 1.2 | .296 | 3.22 |
2020 | GM’s | 174 | 1.22 | 226 | 0 | 12.3 | 1.3 | .290 | 3.85 |
It seems like the ZiPS bought into the change more than any of the other projections and it’s almost identical to the GM stats. Using the ZiPS projections in the auction calculator, Giolito’s value jumps to the 6th overall pitcher.
While the GM projection for Giolito seems to be a little more reflective of how the industry values him, it’s far from perfect. It should probably be used about 5% of the time in the instance when a pitcher has completely remade himself and whole seasons need to be thrown out.
It’s not just breakouts who owners should use the GM’s to evaluate. It’s pitchers who are quickly breaking down. Take Corey Kluber for example. Last season, the 33-year-old lost some velocity and couldn’t find the strike zone. His changes aren’t as drastic as Giolito but he is nearing the end of his career. Our auction calculator projects him as the 48th overall pitcher but the NFBC crowd values him at 28th overall. I’ll go ahead and compare the projections to see where the differences exist.
Season | Team/Projection | IP | WHIP | K | K/9 | HR/9 | BABIP | ERA |
---|---|---|---|---|---|---|---|---|
2017 | Indians | 203 | 0.87 | 265 | 11.7 | 0.9 | .267 | 2.25 |
2018 | Indians | 215 | 0.99 | 222 | 9.3 | 1.1 | .276 | 2.89 |
2019 | Indians | 35 | 1.65 | 38 | 9.6 | 1.0 | .370 | 5.80 |
2020 | THE BAT | 175 | 1.19 | 174 | 9.0 | 1.5 | .295 | 4.06 |
2020 | ATC | 173 | 1.21 | 179 | 9.3 | 1.3 | .314 | 3.99 |
2020 | Depth Charts | 175 | 1.23 | 176 | 9.1 | 1.3 | .310 | 4.09 |
2020 | Steamer | 174 | 1.25 | 175 | 9.1 | 1.4 | .301 | 4.21 |
2020 | ZiPS | 145 | 1.20 | 145 | 9.0 | 1.2 | .306 | 3.98 |
2020 | GM | 161 | 1.53 | 161 | 9.2 | 1.6 | .305 | 4.83 |
Even before this analysis, I was pretty low on Kluber, but it just takes one owner of 12 to dream on Kluber’s 2017 and 2018 to boost the ADP. The downside is 2019 again. I’ll continue to believe that he’s done and value him using the undraftable GM projection. I can understand if others disagree.
With a couple of examples out of the way, here are the top 30 players ranked by ERA (full spreadsheet).
Name | G | GS | IP | K% | BB% | BABIP | HR/9 | K | ERA | WHIP |
---|---|---|---|---|---|---|---|---|---|---|
Josh Hader | 60 | 0 | 61 | 42% | 7% | .291 | 1.3 | 105 | 3.11 | 1.03 |
Gerrit Cole | 30 | 30 | 181 | 38% | 7% | .292 | 1.1 | 284 | 3.24 | 1.04 |
Kirby Yates | 60 | 0 | 60 | 36% | 7% | .301 | 1.1 | 89 | 3.44 | 1.11 |
Nick Anderson | 60 | 0 | 60 | 37% | 7% | .303 | 1.4 | 92 | 3.50 | 1.15 |
Felipe Vazquez | 60 | 0 | 60 | 34% | 7% | .298 | 1.2 | 85 | 3.61 | 1.15 |
Edwin Diaz | 60 | 0 | 59 | 35% | 8% | .304 | 1.3 | 88 | 3.62 | 1.19 |
Chris Sale | 30 | 30 | 176 | 34% | 7% | .301 | 1.2 | 250 | 3.63 | 1.17 |
Justin Verlander | 30 | 30 | 179 | 33% | 6% | .277 | 1.4 | 245 | 3.63 | 1.10 |
Ken Giles | 60 | 0 | 59 | 35% | 8% | .298 | 1.2 | 87 | 3.65 | 1.19 |
Liam Hendriks | 60 | 0 | 59 | 34% | 7% | .300 | 1.4 | 85 | 3.68 | 1.18 |
Max Scherzer | 30 | 30 | 175 | 33% | 6% | .306 | 1.3 | 243 | 3.68 | 1.17 |
Will Smith | 60 | 0 | 59 | 33% | 8% | .296 | 1.2 | 84 | 3.72 | 1.20 |
Emilio Pagan | 60 | 0 | 59 | 33% | 7% | .289 | 1.4 | 82 | 3.73 | 1.16 |
Luke Jackson | 60 | 0 | 59 | 32% | 8% | .309 | 0.9 | 79 | 3.75 | 1.21 |
Matt Barnes | 60 | 0 | 58 | 35% | 11% | .302 | 1.1 | 87 | 3.77 | 1.28 |
Austin Adams | 60 | 0 | 58 | 33% | 10% | .297 | 1.0 | 83 | 3.77 | 1.24 |
Shane Bieber | 30 | 30 | 176 | 30% | 6% | .296 | 1.3 | 224 | 3.78 | 1.16 |
Taylor Rogers | 60 | 0 | 59 | 30% | 6% | .299 | 1.1 | 75 | 3.79 | 1.17 |
Tommy Kahnle | 60 | 0 | 59 | 32% | 8% | .296 | 1.1 | 80 | 3.79 | 1.21 |
Seth Lugo | 60 | 0 | 59 | 31% | 6% | .293 | 1.3 | 77 | 3.79 | 1.17 |
Tyler Glasnow | 30 | 30 | 175 | 31% | 7% | .293 | 1.1 | 228 | 3.81 | 1.19 |
Mike Clevinger | 30 | 30 | 173 | 32% | 8% | .299 | 1.3 | 239 | 3.82 | 1.23 |
Jacob deGrom | 30 | 30 | 175 | 31% | 6% | .294 | 1.3 | 226 | 3.83 | 1.18 |
Ryan Pressly | 60 | 0 | 59 | 31% | 7% | .294 | 1.1 | 76 | 3.85 | 1.20 |
Lucas Giolito | 30 | 30 | 174 | 32% | 8% | .290 | 1.3 | 237 | 3.85 | 1.22 |
Tyler Duffey | 60 | 0 | 59 | 31% | 7% | .295 | 1.4 | 78 | 3.86 | 1.22 |
Giovanny Gallegos | 60 | 0 | 59 | 31% | 7% | .288 | 1.5 | 78 | 3.87 | 1.19 |
Jack Flaherty | 30 | 30 | 175 | 30% | 7% | .280 | 1.3 | 223 | 3.89 | 1.18 |
Joshua James | 60 | 0 | 57 | 34% | 11% | .298 | 1.3 | 85 | 3.89 | 1.31 |
Darwinzon Hernandez | 60 | 0 | 57 | 34% | 11% | .303 | 1.1 | 84 | 3.89 | 1.32 |
Nothing seems out of place based on last season. I few good non-closers make the list like Darwinzon Hernandez, Tyler Duffey, and Austin Adams. They might make decent cheap reliever options in deeper leagues.
These projections are far from groundbreaking. They are as simple as can be and shouldn’t be used except in the few instances when a player is no longer recognizable and break a baseline projection.
Jeff, one of the authors of the fantasy baseball guide,The Process, writes for RotoGraphs, The Hardball Times, Rotowire, Baseball America, and BaseballHQ. He has been nominated for two SABR Analytics Research Award for Contemporary Analysis and won it in 2013 in tandem with Bill Petti. He has won four FSWA Awards including on for his Mining the News series. He's won Tout Wars three times, LABR twice, and got his first NFBC Main Event win in 2021. Follow him on Twitter @jeffwzimmerman.
I can’t understand how any model would predict the demise of Kluber after 7 games in 2019. Normal decline as he ages? Sure. But total garbage? I think you’re reaching. Are you a consultant for the Rangers? Maybe you are the one who convinced Antonetti he is worthless. Haha
Agreed. Quite an extreme take based on so little data for a player with that length of track record.
Kluber’s first seven games of 2019 (age 33 season):
5.80 ERA, 4.88 xFIP, 9.59 K/9, FBv 91.6
Justin Verlander’s first seven games of 2015 (age 32 season):
5.57 ERA, 5.05 xFIP, 5.36 K/9, FBv 92.7
Just sayin’.
But it’s not just 7 games in 2019, it’s also the marked decline from the 2nd-half of 2018. ERA (and their evaluators) all kept rising while his K-rate kept declining. And the second half would’ve been even worse if not buoyed by a strong September where four-of-five starts were against the Royals and White Sox. The fifth start was against Tampa Bay where he lasted just 1.2 innings. Given how trashy his fastball has always been it can’t be ignored that the elite cutter he’s made a career off of keeps getting worse. It had a .235 wOBA-against in the 1st half of 2018, a .368 wOBA in the second half, and a .347 wOBA in the nine games of 2019.
Where do you see the decline in k-rate? 2018 1st half was 25.8%, 2018 2nd half was 27.3%. xFIP and hard hit% were also lower in the 2nd half of 2018 than the first.
Point being that it may be premature to declare this guy’s career over because of a few selected stats that aren’t entirely supported by other metrics.
I didn’t declare him dead and they’re not a few selected stats. The quick deterioration of his best pitch is incredibly important given the low quality of his fastball. This deterioration is supported by more than just wOBA but I’m not writing a column in the comments section, so that’s all I listed. You’re also ignoring what I brought up about weak September opponents propping up his second-half numbers. Take a look at either his graphs or month-by-month splits in 2018. He was really good in April/May and then really average/below-average in June/July/August. And then his number spiked in September when he pitched four times against the Royals (2nd-worst record in MLB) and White Sox (third-worst). He had 22 K against the White Sox, who led the league in K-rate against RHP. You don’t have to accept my arguments but I find it hard to see where you can say they aren’t supported.