I'm really excited to expand on my last post, The WAR/G Aging Curve. If you haven't read that yet, I recommend doing so first for context. Here, we'll build on the same methods we used before to create what I'm calling skill-specific aging curves. This will allow us to compare how different types of players age rather than using a one-size-fits-all approach.
In my post, Deconstructing WAR, I showed how position players provide value across three dimensions: batting, fielding, and baserunning. Since these components of WAR are tracked and logged independently, we can easily extract them to form player "profiles" showing where each player excels. The visualization in that post showed how Ben Zobrist, for example, is remarkably balanced, ranking around the 75th percentile in all three areas. By contrast, someone like Billy Hamilton, despite providing above-average career WAR/G, was highly imbalanced, with nearly all his value coming from defense and baserunning alone. The takeaway? Two players can provide similar overall value through very different means.

Okay, it should be obvious that players provide value in different ways, but how do these different player types age? This is where breaking WAR into its components becomes useful. With the individual components, we can compute separate aging curves for each, looking at, for example, how fielding skill ages relative to batting skill. Ideally, this lets us build up intuition on how a player's value profile evolves with age. Is, for instance, a defensively oriented player or a slugger likely to have more longevity?
And we can go even further. Batting runs are based on the familiar wOBA statistic. As we'll see later, this allows us to go beyond a single batting curve, splitting it into types like contact and power hitters.
We'll borrow the same methodology used in our last post, The WAR/G Aging Curve, to create our aging curves. To recap: we built a WAR/G aging curve, first using a univariate version of a Generalized Additive Model (GAM) and then incorporated an "ability" term in our GAM formulation to account for skill level variation between players that could affect aging outcomes. We found that high career WAR/G players exhibited a more stable aging curve, whereas low career WAR/G players peaked earlier and had more drastic drop-offs.
We'll use this same GAM approach here. However, instead of applying it to WAR directly, we'll apply it to each component, creating three separate aging curves. We'll then extend the method to hitting typologies, binned by quantitative criteria that approximate skill set. This will tell us not only how batting, fielding, and baserunning age differently, but also how distinct hitter types tend to age.
To create our component aging curves, we use the same dataset used in the last post, which includes all qualified position player seasons from 2005 to 2024. Rather than tracking year-to-year changes for the same player, i.e., the Delta Method, we mix our player seasons together and group by age. For example, two players, a 32-year-old in 2007 and a 32-year-old in 2022 are placed in the same bucket. This avoids the need for consecutive same-player season data and lets us use nearly every data point in the set.
With the data organized, we run a univariate GAM regression to compute a spline for each component. Each player-season is centered against that player's career per-game average in batting, fielding, and baserunning. This yields the average aging curve for each component. While we could make this multivariate and add a baseline ability term (as we did with WAR/G), our focus here is on the relative differences between components, not the most precise estimate for each curve.
Shown below is each component charted relative to a typical MLB player's career average.
There are a few things to take away from this. First, Batting Runs clearly deviate most from a player's career average with both the highest peak and lowest low, telling us that Batting has the largest impact on the change in a player's career WAR, and consequently their WAR/G aging curve. This isn't surprising when you look at WAR leaderboards. Batting Runs tend to be much greater in magnitude than Fielding and Baserunning runs, contributing more to a player's overall WAR. It is interesting that batting skill seems to be the only one that actually shows growth early in a player's career while fielding and baserunning skill is highest essentially when a player enters the league and then immediately begins declining. To me, this suggests batting skill is the hardest skill to develop and players are still developing it when they enter the big leagues. At a certain point, the competing forces of skill development and aging effects reach a balance corresponding with a player's batting peak, before age begins to catch up with the player and cause a steady decline in batting skill.
Baserunning exhibits an almost linear decline throughout a career, and fielding value, while a bit noisier, still exhibits this steady decline. This generally matches our intuition. Baserunning value is highly dependent on speed, which we expect to be at its height when a player is young. Fielding, while also dependent on speed, can also be dependent on other factors like how efficiently a player moves to a ball, arm strength, and hand-eye coordination. Furthermore, fielding value is notoriously difficult to quantify. Even when you correct for positional value (some positions are considered more valuable than others) as we did here, you're still left with a noisy signal.
Out of the three curves, the Batting Runs curve most closely resembles our overall WAR/G curve with a clear increase in skill before plateauing around age 26 and reaching a maximum at age 27. If you remember our overall WAR/G aging curve, the peak value was around the age 26 season, slightly earlier than the Batting Runs peak. Here we can see that it's the negative effect of declining Baserunning and Fielding Runs that pull our WAR/G aging curve to the left.
As I stated earlier, we can further discretize batting runs to categorize hitter types. The batting run equation is based on weighted runs above average (wRAA) which is based on weighted on-base average (wOBA). The equations for each are shown below. Refer to this FanGraphs article for more info on the formulation.
The coefficients in the wOBA equation change slightly year to year based on the run scoring environment, allowing us to have a stat that is normalized by era and run scoring environment. Additionally, because wOBA weights value-added batting events based on their run value, we are left with an equation that allows us to identify hitter archetypes: for example, a Luis Arraez type (contact-driven) vs. a Kyle Schwarber type (power and walks).
There are numerous ways to categorize types of hitters. For the sake of limiting the number of permutations for our analysis, while still giving us useful insights, I'll divide our dataset into three hitter archetypes:
We can organize the player seasons in our dataset into these groupings. Because the WAR/G aging curve is a function of baseline skill level, not just age, it stands to reason that the batting runs, or wOBA, aging curves follow this same rule. To limit the complexity of this problem, rather than compute the multivariate aging curve for each grouping, I'll use the univariate GAM as we did for our component analysis, but it's important to note that this is a simplifying step that limits the extensibility of the results.
After splitting our dataset into the groups, we'll use the same data processing sequence we did before. This results in Batting Run / Game aging curves for each group, essentially telling us how, from a value perspective, each of these typologies age. Here's the result:
Of note, we're just looking at batting value as a function of age here as opposed to looking at the aggregate WAR/G aging curve for each typology. I did this to avoid correlations between hitter types and positions. TTO hitters, for instance, tend to play power-focused positions like first base and corner outfield more than contact hitters. I don't want the downstream value correlations of baserunning and fielding to be factored into this analysis so here we just look at the Batting Runs Aging Curve.
There are a few interesting observations here. First, TTO players come out of the gates hot, providing a lot of value early in their careers, but also have the quickest drop-off, crossing their career average threshold around age 33. OBP players seem to have the most potential to grow, exhibiting both the highest and latest peak of the three profiles. Contact hitters profile as the most consistent players, having the smallest deviation from their career average of the three.
It's important to note some limitations here. We are only looking at value relative to career average, meaning that we can't draw any conclusions on relative value of the skill sets. We are only looking at how the shapes of the aging curves differ. Another note is that this is a univariate GAM approach. As we showed in part one, the shape of the aging curve is a function of skill level as well. A way to expand this analysis in the future would be to convert the univariate GAM model to a multivariate GAM model as we did in the last post. Furthermore, we could chart the aging curves for more advanced stats like K% and ISO to see what skills are driving these aging trends for each hitter type.
We'll leave those investigations for another time. For now, I hope that these posts at least demonstrated the nuance of aging curves, and how reducing aging curves down to single-variable models that don't incorporate player skill or profile risk losing specificity. Whether a player ages like fine wine or milk, is, as it turns out, a loaded question.
Thanks for reading!