This report is generated from a local JSON file. The table and filters run in your browser. No data is sent to a server, your usage is not tracked and this page will never have ads. You can even go offline now and the report will keep working.

When it comes to Coors Field, some of the legend is science - baseballs will travel further there. And some of the legend gets overpriced into fantasy baseball projections by certain people (like me, not mentioning any names but yeah, definitely me).

This legend has become part of fantasy baseball since the Colorado Rockies arrived in 1993 (which incidentally was the second year I played and so if you have ever wondered how cool I was in high school that should be a sign). This report does not try to settle every argument about altitude, scouting, roster fit, injuries, or park effects. Instead, it asks a very small fantasy baseball question that will be most relevant to teams that need one tool to get over the hump - what happened to performance and usage in the season after players moved into or out of Colorado?

The report uses regular-season Lahman batting and pitching data from 1993 through 2025. The primary table uses a strict adjacent season method: one team in the before year, one team in the after year, and Colorado on exactly one side of the move.

- Movement Summary -

The headline is not that every hitter becomes a pumpkin or every pitcher becomes a new human after leaving Denver. The interesting signal is more practical: hitter movement shows a modest OPS effect, while pitcher movement shows clearer rate improvement mixed with a workload tax.

Primary filter

Hitters must have at least 100 at-bats and 150 estimated plate appearances in both seasons. Pitchers must have at least 30 innings in both seasons.

Loading baseball report data.
filtered hitters leaving Colorado
filtered hitters joining Colorado
filtered pitchers leaving Colorado
median OPS change for hitters leaving
median OPS change for hitters joining
median ERA change for pitchers leaving
median WHIP change for pitchers leaving
median innings change for pitchers leaving
median ERA change for pitchers joining
median innings change for pitchers joining

Moving into or out of Colorado changes fantasy value, but the effect is asymmetric. Hitters show a modest OPS signal. Pitchers leaving Colorado often improve their rate stats, but the innings are not guaranteed to come along for the ride.

- Featured Examples -

These examples come from the generated report data. They are not cherry-picked as proof. They are useful because they show the shape of the movement groups before you dig into the full table.

Loading examples

The featured examples will appear after the report data loads.

- Full Movement Table -

Search by player, team, direction, or year. The table defaults to primary-filtered records because those are the safest rows to interpret. Use the checkbox to include all strict movement rows, including tiny samples and pitchers batting.

Turn this off to inspect the full strict dataset. The report conclusions should stay anchored to the filtered rows.

Waiting for table data.
Coors movement effects on performance and usage using strict adjacent-season Lahman records.
Note
Loading report data.

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:

  1. hitters leaving Colorado,
  2. hitters joining Colorado,
  3. pitchers leaving Colorado,
  4. 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.

Related Links

About Baseball Reports

These reports are small data projects built around practical baseball questions. The goal is to make the data readable, useful, and accessible instead of burying the good stuff inside a dense spreadsheet swamp.

About the Method

This page uses regular-season Lahman player records. It tracks observed adjacent-season movement into and out of Colorado. It does not infer transactions, injuries, park-adjusted value, or causality.