X
Lost password?

Don't have an account?
Gain Access Now

X

Receive free daily analysis

NFL
NBA
NHL
NASCAR
CFB
MLB
MMA
PGA
ESPORTS
BETTING

Already have an account? Log In

X

Forgot Password


POPULAR FANTASY TOOLS

Expert Advice
Articles & Tools
Import Your Leagues
Daily Stats & Leaders
All Pitcher Matchups
Compare Any Players
Player Comparisons
Rookies & Call-Ups
24x7 News and Alerts

Pitcher Predictability Analysis for Fantasy Baseball

There are different ways to have success as a pitcher. You can have wipe-out stuff, pinpoint command, superior deception, or an arsenal of different pitch types that make it tough for a hitter to see what is coming next. The best pitchers will have all of those things going for them.

For this fantasy baseball analysis, I wanted to focus on that last point - an unpredictable arsenal. Most starters have at least three pitches in their arsenal, but plenty of pitchers dedicate more than 80% of their arsenal to just two different pitches, making them quite predictable. On the flip side of that, you have some guys with five or six different pitches that they are comfortable with throwing - that makes them very tough to predict.

It is definitively not true that you need a deep arsenal to have success in the league. If you have two great pitches with great command, that is more than enough to have success in the big leagues. It does seem true that having a deep pitch arsenal gives a pitcher a wider safety net. Some nights you just don't have the feel for certain pitches, and having a few extra to fall back on can really help a pitcher avoid those disastrous outings.

Be sure to check all of our fantasy baseball draft tools and resources:

 

The Process

I used a Python script for this in conjunction with the baseball savant pitch-by-pitch dataset. This dataset is a massive table of data with one row for every single pitch thrown in Major League Baseball games. Every data point you could think of is in this dataset, and it opens the door for limitless analysis with a coding language like Python.

My script works like this:

  • Pick an individual pitcher
  • Isolate that pitcher from the dataset, giving us a table of all of their pitches thrown
  • Order the table chronologically
  • Skip forward to the pitcher's 251st pitch of the year
  • From then on, for every pitch, look at the count and handedness of the batter being faced on every pitch
  • Look back to the past times the pitcher has been in that exact situation (say an 0-2 count against a left)
  • Find the pitcher's most commonly thrown pitch in that situation
  • Predict that he will throw that pitch
  • Compare that prediction to what the pitcher actually threw
  • Calculate what percent of the time the prediction was correct
  • Repeat for every single pitcher that threw at least 1,500 pitches last year

Long story short, we just tried to predict every pitch type based on what the pitcher threw in similar situations in the past, and then we see which pitchers we were right and wrong about most often. If you are interested in seeing the Python script I wrote, you can view that here on Google colab, a Python notebook environment hosted on the Google Cloud. Just collapse the "Setup" code blocks with the arrow at the top and then look at the "Example of how it works" block.

 

The Results

Here is the results table, it includes every pitcher we looked at. The "score" is just the percent of the time the prediction was right, so the lower the score - the less predictable the pitcher was.

Cleveland's Aaron Civale proved to be the league's least predictable pitcher last year. He threw six different pitches at a clip above 10% (cutter, four-seamer, curveball, splitter, slider, and sinker). Baseball Savant has a nice feature of showing how a pitcher distributes his pitches in all different counts, you can check out Civale's plot here for a visual of just how tough he was to predict.

The rest of the top five perfectly shows that this is not a foolproof way of finding good pitchers. Mike Foltynewicz, Merrill Kelly, Jon Lester, and Matt Harvey were four of the worst pitchers in the entire league last year despite their unpredictability. All of those names threw at least four pitches over 10% of the time. The problem was just the small detail of their pitches not being very good. It's quite possible that the deep arsenal is the reason these pitchers are even staying in the league. If Foltynewicz was out there only throwing his four-seamer and slider last year, he probably would not have been able to stay in the rotation as long as he did.

If you sort the score column the other way around, we'll see the most predictable pitchers. Turns out that you see some pretty good pitchers on this side of things.

Logan Gilbert had a pretty successful rookie year despite coming in "last place" in this analysis. Maybe we should not judge rookies the same way as veterans here, since it would have taken some time for the hitters to learn his arsenal and to potentially capitalize on the limitations, but nonetheless, we proceed. Gilbert threw a four-seamer 61.5 of the time and a slider 23.9%, leaving just 14.6% of the time dedicated to his changeup and curveball. It was pretty easy for a hitter to just expect a fastball in neutral and advantageous counts, and then sit on the slider when they were behind. But this is a good example that just because a hitter knows what pitch is coming, that surely doesn't mean they'll be able to hit it.

Triston McKenzie, Carlos Rodon, Robbie Ray, Clayton Kershaw, and Trevor Rogers also show up here in the top-15. These pitchers were all pretty much the same mold as Gilbert, throwing a fastball a high percentage of the time to get ahead, and then using a breaking ball to attempt to put hitters away.

Here's a table you can use to search for a pitcher's name and see their arsenal breakdown. I limited this to only pitchers that threw at least 1,500 pitches last year to save some memory.

 

Conclusions

I think the biggest conclusion here is that we can overestimate the depth of the arsenal. The quality of the pitches turns out to be much, much more vital to success than the quantity of them. Most fantasy players probably understood that before, but I think this table really drives it home. There does not seem to be any correlation whatsoever between depth of arsenal and success on the field.

That said, I don't think it's proper to throw this out entirely. While the Aaron Civale types (pretty bland "stuff" wise, but quite successful on the mound) are somewhat rare, they can exist because of this. Civale makes his living by throwing a bunch of different pitches in all different counts and locating them well. A young pitcher coming into the league and having five pitches in his bag gives him a lot of different things to try out and more options to work with as he figures out what works at the big league level and what doesn't.

This could be good "tiebreaker" material in the fantasy baseball world. Despite what we see above, I would still rather roll the dice on a pitcher with five pitches rather than three if everything else is more or less equal.

Thanks for reading, if anybody has any questions about Python or requests for the full data extracts, I can be reached on Twitter @JonPGH



Download Our Free News & Alerts Mobile App

Like what you see? Download our updated fantasy baseball app for iPhone and Android with 24x7 player news, injury alerts, sleepers, prospects & more. All free!



More Fantasy Baseball Advice




POPULAR FANTASY TOOLS

Expert Advice
Articles & Tools
Import Your Leagues
Daily Stats & Leaders
All Pitcher Matchups
Compare Any Players
Player Comparisons
Rookies & Call-Ups
24x7 News and Alerts

REAL-TIME FANTASY NEWS

Bam Adebayo1 hour ago

Could Miss Another Game On Wednesday
Joel Embiid1 hour ago

"Day-To-Day"
PGA1 hour ago

J.T. Poston A Volatile Player With Upside At American Express
Dereck Lively II2 hours ago

Won't Return Against Denver
Justin Thomas2 hours ago

Fits The AmEx Layouts Like A Glove
J.J. Spaun2 hours ago

Carrying Plenty Of Momentum Into American Express
Cameron Johnson3 hours ago

Upgraded To Available On Tuesday
Ben Simmons3 hours ago

To Play On Tuesday
Aaron Gordon3 hours ago

Good To Go Versus Dallas
D'Angelo Russell3 hours ago

Available On Tuesday
Nikola Jokic3 hours ago

Officially Cleared To Suit Up On Tuesday
Nicolas Claxton3 hours ago

Ruled Out For Tuesday
Goga Bitadze3 hours ago

Questionable Against Milwaukee
Kyrie Irving3 hours ago

Upgraded To Available
Jeremy Sochan4 hours ago

Out Again On Wednesday
Lonzo Ball4 hours ago

To Be Rested On Wednesday
Alex Bregman4 hours ago

Cubs Having Contract Conversations With Alex Bregman
Coby White5 hours ago

Back For Bulls Tuesday
Kyle Anderson5 hours ago

Questionable On Wednesday
Gary Trent Jr.5 hours ago

Out On Tuesday
Grayson Allen5 hours ago

Will Play On Tuesday
Giannis Antetokounmpo5 hours ago

Officially Available Tuesday
Ayo Dosunmu5 hours ago

Ruled Out Tuesday, Expected To Play On Wednesday
De'Andre Hunter5 hours ago

A Late Scratch On Tuesday
Ty Jerome5 hours ago

Misses Second Straight Game
Patrick Mahomes5 hours ago

Practices In Full On Tuesday
Isiah Pacheco6 hours ago

Practices In Full On Tuesday
Troy Terry6 hours ago

Returns To Action Tuesday
John Marino6 hours ago

Set For Utah Debut On Tuesday
Jack Eichel6 hours ago

Expected To Return To Vegas Lineup Tuesday
Charlie McAvoy6 hours ago

Lands On Injured Reserve
Taylor Moore6 hours ago

Struggles Continue Ahead Of American Express
Chris Kreider6 hours ago

Poised To Return Tuesday
Michael Bunting7 hours ago

Back For Penguins Tuesday
Evgeni Malkin7 hours ago

On Track To Return Tuesday
Emil Heineman7 hours ago

To Miss 3-4 Weeks After Being Hit By Car
David Montgomery7 hours ago

Practicing In Full
Tom Kim8 hours ago

Looking To Bounce Back At American Express
Diontae Johnson10 hours ago

Cut Loose By Texans
Wyndham Clark11 hours ago

Looking To Keep Momentum Going At La Quinta
PGA11 hours ago

Sungjae Im Is A Hot Commodity At The American Express
Christiaan Bezuidenhout11 hours ago

Makes 2025 Debut At PGA West
Harry Hall11 hours ago

In Great Form Ahead Of American Express
Eric Cole11 hours ago

Seeking First Tour Victory At American Express
Tony Finau11 hours ago

Eyeing Victory At American Express
Ben Griffin11 hours ago

Looks To Stay Hot At La Quinta
Billy Horschel11 hours ago

A Fade Candidate At American Express
Kurt Kitayama11 hours ago

In Solid Form Ahead Of American Express
Keith Mitchell11 hours ago

Tough To Trust At American Express
Patrick Rodgers11 hours ago

A Player To Fade At The American Express
PGA11 hours ago

Ben Silverman A Risky Option At PGA West
Nick Taylor11 hours ago

Aims For Back-To-Back Victories At American Express
Cameron Young11 hours ago

A Golfer To Watch At American Express
Brian Harman11 hours ago

Leaking Oil As He Heads To PGA West
PGA12 hours ago

Nico Echavarria An Intriguing Play Again This Week At PGA West
Luis Arraez15 hours ago

Padres Would Prefer To Hold Luis Arraez
Sam Reinhart16 hours ago

Nets Two Goals In Loss
Noah Cates16 hours ago

Strikes Twice On Monday
Yegor Sharangovich16 hours ago

Tallies Goal, Assist On Monday
Jakob Pelletier16 hours ago

Tallies Three Points In Victory
Connor McDavid17 hours ago

Scores In Monday's Victory
Stuart Skinner17 hours ago

Blanks Los Angeles
Tyler Higbee23 hours ago

In Stable Condition At Hospital, Expected To Be OK
Los Angeles Rams24 hours ago

Rams Defense Wreaks Havoc Monday
Chicago Bears1 day ago

Mike McCarthy Set For Meeting With Chicago
Dallas Cowboys1 day ago

Deion Sanders In Talks With Cowboys About Head-Coaching Vacancy
MLB1 day ago

Dodgers, Padres, Blue Jays Finalists For Roki Sasaki
Donovan Solano1 day ago

Inks One-Year Deal With Seattle
Vladislav Namestnikov1 day ago

Not Ready To Return On Tuesday
Filip Hronek1 day ago

Regarded As Game-Time Decision For Tuesday
Alexander Wennberg1 day ago

Expected To Return To Action On Tuesday
Rory Kerins1 day ago

Set For NHL Debut On Monday
Craig Smith1 day ago

Remains Out On Monday
Ilya Sorokin1 day ago

Returns To Practice Monday
Jayden Reed1 day ago

Doesn't Need Shoulder Surgery
Zay Flowers1 day ago

Ravens In "We'll-See" Mode With Zay Flowers
Lamar Jackson1 day ago

Not Expected To Be Limited In Practice This Week
Justin Verlander1 day ago

Feeling Good
Las Vegas Raiders1 day ago

Raiders "Enamored" With Ben Johnson
Dallas Cowboys1 day ago

Mike McCarthy Out In Dallas
Jayden Reed1 day ago

Suffers Dislocated Shoulder
Philadelphia Eagles1 day ago

Nakobe Dean Done For Playoffs With Torn Patellar Tendon
Amanda Ribas2 days ago

Loses Second Fight In A Row
Mackenzie Dern2 days ago

Scores Submission Victory At UFC Vegas 101
Carlston Harris2 days ago

Gets TKO'd At UFC Vegas 101
Santiago Ponzinibbio2 days ago

Gets Back In The Win Column
Saquon Barkley2 days ago

Anchors Eagles Offense Yet Again
Abdul Razak Alhassan2 days ago

Gets Knocked Out At UFC Vegas 101
Cesar Almeida2 days ago

Scores Knockout Victory
Robert Suarez2 days ago

Padres Have "Entertained" Trade Talks For Robert Suarez
Pavel Dorofeyev2 days ago

Tallies Three Points In Victory
Mike Evans2 days ago

Hauls In Touchdown Pass Against Washington
Terry McLaurin2 days ago

Scores In Wild-Card Victory
Josh Jacobs2 days ago

Notches 121 Total Yards, Keeps Touchdown Streak Intact In Loss
Uros Medic2 days ago

Gets Knocked Out At UFC Vegas 101
Punahele Soriano2 days ago

Gets A Knockout Win At UFC Vegas 101
Austin Bashi2 days ago

Suffers First Career Loss At UFC Vegas 101
Christian Rodriguez2 days ago

Pulls Off Upset At UFC Vegas 101
Chris Curtis2 days ago

Gets Finished At UFC Vegas 101
Roman Kopylov2 days ago

Scores Last-Second Knockout At UFC Vegas 101
Romeo Doubs2 days ago

Jayden Reed, Romeo Doubs Questionable To Return
Cade Otton2 days ago

Active For Sunday Night
Bo Bichette2 days ago

Has "No Real Interest" In Re-Signing With Toronto
Yandy Díaz2 days ago

Yandy Diaz Not Expected To Be Traded
Sean Sullivan3 days ago

Invited To Spring Training
Sandy Alcantara4 days ago

Will Not Be Traded Before Opening Day
Jeff Hoffman4 days ago

Inks Three-Year Deal With Toronto
Amanda Ribas4 days ago

Looks To Get Back In The Win Column
Mackenzie Dern4 days ago

An Underdog At UFC Vegas 101
Zac Gallen4 days ago

Diamondbacks Avoid Arbitration With Zac Gallen
Josh Jung4 days ago

Will Be Full-Go For Spring Training
Santiago Ponzinibbio4 days ago

Set For Co-Main Event
Carlston Harris4 days ago

Set For Welterweight Matchup
Pete Alonso4 days ago

No Deal Close Between Pete Alonso And The Mets
Abdul Razak Alhassan4 days ago

Returns To Action At UFC Vegas 101
Cesar Almeida4 days ago

Looks For His Third UFC Win
Uros Medic5 days ago

Opens Up UFC Vegas 101 Main Card
Punahele Soriano5 days ago

Remains At Welterweight At UFC Vegas 101
Christian Rodriguez5 days ago

Looks To Start Off 2025 On Right Note At UFC Vegas 101
Josh Naylor5 days ago

Diamondbacks Avoid Arbitration
Vladimir Guerrero Jr.5 days ago

Blue Jays Avoid Arbitration
Andrew Kittredge5 days ago

Inks One-Year Deal With Baltimore
Framber Valdez5 days ago

Astros Avoid Arbitration
Randy Arozarena5 days ago

Mariners Avoid Arbitration
Luis Arraez5 days ago

Padres Settle On $14 Million Deal
Tarik Skubal5 days ago

Tigers Avoid Arbitration

RANKINGS

QB
RB
WR
TE
K
DEF
RANKINGS
C
1B
2B
3B
SS
OF
SP
RP