Analytics

SABR-flavoured context-tier metrics · 753 games played · 235 qualifying batters (≥50 PA)
RE24-O27 · Run Expectancy by (bases, outs) 34371 events · 1506 halves · league-avg runs/half = 11.08
Each cell shows expected runs scored from this state to end-of-half. Outs are bucketed in 3s (the engine's natural arc). Read across a row to see how RE decays as outs accumulate; read down a column to see how RE rises with runners on base.
Bases 0-2 3-5 6-8 9-11 12-14 15-17 18-20 21-23 24-26
___ 10.73 (1791) 9.33 (672) 8.70 (560) 6.93 (507) 5.51 (464) 4.78 (424) 3.62 (445) 2.24 (470) 1.84 (382)
1__ 12.09 (872) 11.02 (667) 10.47 (573) 8.96 (600) 6.96 (545) 5.31 (460) 3.87 (507) 2.90 (493) 1.96 (390)
_2_ 13.62 (939) 12.14 (998) 10.59 (893) 9.34 (837) 7.50 (774) 5.83 (757) 4.69 (706) 3.46 (622) 2.72 (451)
12_ 12.99 (393) 11.31 (459) 10.05 (426) 8.12 (492) 6.52 (479) 5.82 (408) 4.79 (449) 3.32 (349) 2.31 (266)
__3 15.58 (499) 13.48 (539) 10.53 (586) 8.94 (575) 7.11 (543) 5.72 (467) 4.27 (474) 3.22 (486) 2.86 (361)
1_3 10.01 (207) 8.80 (299) 7.55 (337) 5.69 (367) 5.29 (366) 4.40 (292) 3.54 (347) 2.37 (304) 2.05 (257)
_23 9.15 (170) 8.19 (394) 6.38 (365) 5.71 (359) 4.37 (305) 3.69 (355) 2.87 (329) 2.46 (295) 2.29 (260)
123 10.82 (165) 8.47 (285) 7.26 (297) 6.24 (328) 4.86 (355) 4.03 (323) 3.54 (367) 3.02 (330) 2.44 (263)
Bunting rates · league barometer 1257 bunts · 2.33% of PA
Bunt rate (% of PA)
2.33%
Bunt-hit rate
30.2%
Squeeze share of bunts
8.0%
Run value / 100 bunts (RE24)
+18.7
Split Bunts Bunt%PA Hit% Sac share Sqz share
Pitchers 498 16.23% 15.3% 66.1% 0.0%
Position players 759 1.49% 40.1% 32.0% 13.2%
Team Bunts Bunt%PA Hit% Sac share Sqz share RV/100
BB1 30 4.56% 30.0% 40.0% 3.3% -37.7
KKK 29 4.33% 48.3% 31.0% 3.4% +45.9
JF 29 4.33% 24.1% 58.6% 10.3% +30.3
QBS 30 4.21% 36.7% 36.7% 6.7% +39.0
KRM 28 3.99% 42.9% 32.1% 3.6% +1.9
CNC 23 3.77% 34.8% 52.2% 8.7% +45.8
KBK 24 3.76% 37.5% 45.8% 0.0% +16.1
NYL 27 3.75% 14.8% 63.0% 7.4% -1.4
GB 24 3.73% 33.3% 29.2% 16.7% +9.9
FCW 25 3.56% 36.0% 36.0% 16.0% +9.2
HMR 24 3.50% 33.3% 33.3% 8.3% -33.4
CBK 22 3.48% 18.2% 54.5% 9.1% +46.7
OF 23 3.44% 30.4% 47.8% 4.3% +65.0
OS 23 3.30% 21.7% 34.8% 13.0% +19.3
MCP 24 3.27% 33.3% 58.3% 8.3% +7.6
PF 22 3.17% 27.3% 59.1% 4.5% -10.7
CCB 21 3.13% 33.3% 47.6% 14.3% +29.5
BIC 23 3.05% 21.7% 43.5% 8.7% +19.4
NE 20 3.01% 10.0% 45.0% 5.0% +35.5
WBC 19 2.90% 21.1% 52.6% 10.5% +56.8
HEE 19 2.89% 52.6% 31.6% 0.0% +16.5
MF 22 2.80% 40.9% 45.5% 4.5% +32.2
PDR 21 2.76% 33.3% 28.6% 9.5% -18.8
GP 20 2.72% 25.0% 55.0% 5.0% +25.3
GS 24 2.68% 16.7% 54.2% 20.8% -62.8
RE 20 2.66% 30.0% 30.0% 25.0% +38.8
HM1 18 2.60% 38.9% 50.0% 11.1% +91.2
HCC 19 2.53% 42.1% 47.4% 10.5% -27.3
MB 21 2.49% 28.6% 71.4% 4.8% -37.8
BNS 16 2.47% 37.5% 43.8% 18.8% +42.2
PPS 18 2.47% 38.9% 50.0% 5.6% -31.4
NYP 16 2.41% 31.2% 31.2% 12.5% +30.6
KO 16 2.36% 31.2% 43.8% 12.5% +29.3
LM 18 2.31% 11.1% 77.8% 5.6% +119.9
PC 18 2.28% 27.8% 66.7% 0.0% +40.5
ŽS 17 2.23% 29.4% 58.8% 5.9% -5.2
TF1 16 2.22% 12.5% 50.0% 6.2% +15.9
CBC 15 2.15% 26.7% 33.3% 13.3% +5.6
EI 15 2.14% 26.7% 53.3% 0.0% -12.0
SK 17 2.06% 52.9% 23.5% 5.9% +6.3
RDJ 14 2.02% 7.1% 57.1% 21.4% +76.4
OB 15 2.01% 53.3% 33.3% 6.7% +99.1
DGT 14 2.00% 28.6% 42.9% 7.1% -54.0
BBC 11 2.00% 18.2% 27.3% 9.1% +98.8
OH 15 1.98% 26.7% 46.7% 0.0% -95.6
DAF 15 1.96% 20.0% 53.3% 0.0% +11.7
TF 13 1.93% 7.7% 76.9% 0.0% +31.0
CS 14 1.92% 42.9% 42.9% 0.0% -24.8
BT 12 1.91% 41.7% 50.0% 0.0% +26.9
MP 12 1.90% 58.3% 33.3% 8.3% +39.3
PB 11 1.83% 18.2% 63.6% 0.0% +38.9
BB 12 1.82% 8.3% 58.3% 8.3% -42.0
SYC 12 1.80% 50.0% 25.0% 8.3% +48.2
KBC 13 1.79% 30.8% 38.5% 0.0% +107.1
SL 13 1.79% 30.8% 38.5% 7.7% -37.3
HM 13 1.79% 30.8% 38.5% 0.0% +47.6
NH 13 1.78% 30.8% 46.2% 0.0% -7.8
KTH 13 1.73% 53.8% 30.8% 0.0% +51.7
ZL 12 1.71% 25.0% 41.7% 8.3% +50.5
CF 12 1.67% 33.3% 41.7% 0.0% +49.5
VB 11 1.66% 45.5% 18.2% 0.0% +46.7
LP 11 1.58% 18.2% 36.4% 9.1% -19.1
SPL 12 1.57% 58.3% 16.7% 8.3% +8.1
NP 12 1.56% 16.7% 41.7% 25.0% +1.8
YBC 12 1.54% 8.3% 50.0% 8.3% +1.7
PAF 10 1.49% 10.0% 50.0% 60.0% +2.8
KH 11 1.42% 36.4% 45.5% 0.0% +35.2
TBC 10 1.39% 20.0% 60.0% 20.0% +95.9
CGT 8 1.33% 37.5% 37.5% 12.5% +31.5
CB 9 1.28% 33.3% 44.4% 11.1% -25.8
SCJ 8 1.19% 12.5% 75.0% 0.0% -4.1
SPD 9 1.18% 33.3% 66.7% 0.0% -4.6
MCB 6 0.84% 16.7% 33.3% 0.0% -19.0
LRC 6 0.82% 0.0% 66.7% 16.7% +67.3
SDC 4 0.45% 0.0% 75.0% 0.0% +183.9
LAB 3 0.42% 66.7% 33.3% 0.0% +133.7
Bunt-hit rate = bunt singles ÷ bunts. Sac share = runners advanced or squeezed home ÷ bunts. Productive = reached base or moved a runner. RV/100 = RE24-O27 run value (RE after − RE before + runs) per 100 bunts; positive means bunts added runs vs. expected.
RE by outs-remaining · 1-D curve expected future runs given outs already recorded
The "how much offence is left?" curve. Anchors GSc / xRA scaling and gives one number for any leverage-aware context.
Outs done 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
Outs left 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
RE 12.59 12.31 11.09 11.22 10.41 10.68 9.69 9.47 8.94 8.21 7.98 7.43 6.59 6.17 6.15 5.49 4.96 4.87 4.22 4.08 3.73 3.09 3.17 2.51 2.60 2.28 1.95
n 2022 1593 1421 1460 1418 1435 1347 1317 1373 1352 1381 1332 1263 1312 1256 1195 1139 1152 1194 1200 1230 1125 1137 1087 1035 916 679
Linear weights · empirical run values driving wOBA + Game Score 33498 BIP events · league RE/half = 11.27 · league wOBA = league OBP = 0.476 (by construction)
Each event's run value is derived from the RE matrix above: RV(event) = runs_scored + RE(state_after) − RE(state_before), averaged across all BIP events. BB / HBP go analytically (forced-runner transitions weighted by empirical state occupation). These values feed both the wOBA weights (OBP-scaled, replacing MLB defaults in expected_woba.py and _aggregate_batter_rows) and the Game Score coefficients (run-prevention values × 2 GSc points per run, replacing the MLB-tuned penalty constants in _pitcher_game_score).

Event run values

EventRV (runs)
HR +3.192
3B +2.282
2B +1.383
1B +0.146
BB -0.244
HBP -0.244
K_over_out +0.050
out -0.403
Out RV is negative (an out costs the offense ~0.4 runs vs prior expectation). 2C is the empirical RV of a credited Second-Chance event — broken out from 1B so the single's value reflects true singles only.

wOBA weights (OBP-scaled)

Event O27 refit MLB default Δ%
BB 0.152 0.720 -79%
HBP 0.152 0.740 -79%
1B 0.528 0.950 -44%
2B 1.718 1.300 +32%
3B 2.583 1.700 +52%
HR 3.459 2.050 +69%
High-RPG environment: walks and singles gain ground over MLB (bases are full more often, so each free baserunner is worth more). HR's marginal value shrinks because singles + walks already clear the bases. The empirical BB/HBP marginal RV exceeds 1B's here (a HR clears bases and drops RE by ~1 per baserunner, while a walk only adds RE without losing anyone); we cap BB/HBP at the 1B weight so the displayed ordering stays BB ≤ 1B ≤ 2B ≤ 3B ≤ HR. Drives every wOBA / xwOBA value on /leaders and /analytics.

Game Score coefficients

Term O27 refit MLB
base 55.80 50
out 1.00 1
K_over_out 0.10 2
FO_over_out 1.00 1
H 1.87 2
HR_over_H 4.51 4
BB -0.49 1
ER 2.00 4
UER 1.00 2
League starter GSc dist over 1506 outings: mean = 49.86 (target 50, auto-tuned via base), p25/p50/p75 = 42.3 / 49.2 / 57.2, range [8.9, 82.8]. No clamping at 0 or 100.
Expected wOBA · contact-quality model league wOBA = 0.469 · league xwOBA = 0.469 (must match — calibration check)

Contact-quality table

Qualityn BIPxwOBA / BIP
hard 11336 1.315
medium 16605 0.494
weak 6430 0.188
Per-BIP wOBA points expected from each quality bin. Linear-weight scaffolding: weights are O27-empirical (derived from this league's RE matrix in linear_weights.py), not MLB defaults. League wOBA = league OBP by construction.

Top 15 by xwOBA

# Player Tm PA wOBA xwOBA Δ
1 Sukhwinder Bedi HCC 68 1.267 0.824 +0.443
2 Jae-ho Kang HM1 58 0.934 0.784 +0.150
3 Arnav Khanna GS 75 1.155 0.780 +0.375
4 Yusof Mustafa OF 51 0.766 0.770 -0.004
5 David Visser BNS 54 1.032 0.756 +0.276
6 Rohan Ramphal SDC 56 0.995 0.740 +0.255
7 António Pereira MF 59 0.935 0.738 +0.197
8 Earnest Rivera NYP 51 0.925 0.730 +0.194
9 Finn Martins PF 57 0.782 0.729 +0.053
10 Dann Zinderstein MF 63 0.980 0.724 +0.256
11 Mohun Sharma EI 58 0.808 0.723 +0.085
12 Jean Polanco PPS 59 0.956 0.719 +0.237
13 Naina Guérin ŽS 59 0.624 0.716 -0.091
14 Mujeeb Hassan GS 64 0.983 0.714 +0.269
15 Rajdeep Sen GS 75 0.605 0.713 -0.108

Biggest BABIP swings · Δ = wOBA − xwOBA

Hot bats — production above contact (regression candidates)
PlayerTmPA wOBAxwOBA Δ
Tony Feliz MCP 66 1.100 0.594 +0.507
Sukhwinder Bedi HCC 68 1.267 0.824 +0.443
Don Wild SDC 59 1.071 0.637 +0.434
Dennis McMichael PPS 59 1.089 0.670 +0.419
Arnav Khanna GS 75 1.155 0.780 +0.375
Marcus Low SK 55 0.903 0.560 +0.343
Kallen Langlois MCP 61 1.020 0.678 +0.341
Cold bats — contact above production (ceiling above headline wOBA)
PlayerTmPA wOBAxwOBA Δ
Robby Spoelstra KBK 52 0.120 0.395 -0.274
Preston Singh GB 52 0.276 0.518 -0.242
Laros Cruz CBC 54 0.250 0.476 -0.226
Baghdad Al-Saadi DAF 58 0.296 0.520 -0.224
Syahmi Razak KKK 55 0.364 0.585 -0.221
Ramón Zamora CCB 62 0.150 0.364 -0.215
Benjaloud Ngamaleu CBC 50 0.182 0.388 -0.206
Pythagorean exponent · empirically refit for O27 76 teams · k* = 2.156 vs MLB default 1.83 · RMSE 0.0913 (cut 5.0%)
Bill James's exponent (1.83) was fit to MLB's ~9 R/G run environment. O27 sits at ~22 R/G; the win/loss curve sharpens, so the optimal exponent is much higher. The fitted value comes from a 1-D ternary search minimising SSE in win-percentage prediction across the league.
Tm G W RS RA W% Pythag W (1.83) Luck (1.83) Pythag W (k*) Luck (k*)
KRM 20 4 166 174 0.200 9.6 -5.6 9.5 -5.5
GB 20 12 188 227 0.600 8.3 +3.7 8.0 +4.0
SPL 20 8 273 238 0.400 11.2 -3.2 11.5 -3.5
CS 20 10 259 184 0.500 13.0 -3.0 13.5 -3.5
QBS 20 3 180 257 0.150 6.9 -3.9 6.3 -3.3
CBK 20 12 211 237 0.600 8.9 +3.1 8.8 +3.2
BBC 20 15 185 157 0.750 11.5 +3.5 11.8 +3.2
BNS 20 13 202 200 0.650 10.1 +2.9 10.1 +2.9
WBC 20 3 147 226 0.150 6.3 -3.3 5.7 -2.7
LP 20 14 235 206 0.700 11.2 +2.8 11.4 +2.6
OB 20 11 286 201 0.550 13.1 -2.1 13.6 -2.6
GP 20 10 245 310 0.500 7.9 +2.1 7.5 +2.5
KO 20 9 214 299 0.450 7.0 +2.0 6.5 +2.5
SPD 20 9 247 216 0.450 11.2 -2.2 11.4 -2.4
CCB 20 6 163 322 0.300 4.5 +1.5 3.7 +2.3
SL 20 15 311 241 0.750 12.3 +2.7 12.7 +2.3
JF 21 3 152 255 0.143 5.9 -2.9 5.2 -2.2
BB 20 16 244 168 0.800 13.3 +2.7 13.8 +2.2
TF1 20 14 309 260 0.700 11.6 +2.4 11.8 +2.2
KH 20 11 290 214 0.550 12.7 -1.7 13.2 -2.2
BT 19 9 185 156 0.474 11.0 -2.0 11.2 -2.2
DGT 20 11 227 252 0.550 9.0 +2.0 8.9 +2.1
SDC 20 11 413 311 0.550 12.5 -1.5 13.0 -2.0
EI 19 12 276 260 0.632 10.0 +2.0 10.1 +1.9
FCW 20 5 211 284 0.250 7.3 -2.3 6.9 -1.9
PPS 20 7 264 296 0.350 9.0 -2.0 8.8 -1.8
KBC 20 14 278 227 0.700 11.8 +2.2 12.2 +1.8
NH 19 15 319 216 0.789 12.8 +2.2 13.3 +1.7
HEE 19 4 189 279 0.211 6.3 -2.3 5.7 -1.7
HM1 20 10 197 169 0.500 11.4 -1.4 11.6 -1.6
HCC 20 10 282 327 0.500 8.7 +1.3 8.4 +1.6
LAB 20 8 197 205 0.400 9.6 -1.6 9.6 -1.6
KBK 20 9 171 162 0.450 10.5 -1.5 10.6 -1.6
CNC 20 6 140 253 0.300 5.1 +0.9 4.4 +1.6
MB 20 16 385 247 0.800 13.9 +2.1 14.4 +1.6
PF 20 9 239 303 0.450 7.9 +1.1 7.5 +1.5
OF 19 9 208 254 0.474 7.8 +1.2 7.5 +1.5
NYP 19 8 207 274 0.421 7.1 +0.9 6.7 +1.3
MCB 20 5 218 315 0.250 6.8 -1.8 6.2 -1.2
CBC 20 3 159 292 0.150 4.9 -1.9 4.2 -1.2
GS 20 14 482 286 0.700 14.4 -0.4 15.1 -1.1
MCP 19 14 350 248 0.737 12.4 +1.6 12.9 +1.1
KKK 19 2 172 369 0.105 3.8 -1.8 3.1 -1.1
ŽS 20 13 317 213 0.650 13.5 -0.5 14.0 -1.0
TF 20 9 223 224 0.450 10.0 -1.0 10.0 -1.0
SYC 19 9 243 278 0.474 8.3 +0.7 8.1 +0.9
DAF 20 9 256 259 0.450 9.9 -0.9 9.9 -0.9
HM 19 11 282 266 0.579 10.0 +1.0 10.1 +0.9
OH 20 7 279 345 0.350 8.1 -1.1 7.8 -0.8
NP 20 15 352 232 0.750 13.6 +1.4 14.2 +0.8
OS 21 5 173 330 0.238 4.9 +0.1 4.2 +0.8
LM 20 13 361 294 0.650 11.9 +1.1 12.2 +0.8
PC 20 12 290 258 0.600 11.1 +0.9 11.3 +0.7
NYL 20 9 238 278 0.450 8.6 +0.4 8.3 +0.7
HMR 20 8 231 296 0.400 7.8 +0.2 7.4 +0.6
PB 20 8 152 195 0.400 7.8 +0.2 7.4 +0.6
CB 20 11 248 238 0.550 10.4 +0.6 10.4 +0.6
YBC 20 14 338 241 0.700 13.0 +1.0 13.5 +0.5
MF 20 15 367 234 0.750 13.9 +1.1 14.5 +0.5
CF 20 11 243 233 0.550 10.4 +0.6 10.5 +0.5
PDR 20 11 334 315 0.550 10.5 +0.5 10.6 +0.4
RE 20 12 262 225 0.600 11.4 +0.6 11.6 +0.4
RDJ 19 6 209 308 0.316 6.3 -0.3 5.7 +0.3
MP 19 11 220 196 0.579 10.5 +0.5 10.7 +0.3
ZL 20 14 233 162 0.700 13.2 +0.8 13.7 +0.3
SCJ 20 13 211 164 0.650 12.3 +0.7 12.7 +0.3
KTH 19 14 295 187 0.737 13.2 +0.8 13.8 +0.2
CGT 18 10 144 127 0.556 10.0 -0.0 10.2 -0.2
NE 19 9 189 202 0.474 8.9 +0.1 8.8 +0.2
BB1 20 4 157 306 0.200 4.6 -0.6 3.8 +0.2
TBC 19 9 255 273 0.474 8.9 +0.1 8.8 +0.2
BIC 20 11 263 241 0.550 10.8 +0.2 10.9 +0.1
PAF 20 9 186 206 0.450 9.1 -0.1 8.9 +0.1
SK 20 17 377 167 0.850 16.3 +0.7 17.1 -0.1
LRC 20 11 268 243 0.550 10.9 +0.1 11.1 -0.1
VB 19 3 137 296 0.158 3.7 -0.7 3.0 -0.0
Sorted by |Luck (k*)|. With the fitted exponent the residuals generally compress vs. the default — the teams that still appear with double-digit luck are the genuine sequencing outliers.
BaseRuns · sequencing luck on offense and defense 76 teams · fitted B = (2.536·TB -0.751·H +2.000·HR -0.964·(BB+HBP)) vs MLB (1.4·TB −0.6·H −3·HR +0.1·(BB+HBP)) · SSE cut 26.6%
BaseRuns predicts runs scored from raw event counts (H, 2B, 3B, HR, BB, HBP, AB) with no information about the order events arrived in. The residual actual − predicted is therefore pure sequencing/cluster luck — hits-with-RISP timing, double-play avoidance, runner distribution. Applied to opposing offenses it gives sequencing luck on defense; the net is a clean "runs of cluster luck" figure that complements xwOBA (event-level luck) and the Pythag k* residual (W%-from-RD curvature). Default coefficients are MLB-fit for ~9 R/G; O27 sits at ~22 R/G, so we additionally refit all four B coefficients via joint coordinate-descent (analogous to Pythag's k* refit). The fitted luck column is the cleaner sequencing read; the gap between default and fitted shows how much of the apparent "luck" was actually environment shape mis-fit.
Tm RS RA MLB-default coeffs Refit coeffs (O27)
Off Def Net Off Def Net
CBK 202 237 -34.2 +4.6 -38.8 -35.7 +3.0 -38.7
SK 374 167 +8.5 -3.5 +12.0 +22.9 -12.3 +35.3
EI 273 260 -44.3 +4.8 -49.1 -30.3 +4.7 -35.0
MF 358 234 +18.8 -8.5 +27.3 +27.9 -6.4 +34.3
BT 184 156 -1.0 +29.9 -30.8 -9.1 +23.3 -32.4
GS 480 286 -3.8 +1.6 -5.4 +32.5 +2.1 +30.4
BNS 196 200 -17.6 +14.8 -32.4 -18.2 +10.8 -29.0
PAF 184 206 +11.8 -24.5 +36.4 +3.5 -24.9 +28.5
NH 315 216 +2.5 -8.9 +11.4 +14.1 -11.4 +25.4
BIC 261 241 +15.9 -9.1 +25.0 +11.9 -12.9 +24.7
KRM 166 174 +22.9 -7.5 +30.4 +12.3 -12.1 +24.5
PDR 332 315 -12.4 +20.7 -33.1 +0.3 +23.1 -22.8
PB 149 195 +20.3 -6.4 +26.7 +11.9 -9.1 +21.0
LRC 260 243 +0.2 +26.6 -26.5 +0.6 +20.8 -20.2
SYC 234 278 -2.6 -32.4 +29.8 -4.5 -24.6 +20.1
SPL 273 238 +30.8 +4.9 +25.9 +21.5 +1.6 +19.9
HEE 186 279 -0.7 +5.9 -6.6 -9.2 +10.6 -19.8
DAF 255 259 +3.1 -24.3 +27.4 +2.5 -16.6 +19.1
VB 134 296 +10.8 +22.2 -11.4 +1.8 +20.7 -18.9
SL 301 241 -16.4 +19.1 -35.5 -8.0 +10.8 -18.9
SCJ 206 164 -11.3 +9.3 -20.6 -16.3 +2.4 -18.7
RE 255 225 -8.1 +12.1 -20.2 -12.1 +5.3 -17.4
OS 171 330 +4.4 +2.2 +2.2 -5.5 +11.1 -16.6
ŽS 317 213 +6.8 -2.9 +9.7 +12.4 -4.2 +16.5
MP 217 196 -8.2 +12.7 -20.9 -10.7 +5.3 -16.0
HM1 186 169 +4.6 +18.8 -14.3 -2.3 +13.1 -15.4
NYP 203 274 -17.2 -10.8 -6.4 -21.3 -7.1 -14.2
CBC 157 292 +11.3 +19.3 -8.1 +6.7 +20.7 -14.0
BB1 150 306 +6.5 -0.9 +7.3 -3.1 +10.8 -13.8
DGT 227 252 +11.1 -7.6 +18.7 +7.4 -5.8 +13.2
CB 247 238 -2.4 -14.0 +11.7 -3.2 -16.4 +13.2
RDJ 207 308 +14.9 -17.7 +32.6 +10.6 -2.2 +12.8
OF 199 254 -28.7 -20.6 -8.1 -25.7 -13.0 -12.7
TBC 254 273 +5.0 -13.0 +18.0 +3.8 -8.5 +12.3
MCP 345 248 +9.6 +12.2 -2.6 +22.7 +10.7 +12.0
GP 243 310 +1.4 -19.8 +21.2 -0.5 -12.4 +11.9
NE 188 202 -0.9 +10.4 -11.3 -9.2 +2.5 -11.7
ZL 232 162 -1.0 +20.3 -21.3 +0.5 +12.0 -11.5
HMR 231 296 +22.2 +24.8 -2.6 +12.7 +24.0 -11.3
PF 238 303 -13.1 -6.7 -6.4 -15.3 -4.0 -11.3
FCW 208 284 +4.7 -21.0 +25.7 -1.1 -12.3 +11.2
OB 283 201 -7.3 +15.8 -23.1 -2.9 +8.0 -10.9
MB 385 247 -19.1 -7.9 -11.1 +8.6 -2.3 +10.9
KBC 276 227 -29.4 -5.2 -24.2 -16.4 -6.2 -10.2
MCB 216 315 +24.2 -3.3 +27.6 +14.2 +4.4 +9.8
CS 258 184 -5.6 -8.7 +3.1 -5.2 -15.0 +9.8
WBC 144 226 +20.0 +7.1 +12.8 +14.7 +5.1 +9.6
TF 216 224 -3.9 +4.2 -8.1 -7.7 +0.6 -8.3
CNC 139 253 +3.0 +10.3 -7.3 -1.3 +6.9 -8.2
LP 234 206 -20.9 -25.0 +4.2 -14.9 -22.9 +8.0
HCC 279 327 -0.5 -15.7 +15.2 +0.9 -7.0 +7.9
SDC 410 311 -20.1 -13.4 -6.6 +5.8 -2.1 +7.9
KKK 164 369 +3.0 -22.6 +25.5 -5.9 +1.7 -7.7
LM 361 294 -3.3 +11.0 -14.3 +16.2 +8.7 +7.6
QBS 177 257 +10.7 +10.1 +0.6 -0.1 +7.0 -7.2
LAB 197 205 +15.5 +1.4 +14.1 +6.7 +0.3 +6.4
OH 276 345 +5.8 -0.1 +5.8 +5.2 +11.4 -6.2
BBC 185 157 -7.1 -5.8 -1.3 -10.9 -16.9 +6.0
KTH 295 187 +2.3 +11.9 -9.6 +9.2 +3.3 +5.9
PC 288 258 +5.4 -1.9 +7.3 +3.3 -2.3 +5.7
TF1 300 260 -4.2 +11.8 -16.1 +2.7 +7.9 -5.2
NYL 234 278 +18.8 +4.4 +14.4 +11.0 +6.5 +4.5
KBK 164 162 +11.9 +0.1 +11.8 +3.2 -1.1 +4.3
CCB 154 322 +10.1 -13.6 +23.7 -0.4 -4.6 +4.2
PPS 247 296 +9.8 +0.5 +9.3 +3.1 +6.7 -3.7
BB 237 168 +3.5 +14.5 -10.9 +2.8 +6.3 -3.5
CF 239 233 -23.8 -21.4 -2.4 -25.2 -21.8 -3.4
CGT 144 127 +0.7 -3.6 +4.3 -6.7 -9.7 +3.0
GB 184 227 +4.3 +9.0 -4.7 -2.6 -0.3 -2.4
KH 288 214 -22.0 -11.1 -10.9 -14.6 -12.4 -2.2
JF 152 255 +7.1 -12.8 +19.9 -7.0 -9.2 +2.1
KO 214 299 -2.6 -14.1 +11.5 -2.6 -4.6 +2.0
HM 277 266 +10.4 +17.1 -6.6 +12.1 +13.7 -1.6
YBC 338 241 -24.0 -5.5 -18.6 -4.8 -6.0 +1.2
SPD 245 216 -0.4 +1.7 -2.1 -4.3 -3.2 -1.1
NP 342 232 +3.3 +23.6 -20.3 +14.6 +15.8 -1.1
Sorted by |Net (refit)|. Off = RS − RSBsR (positive = clustered hits well). Def = RA − RABsR (positive = opponents clustered against you — unlucky on D). Net = Off − Def. Both passes re-center to league means before residualising, so columns are directly comparable. The refit fits all four B coefficients (TB, H, HR, BB+HBP weights) jointly across offense and defense via coordinate- descent ternary search — 4 parameters from 60 datapoints (30 teams × 2 sides), warm-started from MLB defaults.
XO Crossover · Calibration MLB-anchor mean + sd vs O27 league mean + sd. By construction the XO map sends O27 league mean → MLB anchor mean exactly and matches the spread — these rows are the sourcing health check.
Method: xo = MLB_mean + ((value − O27_mean) / O27_sd) · MLB_sd. The linear-ratio rescaling was rejected for spread collapse — z-anchoring preserves rank AND spread. If any row's O27 sd is 0 (insufficient qualifying players), that stat falls through to the native value.
Stat O27 mean O27 sd MLB mean MLB sd Health
Pitching
ERA 12.096 7.203 4.300 1.050 OK
ra27 14.889 8.205 4.300 1.050 OK
WHIP 2.128 0.840 1.300 0.140 OK
K/9 7.608 3.133 8.500 2.100 OK
BB/9 4.351 2.514 3.200 0.950 OK
HR/9 1.574 1.852 1.200 0.450 OK
oAVG 0.399 0.112 0.250 0.022 OK
oOBP 0.472 0.105 0.320 0.026 OK
oSLG 0.520 0.203 0.415 0.050 OK
oOPS 0.992 0.291 0.735 0.072 OK
Batting
AVG 0.463 0.130 0.250 0.024 OK
OBP 0.529 0.122 0.320 0.030 OK
SLG 0.719 0.269 0.415 0.055 OK
OPS 1.248 0.380 0.735 0.080 OK
wOBA 0.572 0.230 0.320 0.034 OK
BABIP 0.530 0.124 0.295 0.024 OK
Walk-Back Stop% has no MLB analog and is therefore not z-anchored. It's surfaced natively on the pitcher card and the leaders page as the O27-rule strand rate for the post-HR rule-placed runner.
Compare basket · 0 max 4
Compare →