Goal: rank the three partner leagues by actual player-talent
quality — not by raw stat aggregates (which conflate league strength
with park environment) and not by who wins what crown.
How we get there:
Park factors first. For each park, in each season,
we measured how much that stadium inflates (or suppresses) runs vs
the team's road games. Each park gets a PFR Bayesian-shrunk
against a neutral 1.00 prior (n0 = 30 games) so small
samples don't blow up. 469 park-seasons computed.
Examples: Lexington 1.21 (hitter park), Lake Erie 0.75 (pitcher park),
El Paso 1.47 (extreme hitter park).
Find players who appeared in 2+ leagues. We identified
2,212 crossover players across the three leagues
(392 played in all three), matched by normalized
name + birth year + handedness where available.
Park-adjust every season they played. For each crossover
player we recomputed their per-season OPS (batters) and ERA
(pitchers) and divided OPS by √PF / multiplied ERA by PF using the
park factor for their team-season. This strips the stadium effect
out before we compare leagues.
Pair-wise log-ratio regression. For each player who had
≥50 PA (batter) or ≥15 IP (pitcher) in each of two leagues, we
computed the log-ratio of their park-adjusted OPS / ERA between
those leagues. PA-weighted across all crossover players gives the
pairwise league-strength coefficient. Three pair estimates
(ALPB↔FTL, ALPB↔AAPB, FTL↔AAPB) are reconciled by 2-variable
least squares anchored at ALPB = 1.000.
Combined talent index. Each league's batter and
pitcher coefficient → inverted (since "easier league" = "weaker
opposing talent") → geometric mean → talent index.
That's the number you see ranked above.
Coefficients live (anchored ALPB = 1.000): computing…