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
Draft Rankings
Draft Simulator
Enter League Settings
Compare Any Players
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
Draft Rankings
Draft Simulator
Enter League Settings
Compare Any Players
Rookies & Call-Ups
24x7 News and Alerts

REAL-TIME FANTASY NEWS

Zion Williamson17 mins ago

Available Against Pistons
Andrew Benintendi19 mins ago

Takes Live Batting Practice
NFL20 mins ago

Garrett Bradbury Released By Vikings
Svi Mykhailiuk27 mins ago

Unavailable Against Chicago
Alek Manoah28 mins ago

Placed On 60-Day Injured List
Guerschon Yabusele30 mins ago

Downgraded To Out
Andrew Wiggins36 mins ago

Inactive On Monday
Philadelphia Eagles37 mins ago

Eagles Rework Lane Johnson's Contract
Kristian Campbell38 mins ago

Still Competing For Second Base Gig
Myles Turner43 mins ago

Misses Monday's Matchup
Aaron Nesmith43 mins ago

Unavailable Against Minnesota On Monday
Tyrese Haliburton49 mins ago

Will Not Play On Monday
Adem Bona57 mins ago

Misses Monday's Game
Andre Drummond1 hour ago

Continues To Sit With Toe Injury
Jabari Walker1 hour ago

Unavailable Again On Monday
Kyle Lowry1 hour ago

Still Out On Monday
Brett Baty1 hour ago

Luisangel Acuna Could Platoon At Second Base
Lonnie Walker IV1 hour ago

Remains Out On Monday
Spencer Steer1 hour ago

To Resume Throwing On Tuesday, Could Be Ready For Opening Day
Kelly Oubre Jr.1 hour ago

Sits Out Monday's Game
Jerami Grant1 hour ago

Doubtful For Monday's Matchup With Washington
Alexis Díaz1 hour ago

Alexis Diaz To Pitch In Minor-League Game On Tuesday
Tyrese Maxey2 hours ago

Unavailable Against Rockets
Paul George2 hours ago

Shut Down For Rest Of Season
Tobias Myers2 hours ago

To Start The Year On Injured List
Robert Williams III2 hours ago

Unavailable Versus Wizards
Max Kepler2 hours ago

Dealing With Back Injury
Andrei Svechnikov2 hours ago

Could Return To Action Thursday
Ja'Kobe Walter2 hours ago

Out Of Action Again On Monday
Alec Bohm2 hours ago

Could Play On Wednesday
Dustin Wolf2 hours ago

Faces Maple Leafs Monday
Jake Allen2 hours ago

Searches For Third Consecutive Victory Monday
Brandon Marsh2 hours ago

To Return To Action On Tuesday
Zack Wheeler2 hours ago

Phillies Announce Zack Wheeler As Their Opening Day Starter
RJ Barrett2 hours ago

Sidelined Again On Monday
Jet Greaves2 hours ago

Receives Starting Nod Monday
Jake Cousins2 hours ago

Throwing At 90 Feet
DJ LeMahieu2 hours ago

Has Been Hitting
Ivan Fedotov3 hours ago

Starts Against Lightning
Paul Goldschmidt3 hours ago

Pulled On Monday With Back Soreness
Grayson Rodriguez3 hours ago

To Play Catch On Tuesday
Joonas Korpisalo3 hours ago

Starts For Bruins Monday
Jakob Poeltl3 hours ago

Ruled Out For Monday
Coby Mayo3 hours ago

OK After Being Hit By Pitch
Roman Dolidze3 hours ago

Extends His Win Streak To Three
Marvin Vettori3 hours ago

Suffers Back-To-Back Losses
Will Zalatoris3 hours ago

Has Been Consistent At Least In 2025
Carson Young3 hours ago

Makes The Cut In Second Straight Tournament
Xander Schauffele3 hours ago

Struggles At The PLAYERS Championship
Nicolai Hojgaard3 hours ago

Misses First Cut In 2025
Lucas Glover3 hours ago

Produces Another Strong Showing At The PLAYERS Championship
Joel Dahmen3 hours ago

Finding Stride Heading To Valspar Championship
Corey Conners3 hours ago

Finishes Tied For Sixth At The PLAYERS Championship
Luke Clanton3 hours ago

Secures PGA Tour Card At Cognizant Classic
Blades Brown3 hours ago

Set To Make Fourth PGA Tour Start In 2025
Cameron Young3 hours ago

A Loose Cannon On Florida Swing
Akshay Bhatia3 hours ago

Secures Third Top-10 Finish
Elizeu Zaleski dos Santos4 hours ago

Suffers Second-Round TKO
Sahith Theegala4 hours ago

Seeking Elusive Consistency In Florida
Kyler Murray4 hours ago

Excited For 2025
Joe Highsmith4 hours ago

An Intriguing Option At The Valspar
Chidi Njokuani4 hours ago

Scores TKO Win At UFC Vegas 104
New York Jets4 hours ago

Byron Cowart Inks Deal With Jets
Kurt Holobaugh4 hours ago

Drops Decision At UFC Vegas 104
Alexander Hernandez4 hours ago

Wins Decision At UFC Vegas 104
PGA4 hours ago

Nico Echavarria Just Attempting To Get To The Weekend
Bud Cauley4 hours ago

Trying To Keep Good Times Rolling
5 hours ago

Tetairoa McMillan Increasing His Draft Stock
Christiaan Bezuidenhout5 hours ago

Needs His Putter At The Valspar
Edward Cabrera5 hours ago

Playing Catch On Monday
PGA5 hours ago

Byeong Hun An Attempts To Get Off To Faster Start
Joseph Woll5 hours ago

Starting On Monday
Nick Jensen5 hours ago

Not Expected To Play On Tuesday
Royce Lewis5 hours ago

To Miss Opening Day
Dylan Strome5 hours ago

Battling Illness
Jonas Brodin5 hours ago

Not Playing On Monday, Viewed As Day-To-Day
Cody Gibson5 hours ago

Submitted At UFC Vegas 104
Luis Severino5 hours ago

Gets Opening Day Nod For Oakland
Josh Norris5 hours ago

Not Playing On Monday
Da'Mon Blackshear5 hours ago

Wins Back-To-Back Fights
JJ Peterka5 hours ago

Ruled Out For Monday's Contest
Max Scherzer6 hours ago

Dealing With Thumb Issue Since 2023
Brendson Ribeiro6 hours ago

Gets Submission Win At UFC Vegas 104
Diyar Nurgozhay6 hours ago

Suffers His First Loss
MMA6 hours ago

Seung Woo Choi Suffers First-Round TKO Loss At UFC Vegas 104
Kevin Vallejos6 hours ago

Finishes Seung Woo Choi In Debut
Marcus Smart6 hours ago

Iffy For Monday
Jameis Winston6 hours ago

To Visit With Giants On Tuesday
Cincinnati Bengals7 hours ago

Bengals Still Hoping To Sign Trey Hendrickson To An Extension
Houston Texans7 hours ago

Texans Make Derek Stingley Jr. The Highest-Paid Defensive Back
Clarke Schmidt7 hours ago

Feels "Great" After Bullpen, Still Hoping To Pitch April 3
Tyler Reddick8 hours ago

Solid Performance Is Derailed By Late Pit-Road Issues At Las Vegas
Ryan Blaney8 hours ago

Struggles End In A Disappointing Exit Late At Las Vegas
Josh Berry9 hours ago

Impressively Earns First Cup Series Win At Las Vegas
AJ Allmendinger9 hours ago

Scores First Top-10 Finish Of Season At Las Vegas
Kyle Larson9 hours ago

Leads The Most Laps, But Settles For A Top-10 Finish At Las Vegas
Ross Chastain9 hours ago

Obtains A Hard-Fought Top-Five Finish At Las Vegas
Daniel Suarez9 hours ago

Scores Career-Best Finish At Las Vegas, But Falls Short Of Winning
Cole Perfetti12 hours ago

Tallies Goal, Assist In Victory
Karel Vejmelka13 hours ago

Earns Victory On Sunday
Jordan Kyrou13 hours ago

Tallies Three Points On Sunday
Ryan Nugent-Hopkins13 hours ago

Dishes Out Three Helpers
Cale Makar13 hours ago

Tallies Three Points On Sunday
Dmitry Kulikov13 hours ago

Injured On Sunday
NASCAR15 hours ago

Bubba Wallace Wrecks At Las Vegas But Shows Promising Speed
Alex Bowman15 hours ago

Recovers From Loose Wheel To Finish Seventh
Austin Cindric15 hours ago

Wins Stage 1, But Loose Wheel Foils Victory Bid
William Byron15 hours ago

Loses Las Vegas Race On Strategy But Expands Points Lead
Ryan Preece15 hours ago

Earns Best Career Non-Drafting Oval Finish At Las Vegas
Tee Higgins20 hours ago

Becomes Highest-Paid WR2 In NFL History
Ja'Marr Chase20 hours ago

Bengals Make Ja'Marr Chase The Highest-Paid Non-QB In NFL History
Miami Dolphins1 day ago

Ryan Stonehouse Signs With Dolphins
Sam Darnold1 day ago

Could Opt Out After One Season
Mark Andrews1 day ago

Unlikely To Be Cut
Igor Shesterkin1 day ago

Remains In Rangers Crease Sunday
John Gibson1 day ago

Still Out On Sunday
Nick Bjugstad1 day ago

Returns For Utah Sunday
Atlanta Falcons1 day ago

Keith Taylor Signs With Falcons
Atlanta Falcons1 day ago

Storm Norton Back With Atlanta
Ronnie Rivers1 day ago

Re-Ups With Rams
New York Jets1 day ago

Derrick Nnadi Signing With Jets
Washington Commanders1 day ago

Eddie Goldman Joins Commanders On One-Year Deal
Cooper Rush1 day ago

Agrees On Two-Year Deal With Ravens
Baltimore Ravens1 day ago

Ben Cleveland Remaining With Ravens
Seattle Seahawks1 day ago

Shemar Jean-Charles Signing With Seahawks
Christopher Bell1 day ago

Quest For Four Wins In A Row Just Got More Difficult
Kyle Larson1 day ago

Should Contend For Another Win At Las Vegas
Ryan Blaney1 day ago

Once Again The Chalk DFS Pick At Las Vegas
Ross Chastain1 day ago

Fastest In Practice At Las Vegas
Chris Buescher1 day ago

Has Sneaky Upside This Weekend
Chase Elliott2 days ago

May Be A Sneaky DFS Option For Las Vegas Lineups
William Byron2 days ago

Expect William Byron To Compete For The Win At Las Vegas
Tyler Reddick2 days ago

Is One Of The Top DFS Options For Las Vegas
Denny Hamlin2 days ago

Could Denny Hamlin Be A Quality Driver For DFS At Las Vegas?
Roman Dolidze3 days ago

Set For A Rematch
Marvin Vettori3 days ago

Looks To Get Back In The Win Column
Chidi Njokuani3 days ago

Looks For His Third Win In A Row
Elizeu Zaleski dos Santos3 days ago

Looks For His 12th UFC Win
Kurt Holobaugh3 days ago

An Underdog At UFC Vegas 104
Alexander Hernandez3 days ago

Looks To Win Back-To-Back Fights
Cody Gibson4 days ago

Looks For His Third Consecutive Win
Da'Mon Blackshear4 days ago

A Favorite At UFC Vegas 104
Brendson Ribeiro4 days ago

Searching For Second UFC Win On Saturday
Jacob Bridgeman5 days ago

Use Caution For Jacob Bridgeman At TPC Sawgrass
Nicolai Hojgaard5 days ago

Looks To Stay Consistent Heading Into PLAYERS Championship
Karl Vilips5 days ago

Makes PLAYERS Championship Debut After First PGA Tour Win
Taylor Pendrith5 days ago

A Sneaky Play At TPC Sawgrass
RANKINGS
C
1B
2B
3B
SS
OF
SP
RP

RANKINGS

QB
RB
WR
TE
K
DEF