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

Colby Thomas13 mins ago

X-Rays Come Back Negative On Colby Thomas
Brock Stewart22 mins ago

Exits With Knee Injury
Evan Sisk32 mins ago

Optioned to Triple-A
Will Benson39 mins ago

Sent To Triple-A
Bryan Shaw50 mins ago

Optioned To Triple-A
Mookie Betts58 mins ago

Could Miss Tokyo Series
Quinton Byfield1 hour ago

Scores In Sixth-Straight Contest
Chase Elliott1 hour ago

May Be A Sneaky DFS Option For Las Vegas Lineups
Artemi Panarin1 hour ago

Extends Point Streak To Eight Games
Pyotr Kochetkov1 hour ago

Shuts The Door On Saturday
William Byron1 hour ago

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

Is One Of The Top DFS Options For Las Vegas
Anthony Cirelli2 hours ago

Strikes Twice On Saturday
Denny Hamlin2 hours ago

Could Denny Hamlin Be A Quality Driver For DFS At Las Vegas?
Alex Ovechkin2 hours ago

Scores Goal, Adds Assist In Victory
Connor Dewar2 hours ago

Scores Twice On Saturday
NASCAR2 hours ago

Bubba Wallace Could Be A Solid DFS Option For Las Vegas
Brad Keselowski2 hours ago

Qualifies Deep In The Field For Las Vegas
Erik Jones2 hours ago

Is Erik Jones Worth Rostering At Las Vegas This Week?
Daniel Suarez2 hours ago

Should Fantasy Players Roster Daniel Suarez At Las Vegas?
Carson Hocevar2 hours ago

Showcases Speed And Can Be Worth Rostering At Las Vegas
Ryan Preece3 hours ago

Is Ryan Preece A DFS Fade For Las Vegas Lineups?
Joey Logano3 hours ago

Likely to Lead at Las Vegas, but Will He Lead Enough for DFS Consideration?
Michael McDowell3 hours ago

Wins Spire Motorsports's First Pole at Las Vegas
Austin Cindric4 hours ago

Qualified Third, but Almost Guaranteed to Lose Spots
Chase Briscoe4 hours ago

Las Vegas Performance Hard to Predict
Ty Gibbs4 hours ago

a Solid DFS Option in Theory, but Disastrous Recent Performance Likely Overrides That
Shane Van Gisbergen4 hours ago

Too Inexperienced at Las Vegas for DFS Consideration Despite Trackhouse Speed
Noah Gragson4 hours ago

Finished Well at Las Vegas Last Year, but Ran Worse
Austin Dillon4 hours ago

Decent at Las Vegas, but Not Worthy of DFS Play
Josh Berry4 hours ago

Poor Intermediate Record Likely to Override Strong Qualifying Result
Justin Haley4 hours ago

Spire Speed Suggests Justin Haley Is a Strong DFS Option
Cole Custer4 hours ago

Could be Valuable If Haas Has Intermediate Speed
Mitch Garver10 hours ago

Goes Hitless In Return To Cactus League Action
Austin Riley10 hours ago

Doubles In Return To Lineup On Saturday
Jordan Mason10 hours ago

Vikings Acquire Jordan Mason From 49ers, Sign Him To Two-Year Deal
RJ Barrett11 hours ago

Listed As Questionable For Sunday
Immanuel Quickley12 hours ago

Won't Play On Sunday
Jerami Grant12 hours ago

Unlikely To Play On Sunday
Marcus Smart12 hours ago

Downgraded To Out
Anfernee Simons12 hours ago

Tagged As Questionable For Sunday
Christian Braun12 hours ago

Available On Saturday
Aaron Gordon12 hours ago

Unavailable On Saturday
Jamal Murray12 hours ago

Will Play On Saturday Night
Nikola Jokić12 hours ago

Nikola Jokic Cleared To Suit Up Versus The Wizards
Colby Thomas13 hours ago

Sustains Injury On Saturday
Dee Eskridge13 hours ago

Sticking With Dolphins
Josh Giddey13 hours ago

Officially Out On Saturday Night
Ja Morant13 hours ago

Ruled Out On Saturday Night
JuJu Smith-Schuster13 hours ago

Returning To Chiefs
Josh Rojas13 hours ago

Exits Early On Saturday
Tennessee Titans13 hours ago

Chidobe Awuzie Released By Titans
Thairo Estrada13 hours ago

Removed From Saturday's Contest
Damian Lillard14 hours ago

Available Versus Indiana
Parris Campbell14 hours ago

Headed To Dallas
Nick Kurtz14 hours ago

Exits After Hit-By-Pitch
Giannis Antetokounmpo14 hours ago

Good To Go On Saturday
Jamal Murray14 hours ago

Added To Saturday's Injury Report
Jiri Kulich14 hours ago

Sustains An Upper-Body Injury Saturday
Tobias Myers14 hours ago

Exits Early On Saturday
Brice Turang14 hours ago

Dealing With Shoulder Fatigue
Tyler Myers14 hours ago

Set To Return Against Blackhawks
Nikita Kucherov14 hours ago

Good To Go Against Bruins
Yegor Chinakhov14 hours ago

Rejoins Blue Jackets Lineup Saturday
Cole Anthony14 hours ago

Back On The Injury Report
Joel Armia14 hours ago

Expected To Return On Saturday
Brady Tkachuk14 hours ago

Available Saturday
Donovan Mitchell14 hours ago

Questionable Against Orlando
Adam Fox15 hours ago

Ready To Rejoin Rangers Lineup
Andre Drummond15 hours ago

Out Against Dallas
Ja Morant15 hours ago

Questionable On Saturday Night
P.J. Washington15 hours ago

Returning On Sunday
Philadelphia Eagles18 hours ago

Patrick Johnson Rejoins Philadelphia
Dante Exum18 hours ago

Diagnosed With A Fractured Left Hand
Los Angeles Rams18 hours ago

Larrell Murchison Back With The Rams
Amed Rosario18 hours ago

Returning On Saturday
Cam Thomas18 hours ago

Expected To Miss Rest Of The Season
Jose Trevino18 hours ago

Going For CT Scan
Kirk Cousins18 hours ago

Set To Receive Roster Bonus
Bryce Eldridge18 hours ago

Will Not Play On Saturday
Aaron Rodgers18 hours ago

Wants To Play In Minnesota
Blake Perkins18 hours ago

Cleared For Light Baseball Activities
Doug Nikhazy19 hours ago

Optioned To Triple-A
Jung Hoo Lee19 hours ago

Scratched On Saturday With Back Tightness
Cody Bradford19 hours ago

Won't Throw For At Least Four Weeks
Washington Commanders20 hours ago

Clelin Ferrell Returning To Washington
New York Jets20 hours ago

Kris Boyd Signs With The Jets
Los Angeles Chargers20 hours ago

Mekhi Becton Inks Deal With Chargers
Tyler Johnson20 hours ago

Links Up With Jets
Kyle Juszczyk21 hours ago

Returns To 49ers
Eeli Tolvanen1 day ago

Scores Twice In Victory
WPG1 day ago

Kyle Connor Strikes Twice On Friday
Jack Roslovic1 day ago

Tallies Goal, Assist In Friday's Victory
Leon Draisaitl1 day ago

Leads Edmonton To Victory
Liam O'Brien1 day ago

Exits With Undisclosed Injury
Josh Manson1 day ago

Exits On Friday
Atlanta Falcons1 day ago

Falcons Agree To Terms With Morgan Fox
Indianapolis Colts1 day ago

Colts Sign Corey Ballentine To One-Year Deal On Friday
Pittsburgh Steelers1 day ago

Brandin Echols Signs Two-Year Deal With Steelers
Kenny Yeboah1 day ago

Signs One-Year Deal With Lions
Avery Williams1 day ago

Signs With Eagles
Kene Nwangwu1 day ago

Jets Re-Sign Kene Nwangwu To One-Year Deal
Simi Fehoko2 days ago

Signing With Cardinals
Karel Vejmelka2 days ago

Makes Ninth Consecutive Start Friday
Dustin Wolf2 days ago

Set To Face Avalanche Friday
Roman Dolidze2 days ago

Set For A Rematch
Marvin Vettori2 days ago

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

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

Looks For His 12th UFC Win
Kurt Holobaugh2 days ago

An Underdog At UFC Vegas 104
Alexander Hernandez2 days ago

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

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

A Favorite At UFC Vegas 104
Brendson Ribeiro2 days ago

Searching For Second UFC Win On Saturday
Diyar Nurgozhay2 days ago

Set To Make His UFC Debut
MMA2 days ago

Seung Woo Choi In Dire Need Of Victory
Kevin Vallejos2 days ago

Makes Debut At UFC Vegas 104
Jacob Bridgeman4 days ago

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

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

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

A Sneaky Play At TPC Sawgrass
Sahith Theegala4 days ago

Out Of Form Ahead Of The PLAYERS Championship
Matt Fitzpatrick4 days ago

A Shaky Play Heading Into PLAYERS
Scottie Scheffler4 days ago

Eyeing Three-Peat At TPC Sawgrass
Aldrich Potgieter4 days ago

A Risky Play At TPC Sawgrass
Si Woo Kim4 days ago

Looks To Keep Building Momentum At The PLAYERS
Denny McCarthy4 days ago

Looks To Continue Solid Play At TPC Sawgrass
Collin Morikawa4 days ago

Poised For Another Strong Performance At TPC Sawgrass
Robert MacIntyre4 days ago

A Risky Play With Upside At The PLAYERS Championship
Jordan Spieth4 days ago

Looking To Change Fortunes At TPC Sawgrass
Cameron Young4 days ago

Avoid Cameron Young At The PLAYERS Championship
Michael Kim4 days ago

Continues Incredible Form Ahead Of The PLAYERS Championship
Justin Thomas4 days ago

Looking For More Magic At TPC Sawgrass
Xander Schauffele4 days ago

Continues Competitive Return At The Players Championship
Rory McIlroy4 days ago

Looks To Reverse Recent History At TPC Sawgrass
PGA4 days ago

Victor Hovland Looking To Find Form At The PLAYERS Championship
Brian Harman5 days ago

A Sleeper Pick At The PLAYERS Championship
Min Woo Lee5 days ago

A Hard Name To Trust At The Players Championship
Alex Pereira6 days ago

Drops Decision At UFC 313
Magomed Ankalaev6 days ago

Becomes The New UFC Light-Heavyweight Champion
Justin Gaethje6 days ago

Gets Back In The Win Column
Rafael Fiziev6 days ago

Loses Third Fight In A Row
Ignacio Bahamondes6 days ago

Gets Submission Win At UFC 313
Jalin Turner6 days ago

Retires After UFC 313 Loss
Iasmin Lucindo6 days ago

Gets Dominated At UFC 313
Amanda Lemos6 days ago

Dominates At UFC 313
King Green6 days ago

Gets Knocked Out At UFC 313
RANKINGS
C
1B
2B
3B
SS
OF
SP
RP

RANKINGS

QB
RB
WR
TE
K
DEF