The St. Louis Cardinals have some work to do to be competitive in 2026

Nov 29, 2025 - 06:30
 0  2
The St. Louis Cardinals have some work to do to be competitive in 2026

This article is a result of a bunch of data queries I wrote to explore the idea you are about to read about. So it will be a little dense with data, hopefully not too much so. I purposely scheduled it for the holiday weekend, thinking people might be looking for something a little more in-depth and perhaps have a bit more time to ruminate on it. The original article got so long that I had to split it, otherwise it would have rivaled Oedipus Rex in length. This first part sets the stage for what kind of stars (and how many) does a good team need.

Earlier in the off-season, colleague Scott Plaza had some ideas about deals the Cardinals “could” make if the wanted to contend this year.  Highly summarized, he figured they’d trade a lefty bat, invest heavily in pitching, move Arenado AND Gorman, and find some power, anywhere! You can read it here.

That article, as many do, began a spirited discussion about whether they should or would try to compete and what exactly they’d need to do so. One commenter opened with the rhetorical question of:

“How many hitters better than Alec Burleson do the Cardinals need to be good?”. The commenter posited the answer as “four”. Turns out, the answer to this question is heavily influenced by a companion question “How many pitchers better than Sonny Gray do the Cardinals need to be good?”

Today, I’m going to take a data dive into the art of roster construction to see if I can answer those questions. This also tends to my interest in taking a narrative and understanding what is really behind it. 

I start with a narrative that many people nod their heads and agree with:

The Cardinals need more “stars” to compete.  They are well stocked with middling role players that can produce above-replacement level results but lack the true impact players needed to compete for anything more than a fringe wild card slot (and maybe not even that).

Or something along these lines.  Many of you could more succinctly re-state this and several of you probably will.  That is half the fun of this job.  But I think you get what I’m referring to.  At least I hope so, because it is the basis of the article you are reading.

But what does this narrative really mean?  When I hear or read it, the mental picture I get in my head of a “star” is Ohtani or Witt or Soto or Betts or Judge.  But there aren’t enough of these guys to go around and the Cardinals can’t afford them.  A star needs to be, for StL, a homegrown unicorn and they don’t have any of those right now.  I miss Pujols!

So, the picture in my head that adjoins the described narrative doesn’t work.  The Cardinals have no unicorns and can’t afford any that are available.  Instead, what can work toward building a competitive roster?  Other than waiting for the next unicorn, that is.

I delve into what it really means to have “stars” needed to compete.  Not at an abstract level, because we mostly understand and agree. We know it when we see it, right?  Instead, I want to parse more at a statistical level.  Essentially backcast prior actual performance (and outcomes) to identify a model of what a projected roster should look like going into a season, based on this “star” narrative. 

What exactly is a star level of performance needed to build a competitive roster?  How many stars does a team need to be really good?  Is there a mix of pitcher and hitter stars that is optimal?   What is, actually, a star?

I pulled out R Studio, blew off the dust that collected as plows churned up my back fields throughout the summer, and started writing queries.  I started with dissecting what successful teams look like, looking for commonalities.  I began to suspect someone has done this before me, but I haven’t found such work yet.  I’m sure someone will help me with this.

In the context of the narrative, what constitutes a star? I sought a way to identify and segregate “stars” at a statistical level. I queried player data from Fangraphs.com.  I took each player-season and broke it down into 10 percentile ranges and established the top and bottom of those ranges.  I split pitchers and hitters into two separate groups, because their percentile grouping thresholds are different, as shown below.   

TypeTop90th80th70th60th50th40th30th20th10thBottom
Hitters11.33.82.71.91.30.850.50.1-0.2-0.5-2.2
Pitchers7.52.51.61.10.80.50.30.150-0.25-1.6

This table is the output of one line of R code.  Actually, 2 lines.  One for pitchers, one for hitters:

quantile(fg.pitcher.ranked$pitcherWAR, probs = seq(.1, .9, by = .1))

quantile(fg.batter.ranked$batterWAR, probs = seq(.1, .9, by = .1))

Pretty neat, huh?  I should have paid more attention in Statistical Analysis class…

For all hitters, top 20th percentile is the group of players who produced 2.7 to 11.3 fWAR (11.3 being the outlier maximum for the time period selected. You know who.).  For pitchers, the top 20th percentile is the group of pitchers in the 1.6 to 7.5 fWAR range (again, 7.5 is the outlier maximum for the time period). 

In this analysis, the players that fall within the top 2 ranges (ie. Top 20th percentile) are my “stars”.  Some of you might think that the fWAR threshold of 2.7 (hitters) and 1.6 (pitchers) is too low for “stars”.   I tend to agree, so for the rest of my article, I will use the term “starZ” as a proxy for “players performing in the top 20th percentile of the league in a given season”.   It’s just shorthand so I don’t have to type out “players performing in the top 20th percentile” over and over, not a fixed definition of a “star”.

More to the roster building point, the “starZ” a team should seek are players that can be reasonably expected to perform at this level in the future.  So that 2.7/1.6 threshold is the floor of this subset.  The median value for “starZ” is 3.8 fWAR (hitters) and 2.5 fWAR (pitchers).  Good teams need a mix of players above and below this median, not just above the floor.

I could have chosen a subset that consists of only the 90th percentile.  But then I’d only have 45 or so hitters and an equal number of pitchers (or roughly 1.5 per team each).  That is too small a group for my purposes.  Since this is a roster construction exercise, it is too small for a Front Office, too.  Only few of those guys might be available at any given time, and if an FO concentrated on this small group alone, they may well find the acquisition cost too high and be unable to accomplish their goal.  They will then find themselves shuffling deck chairs while they wait for the next unicorn.  That is not a roster building strategy. 

I did check to make sure that the 90th percentile group wasn’t carrying the whole load even though I included the top 20th percentile. It isn’t. Most good teams (> 90 wins) have a mix of 10th and 20th. The key is to have enough starZ players that as a group average to the 90th percentile break (3.8 for hitters, 2.6 for pitchers). Achieving that average and having a good mix is more crucial than having more 90th percentile players. Having more never hurts (unless you were the 2023 Padres), but it isn’t crucial to building a 90-win (or more) roster.

In the end, I’m not saying a 2.7 fWAR hitter is a “star”, but it does appear that a good combination of top 20th percentile hitters (and their pitching equivalents) that can impact a team’s overall construction toward being playoff caliber.  These top 20th percentile players, the “starZ”, are the focus of my analysis.

You can see in this plot that most WAR for winning teams comes from their Top 20th percentile players.  The near 1:1 rise in total WAR vs. WAR from top 20th percentile tells us this visually.  It is hard to discern, but there is a bit of a curve in there. 

It turns out, the better teams received a greater % of WAR from their “starZ” than did lesser teams.  73% for 90+ win teams, 65% for teams in the 80-win group and 55% for teams below .500. Less starz, less total WAR, less wins.  Shocking, I know.  But now I have a measure of that. 

For casual interest, look at the bottom left, right along the X axis, where the Y-intercept is 0.  A couple of teams had no top 20th percentile players in a season.  They, of course, were near the bottom of total WAR accumulated and likewise near the top … in the losses category.  In the high 90’s or even 100+ losses.  Ouch.  How would you like to be a fan of one of those teams?   They are the inverse of this narrative.  100% of their puny total of accumulated WAR came from players who were NOT in the top 20th percentile.  Their win total was equally puny.

The methods

I restricted the selection to position players that had a minimum of 100 PA’s and pitchers that had a minimum of 20 IP.  I did this to keep the bit players out of the data set (to manage the size and focus on impact) while still including players who may have played a lot but not contributed much value above replacement.  This eliminated a bunch of near 0 WAR players, a subset so large that it re-defined what a top 20% player is in a non-helpful way.

I also excluded the shortened 2020 season.  And Fangraphs data forces me to exclude players that switched teams during the season.  This is a bug in the baseballr package.  I hope they fix it.  I don’t feel bad about excluding these guys, since none of those players were part of the pre-season roster construction exercise by the FO anyway. 

I then bucketed each selected player into the percentile groupings described above based on their fWAR.  The intent here was to find how stars contributed.  How much WAR?  How many stars?  Pitchers?  Hitters?  Both?  I focused on the count of players in each bucket, as I am more interested in how they assembled their team to get those wins and how many it took to get a good team assembled. 

Then I queried team outcomes from BaseballReference.com.  Wins and losses.  Playoffs (yes or no).  I originally looked at playoff qualifying teams as a means to define teams that were really good.  Of course, I discovered 1) the difficulty in accounting for the number of playoff qualifiers varying by season selected (12 now, 10 as recently as 2021, etc.) and 2) some really good teams didn’t make the playoffs and some not-so good-teams did. 

Instead, I ran some queries based on team win totals and came up with 90 wins as the differentiator between really good teams and not.  You will see in the graph below that 90 wins is the point at which teams reliably make the playoffs.  In terms of roster construction, a team wanting to compete regularly like the Cardinals need to have this as the minimum target. 

I then graphed the win totals compared to the number of “starZ”.  I embellished with playoff qualification and produced this scatterplot.

The dataset I used was restricted to 2012-2025.  I didn’t want to start averaging in results from other eras, such as lower number of playoff teams, the steroids era, etc. so I’m biasing the modern game, knowingly reducing the sample size.  Just as a consistency check, I did run this analysis for 2002-2011 and the results are remarkably similar.  As much as the game has changed, the target has not so much. I found myself surprised that the tiers I established really haven’t moved. It is so similar, I had to verify I didn’t run with the wrong dates.

What do we see in this scatterplot?

  1. From 2012 to 2025, there were 138 playoff teams (green shaded).  Of these, teams that had 9 or more “starZ” frequently won 90+ games and made the playoffs.  Only about 5% (9 total) of the 90+ win teams did not make the playoffs.  I wonder how many of those 9 teams had managers fired at the end of those seasons?  The 2023 Padres had 11 StarZ and only won 82 games.  Oh, and their manager got fired.
  2. There is a range of teams that have less than 9 “starZ” (usually 6, 7 or 8) that sometimes make the playoffs but more often did not.  These teams usually finished in the 81-89 win range.  This is shown as the middle tier labelled “Crapshoot”.  For years, the Cardinals have been roster constructing toward the bottom of this “crapshoot” tier.
  3. If a team had 5 or less “starZ”, then their chances of winning 90+ games and/or making the playoffs was virtually nil. It happens sometimes, though. 
  4. To be considered really good, a competitive team’s target appears to be a minimum of 90 wins (or 42 fWAR).  From a roster construction standpoint, this means they must build their team for this target as the floor.  Can the Cardinals roster be reasonably projected to produce enough (measured in fWAR) to win?” 

This target allows for some harsh realities that will impact the roster and the season and attempt to foil the thoughtful roster construction work.  A pitcher will break.  So will a reliever.  A previously stalwart hitter will collapse.  A well-constructed roster overcomes these realities.  As you see in the chart, there are some rare examples of 90 wins not resulting in playoff qualification.  It happens.  They are outliers, not the norm.

But what about the mix of pitching and hitting “starZ”? I have a chart below I think helps with that. The messiness of the points comes from using the nudge feature of scatter plots so each data point is shown.  For example, lots of teams had 4 star pitchers and 4 star hitters.  Without a nudge, we’d see one dot at x=4, y=4.  With the nudge you see something more.  (4,4) produces lots of 90-win teams, but far from guaranteed. Note how going from (4,4) to 4 pitchers and 3 hitters (4,3) influences the anticipated outcome. Something to chew on for the “pitching, pitching, pitching” advocates.

You can see in the chart above a couple of things.

  1. The distribution of Starz hitters and pitchers can vary and still yield a quality 90+ win team. 
  2. The average 90-win team has 4 top 20th starZ hitters and 4 starZ pitchers.  The average team has 9 total starZ. I know, 4+4 = 8, not 9.  But the query results split evenly between 5-4 and 4-5, and it’s hard to say a playoff team must have 4.5 good pitchers and 4.5 good hitters.  How does one have ½ of a good player?  To me, an FO building a competitive roster needs to find 9 starZ but has some leeway between pitching and hitting.
  3. The upper-right of the chart skews towards position players.  The way I read this chart is … a good team really needs at least 2 starZ pitchers, absolute minimum.  Once they get to around 4 such pitchers, how good they are is constrained by how many hitting starZ they have.  Peculiarly, it doesn’t work the other way around.   I suspect this is because high WAR pitchers are nominally starters and teams only have so many guys that could accumulate enough innings to accumulate the fWAR to be considered in the “starZ” group. It may not be mathmatically possible for a team to have 9 “starz” pitchers, but it sure is possible to have 9 such hitters.     

I’ll stop there. At 2,757 words, this article is long enough. Next week, I’ll circle back to this and talk roster building in the context of these findings, and really delve into the question “How many hitters better than Alec Burleson do the Cardinals need to be good?”

Thanks for reading. Discuss.

The second installment of this article will go into more depth on how the 2026 Cardinal roster might be manipulated to get closer to competitive. I have that scheduled for next week but could push it later today if folks want. Let me know. A third installment is possible, also, if enough interesting queries and/or challenges are posed to seed a third part.

What's Your Reaction?

Like Like 0
Dislike Dislike 0
Love Love 0
Funny Funny 0
Angry Angry 0
Sad Sad 0
Wow Wow 0