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

2021 MLB Strength of Schedule - In Depth 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.

Featured Promo: Get any MLB Premium Pass FREE ($119 value) AND up to a $200 deposit match when you sign up with Rival Fantasy. Rival offers 6 and 12-team Best Ball, weekly and daily contests, for as little as $3 per entry. No roster management, just draft and Rival sets your best lineup automatically. Playing fantasy baseball has never been easier! Sign Up Today!

 

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
Player Comparisons
Rookies & Call-Ups
24x7 News and Alerts

REAL-TIME FANTASY NEWS

Aaron Rodgers11 mins ago

No Restrictions For Aaron Rodgers During Offseason Workouts
Mac Jones44 mins ago

Jaguars Don't Pick Up Mac Jones' Fifth-Year Option
Jayden Daniels1 hour ago

Has A Chance To Start Immediately
Chase Claypool1 hour ago

Bills Sign Chase Claypool
Steven Matz2 hours ago

Lands On Injured List
Justin Steele3 hours ago

To Start On Monday
Steve Erceg3 hours ago

Has A Chance To Become A Champion
Alexandre Pantoja3 hours ago

Looks To Defend Flyweight Title
Seiya Suzuki3 hours ago

Taking Batting Practice
Justin Steele3 hours ago

To Throw Bullpen Saturday
Nathan Eovaldi3 hours ago

Undergoing MRI Exam
Jarrett Allen3 hours ago

Spotted At Shootaround On Friday
Jackson Chourio3 hours ago

Out Again Friday
Gary Harris3 hours ago

Remains Game-Time Decision
Josh Hart4 hours ago

Shines Again In Game 6 Victory
Michel Pereira4 hours ago

Ihor Potieria Faces Michel Pereira On UFC 301
Joel Embiid4 hours ago

Fouls Out With Big Stat Line In Losing Effort
Odell Beckham Jr.4 hours ago

Signing One-Year Deal With Dolphins
Michel Pereira4 hours ago

Looks To Extend Win Streak To Eight
Paul Craig4 hours ago

Looking To Rebound At UFC 301
Jalen Brunson4 hours ago

Leads Knicks To Series Win Over 76ers
Mason Miller16 hours ago

Could Spark Bidding War At Trade Deadline
Justin Lawrence16 hours ago

Headed For Paternity List
DJ Chark Jr.16 hours ago

Signs With Chargers
Kadarius Toney17 hours ago

Chiefs Decline Kadarius Toney's Fifth-Year Option
Matt McLain17 hours ago

Due For A Checkup
Braxton Garrett17 hours ago

Sharp In Rehab Start
Khris Middleton18 hours ago

Can't Lift Milwaukee To A Win
Brooks Raley18 hours ago

Mets Fear Brooks Raley Could Miss Rest Of 2024
Damian Lillard18 hours ago

Plays Well In Return
Merrill Kelly18 hours ago

Transferred To 60-Day Injured List
Jarrett Allen18 hours ago

Officially Questionable For Friday
Tim Hardaway18 hours ago

Jr. Still Out For Game 6
Gerrit Cole18 hours ago

Now Targeting Mid-June Return
Terance Mann18 hours ago

On The Injury Report For Game 6
Kawhi Leonard18 hours ago

Remains Out On Friday
Mitchell Robinson18 hours ago

Will Play In Game 6
Joel Embiid18 hours ago

Ready For Action Thursday
Jordan Hicks20 hours ago

Set To Start Friday Against Phillies
Juan Soto20 hours ago

Extends Hit Streak To 10 Games
Max Scherzer20 hours ago

Likely To Make Rehab Start Next Week
Edward Cabrera21 hours ago

Strikes Out Nine In No-Decision
Tyrese Haliburton21 hours ago

Officially Available On Thursday
Patrick Beverley21 hours ago

Ready For Action Thursday
Khris Middleton21 hours ago

Upgraded To Available
Giannis Antetokounmpo22 hours ago

To Remain Out On Thursday
Damian Lillard22 hours ago

Back For Bucks On Thursday
Cristian Javier22 hours ago

To Start Rehab Assignment This Weekend
Steven Stamkos22 hours ago

Begins Contract Talks With Lightning
Gary Harris22 hours ago

A Game-Time Decision For Friday
Brett Pesce22 hours ago

A Potential Option For Round 2
Sam Bennett22 hours ago

Should Be Good For Round 2
Adam Fox22 hours ago

Doesn't Skate Again On Thursday
Luke Schenn22 hours ago

Hopeful For Game 6
Auston Matthews22 hours ago

Out For Game 6
Nathan Eovaldi23 hours ago

Leaves Thursday's Start With Groin Tightness
Vaughn Grissom23 hours ago

Ready To Return Friday
Masataka Yoshida23 hours ago

Could Be Facing Surgery
Justin Fields23 hours ago

Steelers Decline Fifth-Year Option On Justin Fields
Najee Harris23 hours ago

Fifth-Year Option On Najee Harris Declined By Steelers
Alex Caruso23 hours ago

Wins NBA's Hustle Award
Jarrett Allen24 hours ago

Misses Practice Thursday
JuJu Smith-Schuster1 day ago

Could Be On His Way Out
Khalil Herbert1 day ago

A Trade Candidate?
T.J. Hockenson1 day ago

Ahead Of Schedule In His Rehab
Nick Chubb1 day ago

"Progressing Nicely"
Caio Borralho1 day ago

Gets Ranked Opponent At UFC 301
Vitor Petrino1 day ago

Puts Undefeated Record On The Line At UFC 301
Anthony Smith1 day ago

A Massive Underdog At UFC 301
Jonathan Martinez1 day ago

Faces A Legend At UFC 301
Jose Aldo1 day ago

Returns At UFC 301
New York Giants2 days ago

Giants Could Sign A Veteran Running Back
Dallas Cowboys2 days ago

Trevon Diggs Expected To Be Ready For Training Camp
Daniel Jones2 days ago

Has Been Cutting, Plans To Be Ready For Camp
Malik Nabers2 days ago

To Be No. 1 Receiver Immediately
Trey Lance2 days ago

Cowboys To Decline Trey Lance's Fifth-Year Option
Tyler Boyd2 days ago

To Meet With Chargers, Titans
Jonathon Brooks2 days ago

On Track For Training Camp
Zach Wilson2 days ago

Broncos Not Picking Up Zach Wilson's Fifth-Year Option
Taylor Pendrith2 days ago

A Volatile Option For CJ Cup
Seamus Power2 days ago

Rounding Into Form Ahead of CJ Cup
Davis Thompson2 days ago

A Player To Watch At CJ Cup
Aaron Rai2 days ago

Lacks Upside At TPC Craig Ranch
Min Woo Lee2 days ago

A Dangerous Pick For CJ Cup
Tom Hoge2 days ago

Seeking Second Tour Victory At CJ Cup
Filip Forsberg3 days ago

Collects Two Apples In Game 5 Win
Juuse Saros3 days ago

Comes Through For Predators In Game 5
Nathan MacKinnon3 days ago

Posts Two More Points In Series-Clinching Win
Mikko Rantanen3 days ago

Helps Finish Off Jets With Three Points
Joseph Woll3 days ago

Excellent In Series-Saving Win
Matthew Knies3 days ago

Bangs In Overtime Winner In Game 5
Evgeny Kuznetsov3 days ago

Posts Goal And Assist In Game 5
Seth Jarvis3 days ago

Puts Up Three Points In Series-Winning Game
Mark Hubbard3 days ago

Will Return To Mediocrity At TPC Craig Ranch
Doug Ghim3 days ago

Putting History In Texas Makes Him A Hard Sell
Nate Lashley3 days ago

Looking To Rebound At Byron Nelson
Kevin Yu3 days ago

A Flier Pick With Likeable Upside At Byron Nelson
Andrew Novak3 days ago

Playing Well Heading To TPC Craig Ranch
Patrick Rodgers3 days ago

Withdraws From CJ Cup Byron Nelson
Luke List3 days ago

In Solid Form Heading To TPC Craig Ranch
Tom Kim3 days ago

A Safe Option With A Questionable Ceiling At Byron Nelson
Taylor Montgomery3 days ago

Searching For Form At TPC Craig Ranch
Jason Day3 days ago

To Defend Title At TPC Craig Ranch
Adam Scott3 days ago

Returns To Action At TPC Craig Ranch
PGA3 days ago

Sungjae Im As Good Of A Pick As Any At TPC Craig Ranch
PGA3 days ago

Alex Noren Looks To Take Another Step At TPC Craig Ranch
Mackenzie Hughes3 days ago

Brings Hot Putter To TPC Craig Ranch
Cole Perfetti3 days ago

To Make NHL Postseason Debut Tuesday
Si Woo Kim3 days ago

Trendy Si Woo Kim Heads To Byron Nelson
Connor Hellebuyck3 days ago

Looking To Get Right Tuesday
Jeremy Swayman3 days ago

Back In Action On Tuesday
Matt Martin3 days ago

Out Again Tuesday
Vladislav Namestnikov3 days ago

Brenden Dillon, Vladislav Namestnikov Out Tuesday
Matt Grzelcyk3 days ago

Likely Back In Tuesday
T.J. Oshie3 days ago

Facing Uncertain Future
Chase Elliott4 days ago

Notches Another Top-Five Finish At Dover
Alex Bowman4 days ago

Frustrated After Finishing Eighth At Dover
Matheus Nicolau4 days ago

Knocked Out At UFC Vegas 91
William Byron4 days ago

Botched Pit Stop and Crash Eliminate William Byron From Contention at Dover
NASCAR4 days ago

Martin Truex, Jr. Faded to Third at Dover, but Remains Fastest Driver of 2024
Kyle Larson4 days ago

Late-Race Charge at Dover Comes up Short
Denny Hamlin4 days ago

Takes Checkered Flag at Dover for Third Win of Season
Alex Perez4 days ago

Scores Second-Round Knockout Win At UFC Vegas 91
MMA4 days ago

Ariane Lipski Loses A Decision At UFC Vegas 91
Karine Silva4 days ago

Remains Undefeated In The UFC
Jonathan Pearce4 days ago

Suffers Decision Loss
David Onama4 days ago

Wins Second Fight In A Row
Brad Keselowski4 days ago

A Tire Issue On Lap 118 Impacts Brad Keselowski's Day At Dover
Ryan Blaney4 days ago

Finishes Seventh At Dover
Noah Gragson4 days ago

Nabs A Quality Top 10 Finish At Dover
Kyle Busch4 days ago

Scores His Second Top-10 Finish Of The Year At Dover
Daniel Hemric4 days ago

Ends Up Ninth At Dover
Ty Gibbs4 days ago

Sneaks Into Tenth At Dover On Sunday
Martin Truex Jr5 days ago

. Is One Of The Top DFS Plays At Dover
Tyler Reddick5 days ago

Will Start Fourth At Dover
Michael McDowell5 days ago

Fade Michael McDowell For the Wurth 400 At Dover
Joey Logano5 days ago

Will Not Cause Much DFS Excitement At Dover
Noah Gragson5 days ago

Is Noah Gragson A Sneaky Tournament Play At Dover?
Uros Medic5 days ago

Returns To Win Column At UFC Vegas 91
Tim Means5 days ago

Gets Knocked Out At UFC Vegas 91
Austen Lane5 days ago

Winless In The UFC
Jhonata Diniz5 days ago

Wins UFC Debut
Ryan Spann5 days ago

Suffers Third Straight Loss
Kyle Larson5 days ago

the Favorite to Win at Dover Despite Qualifying 21st
Chase Elliott5 days ago

a Core DFS Play at Dover
Alex Bowman5 days ago

Always Strong at Dover
Chris Buescher5 days ago

Has DFS Place Differential Upside at Dover
RANKINGS
C
1B
2B
3B
SS
OF
SP
RP

RANKINGS

QB
RB
WR
TE
K
DEF