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
Compare Any Players
Rookies & Call-Ups
24x7 News and Alerts

2021 MLB Strength of Schedule - In Depth Analysis

Jon Anderson dives into the numbers to investigate which pitchers and hitters had the toughest and easiest schedules in the 2021 MLB season for fantasy baseball analysis.

Strength of schedule analysis is a common thing you'll see in fantasy football analysis. With just 16 (17 now, I guess) games on the schedule every year, the list of teams on your schedule can make a big difference in your final year metrics. If you get to face the league's worst offense twice while other teams don't face them at all, that makes a big difference.

Things are different in baseball. Strength of schedule metrics tend to even out over that big of a data sample. Most people realize this inherently without it needing to be proven, so we don't often bother analyzing the schedules. Well, I bothered to do it.

The lack of a salary cap in Major League Baseball has really led to huge differences in the firepower on the league's teams. It feels ridiculous that the Pittsburgh Pirates and the Los Angeles Dodgers are in the same league and have to play each other. It's also true that the schedules aren't balanced out, teams play almost half of their games against teams in their division, which does end up giving some teams much easier goes of it throughout the long season. Let's get into this.

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

 

Pitchers

It is important for me to detail how I went about this, because it is probably not what you'd expect. With the massive MLB Savant pitch-by-pitch dataset and Python programming, I was able to quickly get each pitcher's schedule data based on the list of hitters they actually faced, rather than just looking at stats from the teams they faced. If a pitcher makes 25 starts, with two being against the Blue Jays, but they were lucky enough that George Springer wasn't in the Blue Jays lineup both times - that would make a difference, and just looking at end-of-year team offensive stats wouldn't account for it.

So for each pitcher that threw 1500 or more pitches (the equivalent of about 16 starts), I did the following:

  1. Listed all of the hitters they faced, leaving in the duplicates
  2. Got rid of the hitters that had fewer than 25 plate appearances so we could average the stats out without getting adverse effects from the really sample sizes (we don't want some guy went 0/3 this year to bring down the average SLG rate with the .000, for example).
  3. Merged in each hitter's end of year stats (SLG, K%, BB%, and Brl%)
  4. Averaged out the statistics for each pitcher

I hope that makes sense, here are the results all in one table.

The first thing I noticed here was that when you sort by slugging percentage (ascending), you don't find a player on an American League team until James Kaprielian is way down at #18, and only six of the top 30 spots were taken by AL pitchers. Not getting to face a pitcher two or three times a game makes a big difference over the course of the year, so it's always a great idea to upgrade any pitcher going from an American League team to a National League team, or at least that will be true as long as the DH doesn't become universal.

In terms of easiest schedules for fantasy-relevant pitchers, Luis Castillo, Zack Wheeler, Pablo Lopez, Kevin Gausman, Kyle Hendricks, Chris Bassitt, Tyler Mahle, and Lance McCullers Jr. stand out as they all are in the top 30 in lowest slugging percentages faced. Flipping slugging percentage around, we see that it was a tough year to be in the American League East division. Ten of the 15 toughest schedules were pitchers on the Orioles, Rays, Yankees, or Red Sox. Yusei Kikuchi pitched in the lighter hitting American League West division, but faced the Astros SIX times, and they were a brutal matchup all year long even while they were missing some key guys. I would be looking for a buy-low on Kikuchi next year.

Sorting by barrel rate we see more of the same, as that stat is strongly correlated with slugging percentage. Pitching for the Orioles was tough, as Jorge Lopez and Keegan Akin are both in the top five there. Shane McClanahan was put through the gauntlet in his rookie year, facing a 9.2% barrel rate and a .430 slugging percentage. Things aren't getting any easier next year for the guy, but maybe he will run into a few more starts outside of the division (nine of his 25 starts were against Boston, New York, or Toronto).

For the lowest barrel rates faced, we see a lot of National League West teams, with six of the top seven pitchers being on the Giants or Padres. That's pretty surprising since they had to face the Dodgers a bunch, but it is important to note that the Dodgers saw a ton of missed games from Mookie Betts, Max Muncy, and Cody Bellinger. The Giants caught the Dodgers on those soft patches quite a bit and guys like Kevin Gausman benefited from it (also facing the Rockies and Diamondbacks a bunch certainly helped).

The easiest strikeout schedules were more spread out between divisions, but you can still see lots of the leaders ending up in the National League Central and East divisions there. The toughest schedules for strikeouts were the American League West, which has everything to do with the Astros who just did not strike out this year.

You can go ahead and search a team abbreviation in that table and see the numbers for whomever you want.

full data in Excel form can be found here

I averaged this out further down two the division level, here are the results for each division and for each category we're talking about.

It was best to pitch in the NL Central or NL West, and really, really tough to be in the AL East. The other three divisions were pretty close together in the metrics, making for a neutral environment. Chances are this setup will stick around for next year, with slight changes as free agents sign and trades happen. Keep this table in mind when drafting pitchers for next year (although it's also important to recognize that this kind of stuff is typically baked into the ADP cake already).

 

Hitters

I did the same exact analysis again but this time flipping pitchers for hitters. For each hitter with at least 400 PA's in 2021, I looked at the full list of pitchers they faced and averaged out all of the end-of-year statistics from those pitchers. Then I averaged out each category for each hitter to come up with this table:

full data in Excel form can be found here

There are obviously a ton of hitters in the table above, but you can tell right away that the National League West was a tough place to hit in 2021. All but two of the hitters on the first page when you sort by slugging percentage were on the Diamondbacks, Padres, or Rockies. That will happen when you have to face the Dodgers and Giants a bunch, two of the best pitching staffs in the league. Sorting the other way, you see a lot of NL Central, AL Central, and AL East.

Jose Abreu had the easiest schedule of any hitter in terms of the average slugging percentage allowed by the full list of pitchers he faced. The 8.37% barrel rate there tied him with Whit Merrifield for first as well. It was a good year to be a hitter for the White Sox.

I broke it down by division here:

The AL East, AL Central, and NL Central all were pretty similar in terms of average slugging percentage faced, with the AL West and NL East a step-down but close, and then the NL West really stands out there at the bottom of the list. The strikeout rates were all very similar, and there's not much deviation in CSW rates either. The easiest places to hit for home runs were the AL East and the AL Central.

Note that this isn't the most reliable data here because it is skewed. For example, the Yankees hitters disproportionally faced pitchers who had to face a bunch of the Blue Jays as well, which would have bloated their numbers. The AL East pitchers may very well be much better than their numbers suggest, but they just ran into the elite offenses of the Blue Jays, Red Sox, and Yankees so much that the numbers don't bear that out. Even still, just thinking about the names on the pitching staffs in the AL East does a lot for us here. There just aren't many guys you would consider aces on those teams.

 

Conclusion

All of this stuff is best used for tie-breaker situations if you're deciding between players while ranking or drafting. It's not a great idea to take this strength of schedule data super seriously, but it's good to keep in mind at the more granular level. For example, I think I'll be pretty interested in drafting a guy like Yusei Kikuchi at the end of drafts next year seeing just how unfortunate his schedule was. He will likely only have to face the Astros three or four times next year rather than the six, which could make a significant difference on his numbers since you're only pulling 30 starts from a guy like that.

I would also be significantly upgrading any pitcher that gets moved from the American League to the National League, because we saw just how much easier NL pitchers have it in terms of the batters they have to face throughout the year.

I hope this helps, thanks for reading and feel free to reach out to me on Twitter @JonPGH with questions or other data requests!



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
Compare Any Players
Rookies & Call-Ups
24x7 News and Alerts

REAL-TIME FANTASY NEWS

Jake Cronenworth3 hours ago

Targeting Earlier Return
Liam Hendriks4 hours ago

Set To Return On Saturday
Jackson Merrill4 hours ago

Not Expected To Return Next Week
Martín Pérez4 hours ago

Martin Perez Will Undergo MRI On Saturday
Casey Schmitt4 hours ago

Expected To Hit Injured List
Brock Stewart4 hours ago

Expected To Return On Sunday
Luke Keaschall5 hours ago

Busy In MLB Debut
Jose Fleury5 hours ago

Continues Strong Start On Friday
AJ Smith-Shawver5 hours ago

Strikes Out Eight In Defeat
Marcelo Mayer5 hours ago

Tallies Seven RBI On Friday
Zyhir Hope5 hours ago

Hits Two Home Runs On Friday
Andrew Painter5 hours ago

Sharp In Second Rehab Outing
Tyler Anderson11 hours ago

Keeps Hot Streak Rolling Friday
Logan Webb11 hours ago

Fans 12 In Tough-Luck Loss
Carlos Rodón11 hours ago

Carlos Rodon Goes Six Scoreless To Snap Personal Losing Streak
Andrew Abbott11 hours ago

Dominates Orioles On Friday
Yoshinobu Yamamoto11 hours ago

Tosses Another Gem
Cam Smith11 hours ago

Hits Two Taters On Friday
Trevor Story11 hours ago

Mashes Pair Of Three-Run Homers
Zack Wheeler14 hours ago

Records 13 Strikeouts
LaMonte Wade Jr.15 hours ago

Out On Friday
Ja Morant15 hours ago

Cleared To Play Friday
Brandon Williams15 hours ago

Available Against Grizzlies
Anthony Davis15 hours ago

Will Play Friday Night
Gary Trent Jr.15 hours ago

Available For Game 1 Against Pacers
Taurean Prince16 hours ago

Returns To Bucks Lineup Saturday
NFL16 hours ago

Justin Hardee Sr. Waived With Non-Football Injury
Isaiah Stewart16 hours ago

To Return For Game 1
Ausar Thompson16 hours ago

Available For Game 1
Rui Hachimura16 hours ago

On Track To Play Saturday
Austin Reaves16 hours ago

Ready To Go For Game 1
NFL16 hours ago

Bills Release Armani Rogers, Branson Deen
Luka Dončić16 hours ago

Luka Doncic Removed From Injury Report
LeBron James16 hours ago

Listed As Probable For Game 1
Ben Sheppard16 hours ago

Probable For Saturday's Game 1
NFL16 hours ago

Kolton Miller Absent From Raiders' Voluntary Offseason Program
Kevin Durant16 hours ago

To Houston Already Losing Steam
Lauri Markkanen17 hours ago

Wants To Stay With The Jazz
NFL17 hours ago

Ross Blacklock Let Go By New York
Bennedict Mathurin17 hours ago

Expected To Play In Game 1 Saturday
Pascal Siakam17 hours ago

Available For Playoff Opener
Tyrese Haliburton17 hours ago

Returning From Two-Game Absence Saturday
Cade Cunningham17 hours ago

Available For Game 1 Against Knicks
Josh Hart17 hours ago

Back In Knicks Lineup Saturday
OG Anunoby17 hours ago

Good To Go For Game 1
Jalen Brunson18 hours ago

Available For Saturday's Game 1
NFL18 hours ago

Raiders Considering Drafting A Quarterback
Irv Smith18 hours ago

Sticking With Texans
Ryan Lindgren18 hours ago

Set To Return Saturday
NFL19 hours ago

Texans Expected To Draft Wide Receivers
Greg Dortch19 hours ago

Returning To Cardinals
Josh Manson19 hours ago

Available For Game 1
Mark Andrews19 hours ago

Could Be Traded Soon
Ondrej Palat19 hours ago

To Return For Start Of Playoffs
David Savard19 hours ago

Will Retire After Playoffs
NFL19 hours ago

Raiders, Falcons Could Have Interest In Jalen Ramsey
Robert Thomas19 hours ago

Good To Go Saturday
Matthew Tkachuk19 hours ago

Expected To Return For Game 1
19 hours ago

Raiders Are High On Ashton Jeanty
Jason Robertson19 hours ago

Considered Week-To-Week
Rome Odunze19 hours ago

To Hopefully Get More Involved
NFL20 hours ago

Dolphins Could Draft A Quarterback
James Cook20 hours ago

Could Stay Away From Voluntary Workouts
Leon Draisaitl1 day ago

Wins First Rocket Richard Trophy
Nikita Kucherov1 day ago

Bags Third Art Ross Trophy
Bryan Rust1 day ago

Scores Twice In Season-Ending Win
Igor Shesterkin1 day ago

Shuts Out Lightning With 27 Saves
Dylan Cozens1 day ago

Picks Up Three Points In Regular-Season Finale
Matvei Michkov1 day ago

Caps Off Rookie Campaign With Three-Point Effort
Brady Tkachuk1 day ago

Makes Early Exit For Precautionary Reasons
Jake Tonges1 day ago

Signs Exclusive-Rights Tender
Denver Broncos2 days ago

Broncos To Focus On RB Position In Next Week's Draft
Drew Lock2 days ago

Sam Howell, Drew Lock Expected To Compete For Backup Job
New York Giants2 days ago

Giants Leaning Toward Taking Best Player Available At No. 3
New Orleans Saints2 days ago

Ryan Ramczyk Announces His Retirement
Buffalo Bills2 days ago

Tre'Davious White Reunites With Buffalo
Aaron Rodgers2 days ago

Willing To Play For $10 Million A Year
Jakob Chychrun2 days ago

Returns Against Penguins
Rasmus Andersson2 days ago

Out Against Kings
Jonathan Huberdeau2 days ago

Sits Out Regular-Season Finale
Ryan Pulock2 days ago

Out On Thursday
Jake Sanderson2 days ago

Back In Action Thursday
Thomas Chabot2 days ago

To Be Rested Against Hurricanes
Claude Giroux2 days ago

Active On Thursday
Lucas Glover3 days ago

Looks To Rebound After Poor Performance
Daniel Berger3 days ago

Looking To Continue Solid Play At RBC
Sepp Straka3 days ago

Looking To Bounce Back At RBC
Justin Thomas3 days ago

Looking To Shake Off Poor Masters At RBC Heritage
Xander Schauffele3 days ago

Still Looking For Year's First Win At RBC Heritage
Maverick McNealy3 days ago

Is An Intriguing Play At RBC Heritage
Shane Lowry3 days ago

Looks To Shake Off Poor Masters Sunday At RBC Heritage
Will Zalatoris3 days ago

Eyes A Bounce-Back At RBC Heritage
Gary Woodland3 days ago

Could Add Some Surprise At Hilton Head
Sam Burns3 days ago

Hoping For Better Times At RBC Heritage
Sahith Theegala3 days ago

Still Trying To Put It All Together
Aaron Rai3 days ago

Might Be That Guy For Hilton Head
Robert MacIntyre3 days ago

All Or Nothing At RBC Heritage
Tom Hoge3 days ago

Still Playing Solid Heading To Hilton Head
Nick Dunlap3 days ago

Continues To Have Rough Stretch
Keegan Bradley3 days ago

Looks To Move On From Masters Performance
Matt Fitzpatrick3 days ago

A Boom-Or-Bust Option At RBC Heritage
Patrick Cantlay3 days ago

A Strong Play At RBC Heritage
Jordan Spieth3 days ago

Targets Another Strong RBC Heritage Showing
Collin Morikawa3 days ago

Eyeing Victory At RBC Heritage
Max Homa3 days ago

Breaks Through At The Masters
Alexander Volkanovski4 days ago

Reclaims Featherweight Title
Diego Lopes4 days ago

Drops Decision At UFC 314
Paddy Pimblett4 days ago

Remains Undefeated In The UFC
Michael Chandler4 days ago

Suffers TKO Loss
MMA4 days ago

Patricio Freire Gets Dominated In His UFC Debut
Yair Rodriguez4 days ago

Gets Back In The Win Column
Bryce Mitchell4 days ago

Gets Submitted At UFC 314
Jean Silva4 days ago

Gets Submission Win At UFC 314
Dominick Reyes4 days ago

Wins Third Fight In A Row
5 days ago

Austin Dillon Nabs His First Top-10 Finish Of The 2025 Season At Bristol
5 days ago

Ryan Blaney's Bold Strategies Fall Flat, Still Musters A Top-Five Finish At Bristol
5 days ago

Christopher Bell Finishes In The Top 10 After Falling Back Midway At Bristol
5 days ago

Ty Gibbs Earns His First Top-Five Finish Of The 2025 Season At Bristol
5 days ago

Chase Briscoe Quietly Scores First Career Top-Five Finish At Bristol
5 days ago

Denny Hamlin Cuts Into William Byron's Points Lead
5 days ago

William Byron Makes Best Of His Mediocre Qualifying Run With Sixth-Place Finish
5 days ago

Despite Engine Failure, Alex Bowman's Improved Speed Looks Promising
NASCAR5 days ago

A.J. Allmendinger Enters Playoff Picture With Surprise Bristol Top-10 Finish
RANKINGS
C
1B
2B
3B
SS
OF
SP
RP

RANKINGS

QB
RB
WR
TE
K
DEF