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.

Be sure to check all of our fantasy baseball lineup tools and weekly lineup 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
Player Comparisons
Rookies & Call-Ups
24x7 News and Alerts

REAL-TIME FANTASY NEWS

Miles Bridges20 mins ago

Won't Play On Thursday
Vince Williams Jr.28 mins ago

Out At Least A Month
Scottie Barnes34 mins ago

Returning On Thursday
Alex Ovechkin37 mins ago

To Miss 4-6 Weeks With Fractured Fibula
Paul George42 mins ago

Out At Least Two Games
Aaron Gordon44 mins ago

Availability In Question For Friday
Zach Hyman45 mins ago

Expected To Miss 4-7 Days
Kent Johnson55 mins ago

Back For Blue Jackets Thursday
Dorian Finney-Smith57 mins ago

Uncertain To Face The Sixers
Yaroslav Askarov1 hour ago

Makes Sharks Debut Thursday
Jalen Hurts1 hour ago

Practices In Full On Thursday
Nicolas Claxton1 hour ago

Questionable Versus Philly
Nikola Jokic1 hour ago

Absent From Practice On Thursday
Mikael Granlund1 hour ago

Good To Go Thursday
Cam Thomas1 hour ago

Probable On Friday Night
Alexandar Georgiev1 hour ago

Returns To Action Versus Capitals
Kentavious Caldwell-Pope1 hour ago

Out On Thursday Night
TB1 hour ago

Nicholas Paul Will Miss Thursday's Game
DeMar DeRozan2 hours ago

Intends To Make His Return Friday Versus Clippers
Frederik Andersen2 hours ago

To Miss 8-12 Weeks
Jake Ferguson2 hours ago

Still Not Practicing
Sam LaPorta2 hours ago

Looking Good For A Week 12 Return
Terry Rozier2 hours ago

Could Return For Sunday's Matchup With Dallas
Sam Darnold2 hours ago

Upgrades To Full Participation, On Track To Play
Isiah Pacheco2 hours ago

Remains Limited On Thursday
D'Andre Swift2 hours ago

Upgrades To Limited Participant On Thursday
Luka Doncic2 hours ago

Expected To Miss At Least A Week
CeeDee Lamb2 hours ago

Sidelined During Thursday's Practice
Ladd McConkey2 hours ago

Does Not Practice On Thursday
Mike Evans3 hours ago

Logs Full Practice On Thursday
DeVonta Smith4 hours ago

Misses Another Practice
Cody Bellinger4 hours ago

Cubs Looking To Trade Cody Bellinger?
Brandin Cooks4 hours ago

Preparing To Play In Week 12
CeeDee Lamb4 hours ago

Not Seen At Thursday's Practice
5 hours ago

Blake Snell Has Met With Red Sox, Dodgers
Aaron Rodgers5 hours ago

Jets Owner Suggested Benching Aaron Rodgers
Mike Evans7 hours ago

Practicing Again On Thursday
Chandler Stephenson8 hours ago

Registers Three Assists Versus Predators
Jason Robertson8 hours ago

Totals Three Points In Wednesday's Win
Nils Lundkvist8 hours ago

Exits Early With A Lower-Body Injury
Matthew Knies8 hours ago

Sustains An Upper-Body Injury
Mikael Granlund8 hours ago

Exits Late With Injury Wednesday
Patrik Laine8 hours ago

Returns To Practice
Ausar Thompson9 hours ago

Listed As Doubtful For Thursday
Walker Kessler9 hours ago

Still Missing For Jazz
Jordan Clarkson9 hours ago

Questionable To Face Spurs
Devin Vassell9 hours ago

To Miss Third Consecutive Game
Chris Paul9 hours ago

Considered Probable For Thursday's Game
Khris Middleton9 hours ago

Medically Cleared To Play
Chris Sale20 hours ago

Wins National League Cy Young Award
Tarik Skubal20 hours ago

Wins 2024 American League Cy Young Award
Paul George20 hours ago

Exits Game On Wednesday, Hyperextends Left Knee Again
Scoot Henderson21 hours ago

Leaves Game On Wednesday, Won't Return
Austin Eckroat22 hours ago

Heads To The RSM Classic After Win
Harris English22 hours ago

Finding Form Heading To The RSM Classic
Ben Griffin22 hours ago

Continues Playing Well Heading To The RSM Classic
Denny McCarthy22 hours ago

Returns to The RSM Classic
Josh Jacobs23 hours ago

Limited With Multiple Injuries
DeVonta Smith23 hours ago

Misses Practice On Wednesday
Seth Jones1 day ago

Expected To Miss Four Weeks
Sam Darnold1 day ago

Limited With Foot Injury
Max Domi1 day ago

Placed On Injured Reserve
Jalen Hurts1 day ago

Limited On Wednesday
Connor Ingram1 day ago

Out Day-To-Day With An Upper-Body Injury
Jake Ferguson1 day ago

Picks Up A DNP On Wednesday
Ukko-Pekka Luukkonen1 day ago

Returns To Action Versus Kings
CeeDee Lamb1 day ago

Listed As Limited, Dealing With Two Injuries
Alex Tuch1 day ago

Available Wednesday
Tage Thompson1 day ago

Remains Out On Wednesday
Sam LaPorta1 day ago

Practicing In Full
Jordan Eberle1 day ago

To Remain Out On Wednesday
Ludvig Aberg1 day ago

Looks To Defend RSM Classic Title
Si Woo Kim1 day ago

An Intriguing Option At RSM Classic
Maverick McNealy1 day ago

In Solid Form Ahead Of RSM Classic
Eric Cole1 day ago

Chasing First Tour Victory At RSM Classic
2 days ago

Guardians' Stephen Vogt Named AL Manager Of The Year
Milwaukee Brewers2 days ago

Pat Murphy Named NL Manager Of The Year
2 days ago

Nick Pivetta Declines Boston's Qualifying Offer
Jose Siri2 days ago

Mets Acquire Jose Siri From The Rays
2 days ago

Phillies To Meet With Juan Soto
2 days ago

Luis Severino Rejects Qualifying Offer From Mets
2 days ago

Willy Adames Declines Brewers Qualifying Offer
2 days ago

Teoscar Hernandez Declines Qualifying Offer From Dodgers
2 days ago

Juan Soto Declines Yankees' Qualifying Offer
Luis Gil3 days ago

Wins AL Rookie Of The Year Award
Paul Skenes3 days ago

Named 2024 NL Rookie Of The Year
Brady Singer3 days ago

Reds, Royals Discussing Jonathan India, Brady Singer
3 days ago

Sean Manaea To Reject Mets' Qualifying Offer
3 days ago

Braves Have Interest In Walker Buehler
3 days ago

Astros Interested In Willy Adames
Charles Oliveira3 days ago

Gets Back In The Win Column
Michael Chandler3 days ago

Gets Dominated At UFC 309
Karine Silva3 days ago

Suffers Her First UFC Loss
Viviane Araujo3 days ago

Gets Back In The Win Column
Mauricio Ruffy3 days ago

Extends His Win Streak To Six
Nick Martinez4 days ago

Signs Qualifying Offer With Reds
4 days ago

Luis Severino Likely To Decline Qualifying Offer From Mets
James Llontop4 days ago

Loses Clear-Cut Decision In Thrilling Fight At UFC 309
Paul Craig4 days ago

Loses Decision At UFC 309
Bo Nickal4 days ago

Remains Undefeated With Lackluster Performance At UFC 309
Stipe Miocic4 days ago

Retires After UFC 309 Loss
Jon Jones4 days ago

Gets TKO Win At UFC 309 To Defend Heavyweight Title

RANKINGS

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