RankFantasy

Park Factors Move Your Hitter and Your Pitcher in Opposite Directions

RankFantasy Staff

Almost everything in a fantasy baseball projection is an estimate. A hitter's season line is a guess about tonight. A pitcher's ERA is a guess about six innings that haven't happened. Even the probable starter you're planning around can be scratched at 4pm.

The ballpark is the exception. The moment the schedule is set, you know exactly where the game is being played — and you know, with more confidence than any other input, roughly how that building has treated runs for the last five years.

That makes park factor the most boring and most reliable component in the MLB Start Score. It's also the one most people apply in only one direction.

The same park, two opposite multipliers

A park factor above 100 means the park has produced more runs than league average; below 100 means fewer. We use the run factor as a straight multiplier, and it points opposite ways depending on who you're scoring:

Batter:      park_mult = run_factor / 100
SP and RP:   park_mult = 100 / run_factor

Coors Field carries a run factor of 115 in the values we run. A hitter playing there gets a park multiplier of 1.15. A pitcher throwing there gets 0.87. Petco Park sits at 94: a hitter gets 0.94, a pitcher gets 1.06.

Run the two ends against each other and the full spread is about 22%. The best hitting environment on the schedule is worth roughly 22% more to a bat than the worst one, and the worst pitching environment costs an arm the same 22%. That is not a rounding error, and it applies to every player in the game that night, regardless of form.

The inversion is the part that gets skipped. Managers reflexively upgrade hitters going into Coors and then leave their streaming pitcher untouched — the same building that just raised six bats lowered one arm by the identical factor.

Why it's a multiplier, not a bonus

Park factor scales the projection rather than adding to it, which means it does more for players who were already producing.

A hitter averaging 12 fantasy points a game in a 1.15 park projects to 13.8 — a gain of 1.8. A hitter averaging 5 in the same park projects to 5.75, a gain of 0.75. Same park, same multiplier, less than half the absolute benefit.

This is the practical takeaway for streaming: the park is a tiebreaker, not a trump card. It reliably separates two similar players. It does not rescue a bad one. If you're choosing between a replacement-level bat in Coors and a genuinely good bat in a neutral park, the good bat usually still wins, because 15% of a small number is a small number.

What the numbers actually are

Our park factors are FanGraphs' five-year regressed values, published on their park factors page. Five-year regressed means they're deliberately slow-moving — a single fluky season doesn't swing a park's rating, which is what you want from an input meant to describe a building rather than a summer.

Two honest limitations, because they affect how much weight the number deserves:

They are hardcoded, not live. FanGraphs blocks automated requests from CI, so these values are copied into the ETL by hand once per season rather than fetched nightly like everything else on the site. Every other MLB input refreshes automatically; this one depends on a person remembering. If you're reading this well into a season, the park values are from the prior season's publication and haven't moved since.

Only the run factor is scored. We store a separate home-run factor for each park — Coors is 118, Petco 92 — but the Start Score's park multiplier uses run factor alone. In a category league where home runs carry their own weight, the HR factor is worth looking at independently. It isn't baked into the 0–100.

And the ordinary caveats: a park factor is a season-long average, so it says nothing about tonight's wind, temperature, or whether the roof is closed. It's the base rate, not the forecast.

Where to see it in the tools

The park component shows up in three places, at different resolutions:

The MLB Start Score shows a park score alongside form and matchup. That's a percentile within the player's position bucket, not the raw factor — an 88 park score means this player's park situation ranks in the 88th percentile among catchers tonight, not that the park factor is 88.

The MLB Fantasy Matchup Rater shows the raw park factor per game, using the home team's park. This is the one to check when you want the actual number rather than its rank.

The MLB Pitcher Report carries the park score for every named probable starter, which is where the inverted multiplier does the most work. A mid-tier arm drawing a pitcher-friendly park is the streaming profile the park component is best at surfacing.

The one-line version

Check the park for both sides of every decision, not just the bat. Treat it as a tiebreaker between comparable players rather than a reason to start someone you otherwise wouldn't. And know that it's a five-year average of a building, refreshed once a season — precise about the venue, silent about tonight.

Compare tonight's parks across the slate at RankFantasy's MLB Fantasy Matchup Rater.

All content is for fantasy baseball informational purposes only — not betting, DFS, or financial advice. Data via MLB Stats API (statsapi.mlb.com) and FanGraphs park factors. Not affiliated with or endorsed by MLB or any MLB club.