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

Scott Laughton

to Miss Sunday's Action
Ryan McDonagh

Exits With Injury Saturday
William Karlsson

Out Day-to-Day
Warren Foegele

Ready to Rejoin Kings Lineup Sunday
Jalen Chatfield

Out Indefinitely
Dougie Hamilton

to Miss at Least One Week
Harold Fannin Jr.

Likely Good to Go Against the Jets
Cedric Tillman

Anticipated to Play on Sunday
Tetairoa McMillan

Likely Playing on Sunday
D'Andre Swift

Anticipated to Play Against the Giants
Garrett Wilson

Expected to Suit Up in Week 10
Luke Kennard

Out On Saturday Night Against Lakers, Will Miss Second Straight Game
Maxi Kleber

Will Make Season Debut Saturday Night Against Hawks
Dean Wade

Questionable For Saturday Night Against Bulls
Larry Nance Jr.

Listed As Questionable For Saturday Night Against Bulls
Jared McCain

Available For Saturday Night Against Raptors
Ryker Evans

Comes Off Injured Reserve
Bilal Coulibaly

Officially Out For Saturday Night Against Mavericks
Joey Daccord

Kraken Place Joey Daccord on Injured Reserve
Jordan Kyrou

Rejoins Blues Lineup Saturday
Anthony Cirelli

Won't Play on Saturday
Casey Mittelstadt

Misses Meeting With Maple Leafs
Charlie McAvoy

Sits Out Saturday's Game
Sean Monahan

a Game-Time Decision Saturday
Tetairoa McMillan

Trending Towards Playing in Week 10
Jamal Murray

Listed As Questionable For Saturday Night Against Pacers
Aaron Gordon

Questionable For Saturday Night Against Pacers
Norman Powell

Listed As Probable For Saturday Night Against Blazers
Jaime Jaquez Jr.

Listed Questionable For Saturday Night Against Blazers
Bam Adebayo

Ruled Out For Second Straight Game
A.J. Brown

Off Final Injury Report, Set To Play Monday Versus Packers
Jalen Johnson

Questionable For Saturday Night Against Lakers
Saquon Barkley

Cleared From Final Injury Report, Good To Go For Monday
Nickeil Alexander-Walker

Listed As Questionable For Saturday Against Lakers
Ayo Dosunmu

Listed As Probable For Saturday Night Against Cleveland
Jakob Poeltl

Ruled Out For Saturday's Matchup Against Sixers
Justin Fields

Set to Start in Week 10 Against Browns
Aaron Jones Sr.

Expected to Play Sunday Against Ravens
Kristaps Porzingis

Ruled Out Versus the Lakers
Darius Garland

Resting on Saturday Night
Kyshawn George

in Danger of Missing Another Game on Saturday
Dereck Lively II

Not Expected to Face the Wizards
Daniel Gafford

on the Injury Report for Saturday Night
Anthony Davis

Questionable to Play Versus the Wizards
Brock Purdy

Could Return in Week 11
Jayden Daniels

Could Return After Three Weeks
Kyler Murray

Future with Cardinals in Limbo
Tyrone Tracy Jr.

Will Remain the Giants' Starting Running Back
Artemi Panarin

Ends Dry Spell With Three-Point Outing
Marcus Johansson

Extends Point Streak to Eight Games
Spencer Knight

Posts First Shutout of the Season
Matt Duchene

to Remain Out Saturday
Zayne Parekh

Expected to "Miss a Little Bit of Time"
Frank Nazar

Day-to-Day Following Friday's Early Exit
Rashid Shaheed

Could Play Extensively in Seahawks Debut
Aaron Judge

Headlines AL Silver Slugger Award Winners
Terry McLaurin

Officially Ruled Out for Week 10
Puka Nacua

Will Play in Week 10
William Eklund

Moved to Injured Reserve
Gustav Nyquist

Expected to Remain Out Friday
Brock Purdy

Questionable Again, Won't Start in Week 10
Garrett Wilson

Listed as Questionable for Week 10, Expected to Play
Shohei Ohtani

Headlines List of NL Silver Slugger Winners
MLB

Munetaka Murakami Officially Being Posted on Friday
Alvin Kamara

Listed as Questionable for Week 10
Aaron Jones Sr.

Questionable for Week 10
Randy Brown

Set For UFC Vegas 111 Main Event
Gabriel Bonfim

Looks To Extend His Win Streak
Joseph Morales

A Favorite At UFC Vegas 111
Matt Schnell

Set For UFC Vegas 111 Co-Main Event
Uros Medic

Aims To Win Back-To-Back Fights
Muslim Salikhov

Looks For His Fourth Consecutive Win
Chris Padilla

Looks To Remain Unbeaten In The UFC
Ismael Bonfim

Looks To Get Back In The Win Column
Marco Tulio

Looks To Remain Undefeated In The UFC
Christian Leroy Duncan

Set To Open Up UFC Vegas 111 Main Card
Kyle Tucker

Headlines List of 13 Players to Receive Qualifying Offers
Pete Fairbanks

Becomes a Free Agent
CFB

Luke Fickell Will Return as Wisconsin's Head Coach in 2026
Bo Bichette

Blue Jays Extend Qualifying Offer to Bo Bichette
Craig Stammen

Named Padres New Manager
Jorge Polanco

Declines his 2026 Option to Become a Free Agent
Chris Sale

Braves Picking Up Chris Sale's 2026 Option
Michael Thorbjornsen

Poised to Continue Hot Play in Mexico
Davis Riley

Struggling to Find Form Ahead of World Wide Technology Championship
Taylor Montgomery

Leaning on Putter at World Wide Technology Championship
Stephan Jaeger

Offers Strong Value at World Wide Technology Championship
Ben Griffin

Looks to Stay Hot at El Cardonal
Nick Dunlap

Looking to Find His Game at El Cardonal
Wyndham Clark

Searching for Consistency at El Cardonal
Michael Brennan

Aims to Extend Fairytale Start at El Cardonal
Shane Bieber

Staying in Toronto for 2026
Salvador Perez

Agrees to Two-Year Extension With Royals
Trevor Story

Opts in for Remaining Two Years on his Contract
Yu Darvish

to Miss All of 2026 Following Flexor-Tendon Surgery
Shota Imanaga

Becomes a Free Agent
Luis Robert Jr.

White Sox Pick Up 2026 Option on Luis Robert Jr.
CFB

LJ Martin Expected to Play in Top-10 Matchup Against Texas Tech
PGA

LIV Golf Expanding To 72-Hole Format In 2026
Atlanta Braves

Braves Hire Walt Weiss as Their Next Manager
Kris Bubic

Cleared to Begin a Throwing Program
Brandon Woodruff

Declines Mutual Option for 2026
Freddy Peralta

Brewers Exercise 2026 Option on Freddy Peralta
Lucas Giolito

Declines his 2026 Player Option
J.J. Spaun

Finishes Sixth at Procore Championship
PGA

Matti Schmid Finishes Tied for 46th at Baycurrent Classic
Keith Mitchell

Finishes Tied for 10th at Baycurrent Classic
Si Woo Kim

Finishes Tied for 21st at Genesis Championship
Mackenzie Hughes

Misses The Cut at Sanderson Farms Championship
Max Greyserman

Finishes Second at Baycurrent Classic
Austin Eckroat

Finishes Tied for 56th at Baycurrent Classic
Luke Clanton

Finishes Tied for 56th at Bank of Utah Championship
Pete Alonso

Officially Opts Out of his Contract With Mets
Kyle Larson

Wins His Second NASCAR Cup Series Championship at Phoenix
Ryan Blaney

Concludes the 2025 Season with A Win at Phoenix
William Byron

Strong Championship Effort Ends With Late-Race Flat-Tire Crash
Denny Hamlin

Overtime Four-Tire Call Costs Denny Hamlin the Championship
Chase Briscoe

Championship Bid Never Really Started After Two Tire Failures
Brad Keselowski

Nearly Steals Phoenix Race
David Onama

Suffers First-Round TKO Loss
Steve Garcia

Scores First-Round TKO Win
Ante Delija

Suffers His First UFC Loss
CFB

Dylan Raiola Suffers Season-Ending Injury
Waldo Cortes-Acosta

Gets Knockout Win
Themba Gorimbo

Drops Decision At UFC Vegas 110
Jeremiah Wells

Gets Back In The Win Column
Yadier del Valle

Remains Undefeated
Isaac Dulgarian

Cut By UFC Following Submission Loss
Daniel Frunza

Still Winless In The UFC
Charles Radtke

Dominates Daniel Frunza
Allan Nascimento

Gets Submission Win

RANKINGS

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