About this report
Baseball fans, really quick:
- if a pitcher leaves the Colorado Rockies, do you expect their stats to improve?
- if a hitter leaves the Colorado Rockies, do you expect their stats to get worse?
For most baseball fans, the answer to both of these questions is yes. For fantasy baseball managers, the 'Coors Effect' is a really interesting way to find higher value players than their previous years' stats would indicate.
And so, this report looks at players who moved into or out of Colorado and asks a fun fantasy baseball question:
What happened to their performance and usage in the next season?
The answer is not the cartoonish version of baseball. Hitters don't call crumble, and pitchers don't all blossom into Cy Young candidates once they escape the altitude. Or one might say, the "Rocky Mountain High". Baseball is way too strange for simple rules like that.
But under analysis the data does show a useful shape. Hitters moving into Colorado gained more clearly than hitters leaving Colorado declined. Pitchers leaving Colorado often improved their rate stats, especially ERA and WHIP, but they also lost innings. That is the part that matters for fantasy baseball and it's where all of you are going to have to dig into how your league works and run these numbers on your own - under some rule sets a better ERA on fewer innings can still be a worse roster outcome.
Why this is interesting
Coors Field has a reputation. Some of it is deserved because of physics. But I know a lot of fantasy managers, (for example this one guy named um, Hreg Gluska) who sometimes overprice this reputation into their player evaluations.
For fantasy baseball, the question is not whether Coors Field is unusual because it clearly is (that whole physics thing). The question is whether players moving to or from the Colorado Rockies creates usable information.
This report suggests that it does, but with some limits:
- hitters joining Colorado showed a stronger OPS gain than hitters leaving Colorado showed an OPS loss,
- hitters leaving Colorado showed a modest rate-stat decline without a major playing-time collapse,
- pitchers leaving Colorado showed clearer rate-stat improvement,
- pitchers leaving Colorado also showed a median innings drop,
- pitchers joining Colorado did not implode as consistently as the easiest joke would suggest.
That combination makes the report more useful when considered in tandem with your league's rules. If you would like the data this report is built from, you have two options:
- I generated it all with a Python script running on the Lahman Baseball Database, specifically the Appearances, Batting, People, Pitching and Teams tables.
- If you open up your browser's developer tools and go to the network tab, you will find a file called data.json. It's all yours with absolutely no rights reserved. Though you know, I like beer and talking about baseball. Maybe you do too?
How to read the table
The table contains strict adjacent-season movement records. A player is included when he had exactly one MLB team in year N, exactly one MLB team in year N+1, and one of those teams was Colorado while the other was not. If that makes your mind hurt, you should see the whiteboard I used to come up with that. And if you think that's bad, wait until you see my next few reports when I start looking into pitcher longevity.
The table defaults to primary-filtered records. For hitters, that means at least 100 at-bats and 150 estimated plate appearances in both seasons. For pitchers, that means at least 30 innings in both seasons.
Defining what players to include was a bit of a process and I published the most strict possible list of players. As I loosened up the criteria, I got all the way to a list of over 1100 players. All the directions stayed the same as in this sample, but the ranges got absolutely crazy... as an example, there was a 54.57 run spread in ERA on the full 1100 player loose sample. :)
The main fields are:
- Player: the Lahman player record and player name.
- Type: hitter or pitcher.
- Direction: joining Colorado or leaving Colorado.
- Seasons: the before and after seasons being compared.
- Move: the before and after teams.
- Primary rate change: OPS for hitters, ERA for pitchers.
- Usage change: estimated plate appearances for hitters, innings pitched for pitchers.
- Secondary rate change: SLG for hitters, WHIP for pitchers.
- Note: whether the row belongs to one of the main interpretive buckets.
Positive and negative values do not always mean the same thing. For hitters, a positive OPS or SLG change is usually good. For pitchers, a negative ERA or WHIP change is usually good. Innings are different again because more innings can be useful even when the rate stats get messier.
Methodology
The report uses regular-season Lahman baseball data from 1993 through 2025. Colorado began play in 1993, so earlier seasons are not relevant to this report.
The script builds four strict movement groups:
- hitters leaving Colorado,
- hitters joining Colorado,
- pitchers leaving Colorado,
- pitchers joining Colorado.
A movement is detected when a player has exactly one MLB team in year N, exactly one MLB team in year N+1, and one of those teams is Colorado while the other is not Colorado.
The report does not use postseason records. It does not try to infer transaction type nor does it really deal with it properly. It does not try to determine whether a player was traded, signed, released, claimed, injured, blocked, promoted, demoted, or otherwise baseballed into a new situation. Please note - sometimes when I draft players to my fantasy team it's as if they've been swallowed up by the earth. I include that under 'baseballed'.
The calculations are intentionally direct. Hitter plate appearances are estimated as:
AB + BB + HBP + SF + SH
Pitcher innings are calculated as:
IPouts / 3
Rate changes compare the after season against the before season. For example, a pitcher whose ERA falls from 5.50 to 4.50 has an ERA change of -1.00.
Why the strict method matters
Earlier on I talked about how I did a looser player pass and came out with roughly 1100 players to analyze. That was an interesting data set and analyzing it taught me a lot. But the published report uses the strict dataset.
Baseball movement data gets really noisy fast. Same-year trades, partial seasons, pitchers batting in old National League data, injuries, role changes, and tiny samples can create really wild numbers. Those rows were useful because they showed me that even if I took the broadest sample of players imaginable, the relationship that I found here in this very strict report still held.
The strict method gives up a lot of sample size to make it easier to interpret. It asks a narrower question and I think without all this noise, it answers that question a lot more cleanly.
In future reports, I'm going to dig into this whole thing a lot more. In a week or two, I'm going to publish some work I've done on pitcher longevity where I look at what happens to pitchers long term after they leave the Rockies. I'm also going to do another report (again on pitchers) where I use the exact same criteria and analyze pitchers who leave or join the Rockies against all pitchers who leave or join other teams.
What the data suggests
The headline finding is asymmetric.
For hitters, the Coors movement effect is real but modest. Hitters leaving Colorado had a median OPS decline, while hitters joining Colorado had a larger median OPS gain. That does not mean every hitter follows the pattern. It means the group-level signal points in the direction fantasy managers would expect, but not loudly enough to ignore the player’s age, health, role, and talent.
For pitchers, the rate-stat signal is clearer. Pitchers leaving Colorado had a median ERA improvement and a median WHIP improvement. That sounds like a clean buy signal until usage jumps in. The same group also lost median innings.
That is the biggest fantasy baseball lesson here and the reason I'm going to dig deeper into pitching: leaving Colorado may improve a pitcher’s rate stats, but workload (and your league's rules) still decides whether the player helps enough to matter.
Accessibility notes
This report is built around text and tables first. The summary cards are useful, but the full table contains the real data.
That matters because baseball data is often trapped in interfaces that are hard to use with screen readers. A buddy in my fantasy league is blind, and that has changed how I think about this kind of work. A chart can be helpful, but it should not be the only way to understand the report.
The table can be searched, filtered, and sorted. The result count updates after filtering. The data uses normal headings, captions, and table headers so screen reader users can move through it without depending on color or chart-only meaning.
Most importantly, accessibility is a lifelong process. I am still learning. If something does not work, I am sorry, and I would appreciate the chance to fix it. Please contact me if you find a problem.
And what did we learn?
The usual Coors Field story is too simple.
Hitters do show movement effects, especially when joining Colorado, but the change is not large enough to treat every player the same way. That makes sense because different players blossom at different times and for different reasons. You have to dig a lot deeper into these players to see if they fit into your team and to start predicting future performance. Pitchers leaving Colorado show more obvious rate-stat improvement, but that improvement comes with a workload warning because they tend to pitch fewer innings. And depending on how your league scores pitching, you could gain in stats but still lose because of work.
So the fantasy takeaway is nowhere near a rule. It is a checklist:
- Did the player move into or out of Colorado?
- Did the rate stats change in the expected direction?
- Did the player keep the playing time or innings?
- Was the role stable?
- Is this a player skill story, a park story, or a usage story?
That last question is where the next report lives. The pitcher side is very interesting and justifies a deeper look at workload retention, both in a longer than one season window and compared against other teams.