Method · age_cohort_change@v1
Age-cohort change
A hitter's year-over-year change in OPS, ranked against every other hitter who was the same age entering the season. It answers the question a raw decline cannot: was this normal for a player his age, or unusual? A 25th percentile result means three quarters of his peers did better.
The filter, exactly as it runs
plateAppearances >= 250
Parameters
min_plate_appearances | 250 |
age_window | 1 |
min_cohort | 15 |
Where this is arguable
- Cohorts are small. Pooling the ages either side of a player's own keeps the sample usable and blurs the edges of the comparison, so treat a percentile as a neighbourhood rather than a precise rank.
- Survivorship runs through the whole thing. A young hitter who collapses loses playing time and drops out of the next season's pool, which makes the surviving cohort look better than the full population of players that age and makes a decline look worse by comparison.
- OPS is blunt. It weights slugging and on-base equally and ignores park and league scoring environment, all of which move between seasons.
- Three seasons of data is a thin base for an age curve. The shape here matches the longer-run consensus that hitters improve into their mid twenties, but it is not independent confirmation of it.
These are the objections I already know about. If you have a better one, or you think a different threshold tells a truer story, say so and I will re-run it with your numbers and publish what comes back.
Version 1. Older versions are never deleted, so a piece that citesage_cohort_change@v1 stays reproducible after this definition is revised. Source: Data: nflverse (nflfastR), CC-BY 4.0