MLB Prediction System

Game Forensics

2026-10-06 · per game, per club, per hitter

slate 2026-10-06games 2
Per game

Every stage, every club edge

Each game expands to show the four forecast stages, the gates, the club-level KPI edges the model consumed and both lineups with their strongest readings. Composite z averages a hitter's KPI standard scores; a positive number means above the qualified-population mean on balance.

LAD @ ATL · final 3-1
StageAway runsHome runsHome winNote
Production baseline4.0003.0000.493what the system would have published
KPI-only forecast3.3123.5040.82544 KPI features alone, no baseline input
Blended3.4643.2220.493at the fitted weights
Published430.495after rounding and reconciliation
Actual31-official final
Applied. Lineup coverage LAD 0.883, ATL 0.889. Value age 9 days. Gates passed 7/7.

Joint-model feature accounting

Numeric coefficient contributions explain the KPI-only forecast. Home-win contributions use log-odds; run targets use runs.

TargetFeatureRawStandardisedContributionUnit
home_runshome_off_power0.5329+2.154+0.5722runs
home_runsaway_off_ground0.5283+1.634+0.3967runs
home_runshome_pen_minus_sp-0.2144-1.823-0.3904runs
home_runsaway_x_suppress0.3247+1.324-0.3180runs
home_runshome_sp_command0.7570+1.209-0.2936runs
home_runsaway_off_top3_contact1.1341+1.254-0.2723runs
home_runsaway_off_contact0.3998+1.574+0.2554runs
home_runsaway_pen_minus_sp-0.2423-1.782-0.2550runs
home_runshome_platoon_barrel0.6503+2.019-0.2478runs
home_runshome_off_worst3_discipline-0.3315+0.759+0.2284runs
away_runshome_platoon_barrel0.6503+2.019-0.7956runs
away_runsaway_sp_command1.2273+2.183-0.6964runs
away_runsaway_off_contact0.3998+1.574+0.6025runs
away_runsaway_off_discipline0.3548+1.341+0.4771runs
away_runshome_off_top3_contact1.2701+1.642-0.4634runs
away_runshome_off_qualified_share0.8889+1.083-0.4006runs
away_runsaway_sp_whiff0.7754+1.372+0.3512runs
away_runshome_off_power0.5329+2.154+0.3498runs
away_runsaway_x_breaking0.2511+1.192-0.3360runs
away_runshome_sp_suppress0.5757+0.854-0.2892runs
home_winaway_sp_command1.2273+2.183+0.4929log_odds
home_winaway_off_ground0.5283+1.634+0.3108log_odds
home_winhome_off_qualified_share0.8889+1.083+0.2348log_odds
home_winaway_off_discipline0.3548+1.341-0.2026log_odds
home_winhome_off_top3_contact1.2701+1.642+0.2017log_odds
home_winhome_platoon_barrel0.6503+2.019+0.1901log_odds
home_winhome_sp_command0.7570+1.209-0.1792log_odds
home_winhome_x_ground0.2122+1.203+0.1739log_odds
home_winaway_off_qualified_share0.8830+1.063-0.1444log_odds
home_winaway_sp_velocity-0.2727-0.627-0.1056log_odds

Player neutralisation sensitivity

Each row replaces one player's qualified KPI values with population-mean z=0. Interactions make rows non-additive. Zero means no measured joint-model movement at the fitted weight; it is not a claim of zero individual impact. Player props remain unchanged.

SideRolePlayer IDProj PAFeatures changedAway runsHome runsHome win
homebatter6869484.6488258543720817-0.5162-0.0041+0.0000
homebatter6606704.1980649579985617-0.1992+0.0819+0.0000
homebatter6215664.3167365155827217-0.2504+0.1514+0.0000
homebatter6452774.1391718240490416-0.1646+0.2747+0.0000
homebatter6717394.8707035612493616-0.3087+0.0299+0.0000
homebatter6432894.25292039429056116-0.2637+0.0265+0.0000
homebatter6570413.1213796407676816-0.3963+0.0629+0.0000
homebatter6635863.791837224827599816-0.3391+0.0468+0.0000
homebatter6734903.136471353723285-0.0275-0.0039+0.0000
awaybatter6051414.1754798191415+0.2936-0.1096-0.0000
awaybatter5186924.3745715982215+0.2982+0.0062-0.0000
awaybatter6061924.1932430038817+0.1343-0.1496-0.0000
awaybatter6692574.0860749746616+0.2659+0.0087-0.0000
awaybatter6602714.3094292594417-0.0804-0.3508-0.0000
awaybatter5007432.5755067115815+0.2190-0.0641-0.0000
awaybatter6816244.4455756215215+0.1898+0.0185-0.0000
awaybatter6636564.0071850948615+0.1427-0.0172-0.0000
awaybatter5717712.82903097528000021+0.0220+0.0042+0.0000
homepitcher519242-10-0.5999-0.1467+0.0000
awaypitcher808967-10-0.3359-0.2916+0.0000
homereliever6892661.58654714904234269+0.0706-0.0085-0.0000
homereliever6631582.25439553826961179-0.0976+0.0187+0.0000
homereliever6692762.27068452337271610-0.0056-0.0328-0.0000
homereliever6829892.3423560578263749+0.0322-0.0049-0.0000
homereliever6284521.80699141410435159+0.0094+0.0127+0.0000
homereliever6565502.56931591692962510-0.0048+0.0134-0.0000
homereliever6087181.96770940045497910-0.0379-0.0173-0.0000
awayreliever5927791.7110033835495043-0.0045-0.0012+0.0000
awayreliever6234651.34919640699266856+0.0117+0.0032-0.0000
awayreliever6819111.906055748006121510-0.0156-0.0111-0.0000
awayreliever6212421.68472689921856045-0.0021-0.0006+0.0000
awayreliever6634602.1081825505518410-0.0019-0.0026+0.0000
awayreliever6569452.175895029404655310+0.0107+0.0147-0.0000
awayreliever8089631.609939982276644510+0.0210+0.0180-0.0000

Club KPI edges

KPILADATLEdge (H-A)A spreadH spread
batter_barrel_rate_vs_breaking-0.044+0.503+0.5470.49531.1324
batter_barrel_rate_vs_fastball+0.468+0.263-0.2050.97821.0125
batter_barrel_rate_vs_lhp+0.393-0.037-0.4300.76350.9765
batter_barrel_rate_vs_offspeed+0.380+0.501+0.1210.99970.9105
batter_barrel_rate_vs_rhp+0.363+0.626+0.2630.82541.0219
batter_bat_speed-0.149+0.540+0.6890.6580.9712
batter_contact_rate_vs_breaking+0.345-0.095-0.4400.89110.6149
batter_contact_xwoba+0.520+0.382-0.1391.04021.0994
batter_contact_xwoba_vs_breaking+0.172+0.337+0.1660.70130.8844
batter_contact_xwoba_vs_fastball+0.626+0.237-0.3891.09580.9373
batter_exit_velocity_vs_fastball+0.586+0.382-0.2040.65830.7367
batter_ground_ball_rate_vs_fastball+0.247+0.349+0.1020.84240.9093
batter_ground_ball_rate_vs_slider+0.743+0.060-0.6830.81150.7423
batter_hard_hit_rate_vs_breaking-0.084+0.282+0.3660.78581.1832
batter_hard_hit_rate_vs_fastball+0.504+0.349-0.1550.67520.9989
batter_home_run_rate+0.222+0.486+0.2640.70880.8843
batter_strikeout_rate+0.594+0.128-0.4660.88430.9206
batter_walk_rate+0.371-0.235-0.6060.75150.8815
batter_whiff_rate_vs_breaking+0.342+0.259-0.0840.88470.628
batter_whiff_rate_vs_fastball+0.340-0.078-0.4170.96920.7383
batter_whiff_rate_vs_lhp+0.441+0.295-0.1461.1850.8572
batter_whiff_rate_vs_offspeed+0.233+0.515+0.2820.79010.8373
batter_whiff_rate_vs_rhp+0.225+0.120-0.1050.82490.6084
pitcher_barrel_rate_allowed+0.917+0.866-0.051--
pitcher_barrel_rate_vs_lhh+0.845+0.526-0.319--
pitcher_barrel_rate_vs_rhh+0.534+0.689+0.154--
pitcher_contact_xwoba_allowed+1.337+0.318-1.020--
pitcher_ground_ball_rate_induced+1.147+0.351-0.796--
pitcher_hard_hit_rate_allowed+0.951+0.918-0.033--
pitcher_home_run_rate_allowed+0.213+1.711+1.498--
pitcher_release_speed+0.542-0.464-1.007--
pitcher_strikeout_rate+0.727+1.736+1.009--
pitcher_walk_rate+1.354+1.930+0.576--
pitcher_whiff_rate+0.560+1.143+0.582--
pitcher_whiff_rate_breaking-0.323+0.998+1.321--
pitcher_whiff_rate_fastball+0.865+0.988+0.123--
pitcher_whiff_rate_vs_lhh-0.178+0.850+1.028--
pitcher_whiff_rate_vs_rhh+1.214+1.000-0.214--

Lineups and their strongest readings

BatterPosProj PAComposite zThree strongest KPI readings
LAD lineup vs Chris Sale
1. Mookie BettsSS4.65+0.592whiff_rate_vs_lhp Very good (+2.45), whiff_rate_vs_fastball Very good (+1.95), strikeout_rate Very good (+1.91)
2. Freddie Freeman1B4.55+0.191whiff_rate_vs_offspeed Very good (+1.33), contact_xwoba_vs_breaking Good (+1.04), contact_xwoba Good (+0.83)
3. Teoscar HernándezLF4.45+0.079whiff_rate_vs_breaking Poor (-1.43), barrel_rate_vs_lhp Good (+1.34), contact_xwoba Good (+1.24)
4. Will SmithC4.35+0.775ground_ball_rate_vs_fastball Very good (+2.08), contact_xwoba_vs_fastball Very good (+1.81), ground_ball_rate_vs_slider Very good (+1.70)
5. Shohei OhtaniDH4.25+0.902contact_xwoba_vs_fastball Very good (+2.84), contact_xwoba Very good (+2.75), barrel_rate_vs_fastball Very good (+2.67)
6. Miguel Rojas2B4.15-0.055strikeout_rate Very good (+1.75), contact_rate_vs_breaking Very good (+1.47), whiff_rate_vs_fastball Very good (+1.45)
7. Andy PagesCF4.05+0.387ground_ball_rate_vs_slider Very good (+1.31), whiff_rate_vs_lhp Good (+0.90), whiff_rate_vs_offspeed Good (+0.79)
8. Kyle TuckerRF3.98+0.162ground_ball_rate_vs_slider Very good (+2.24), barrel_rate_vs_offspeed Poor (-1.42), walk_rate Very good (+1.35)
9. Enrique Hernández3B3.90-0.026whiff_rate_vs_lhp Below average (-0.59), barrel_rate_vs_offspeed Average (+0.00), ground_ball_rate_vs_slider Average (+0.00)
ATL lineup vs Yoshinobu Yamamoto
1. Drake BaldwinC4.65+0.703barrel_rate_vs_breaking Very good (+2.13), barrel_rate_vs_rhp Very good (+1.90), hard_hit_rate_vs_fastball Very good (+1.65)
2. Ronald Acuña Jr.DH4.55+0.530barrel_rate_vs_breaking Very good (+1.67), hard_hit_rate_vs_breaking Very good (+1.58), contact_xwoba Very good (+1.41)
3. Matt Olson1B4.45+0.964home_run_rate Very good (+2.44), hard_hit_rate_vs_fastball Very good (+2.10), barrel_rate_vs_rhp Very good (+1.86)
4. Ozzie Albies2B4.35-0.363ground_ball_rate_vs_fastball Very good (+2.18), hard_hit_rate_vs_breaking Poor (-2.04), contact_xwoba Poor (-1.73)
5. Michael Harris IICF4.25+0.428barrel_rate_vs_offspeed Very good (+1.98), walk_rate Poor (-1.90), ground_ball_rate_vs_slider Very good (+1.44)
6. Mauricio DubónLF4.15-0.095whiff_rate_vs_offspeed Very good (+2.29), whiff_rate_vs_lhp Very good (+1.92), strikeout_rate Very good (+1.72)
7. Lane ThomasRF4.05-0.026walk_rate Good (+0.91), barrel_rate_vs_lhp Below average (-0.84), ground_ball_rate_vs_slider Below average (-0.80)
8. Austin Riley3B3.98+0.135strikeout_rate Poor (-1.66), bat_speed Very good (+1.58), whiff_rate_vs_fastball Poor (-1.36)
9. Ha-Seong KimSS3.90+0.009barrel_rate_vs_lhp Below average (-0.78), whiff_rate_vs_lhp Good (+0.76), whiff_rate_vs_fastball Average (+0.22)
MIL @ SD · final 3-4
StageAway runsHome runsHome winNote
Production baseline4.0005.0000.578what the system would have published
KPI-only forecast3.5664.2180.67944 KPI features alone, no baseline input
Blended3.6614.6560.578at the fitted weights
Published450.566after rounding and reconciliation
Actual34-official final
Applied. Lineup coverage MIL 1.000, SD 0.684. Value age 9 days. Gates passed 7/7.

Joint-model feature accounting

Numeric coefficient contributions explain the KPI-only forecast. Home-win contributions use log-odds; run targets use runs.

TargetFeatureRawStandardisedContributionUnit
home_runsaway_off_ground-0.7382-2.577-0.6259runs
home_runsaway_pen_share0.5781+2.680+0.4215runs
home_runshome_sp_velocity0.9849+1.338+0.4170runs
home_runsaway_off_top3_contact1.3386+1.919-0.4168runs
home_runshome_off_worst3_discipline-0.1770+1.364+0.4107runs
home_runsaway_off_contact_spread0.9025+1.040-0.3375runs
home_runshome_off_power0.2755+1.020+0.2711runs
home_runsaway_pen_minus_sp0.5723+1.864+0.2667runs
home_runsaway_off_contact0.3328+1.283+0.2082runs
home_runshome_off_ground-0.2120-0.831-0.2067runs
away_runshome_off_power_spread0.5852-0.761-0.4963runs
away_runsaway_off_contact0.3328+1.283+0.4912runs
away_runsaway_off_qualified_share1.0000+2.120+0.4497runs
away_runsaway_pen_share0.5781+2.680-0.4249runs
away_runsaway_off_contact_spread0.9025+1.040-0.3596runs
away_runsaway_sp_command0.7166+1.113-0.3550runs
away_runshome_off_discipline_spread0.2163-2.308+0.3484runs
away_runshome_off_top3_contact1.0774+1.040-0.2936runs
away_runshome_off_qualified_share0.6842-0.784+0.2898runs
away_runshome_sp_velocity0.9849+1.338-0.2748runs
home_winaway_off_ground-0.7382-2.577-0.4903log_odds
home_winhome_pen_share0.5499+2.478+0.3700log_odds
home_winaway_off_qualified_share1.0000+2.120-0.2877log_odds
home_winaway_pen_share0.5781+2.680+0.2673log_odds
home_winaway_sp_command0.7166+1.113+0.2513log_odds
home_winhome_sp_velocity0.9849+1.338+0.1991log_odds
home_winhome_off_qualified_share0.6842-0.784-0.1699log_odds
home_winhome_off_power_spread0.5852-0.761+0.1350log_odds
home_winhome_off_top3_contact1.0774+1.040+0.1278log_odds
home_winaway_off_discipline_spread0.7304+1.117-0.1104log_odds

Player neutralisation sensitivity

Each row replaces one player's qualified KPI values with population-mean z=0. Interactions make rows non-additive. Zero means no measured joint-model movement at the fitted weight; it is not a claim of zero individual impact. Player props remain unchanged.

SideRolePlayer IDProj PAFeatures changedAway runsHome runsHome win
homebatter6654875.0999610256997616-0.3909+0.0405+0.0000
homebatter7015385.0057756677957217-0.4230+0.1403+0.0000
homebatter5925184.17136704014715-0.0720+0.0583+0.0000
homebatter6640343.9208968358137617-0.2782+0.0412+0.0000
homebatter8069562.745638002456760+0.0000+0.0000+0.0000
homebatter5934283.8922854090102415-0.2430-0.0062+0.0000
homebatter6879573.70132233741111977+0.0731+0.0087-0.0000
homebatter6693923.353627598602924-0.0188-0.0042+0.0000
homebatter6301053.907384683668439615-0.1395+0.0457+0.0000
awaybatter6941924.8527287596462416+0.2178-0.0830-0.0000
awaybatter6413433.9979737889961617+0.2221-0.0860-0.0000
awaybatter6613884.7451144640332815+0.2481-0.0350-0.0000
awaybatter6689304.668501024802415+0.3256-0.0375-0.0000
awaybatter5928854.1406174849860816+0.1420-0.1003-0.0000
awaybatter6690034.131397622889617-0.0238-0.2694-0.0000
awaybatter8061983.4955296396438415+0.1018-0.0921-0.0000
awaybatter6862173.3489367520270415+0.0977-0.2833-0.0000
awaybatter6874013.532989487259839715+0.0709-0.1194-0.0000
homepitcher601713-10-0.1624+0.0920+0.0000
awaypitcher669160-10-0.0736+0.0638+0.0000
homereliever6991344.1713267070008659-0.1796+0.0434+0.0000
homereliever6709704.523833189282628510-0.2520+0.0691+0.0000
homereliever5920945.2781970613656029+0.0447-0.0269-0.0000
homereliever6952433.031555747623164310-0.1233+0.0988+0.0000
homereliever6735132.740150388936906510+0.0517+0.0020-0.0000
homereliever6881581.28782368193604210-0.0106+0.0065+0.0000
homereliever6053970.7191132238547970+0.0000+0.0000+0.0000
awayreliever6689413.96616255931425110+0.0739-0.0327-0.0000
awayreliever6226083.7081230675034449-0.0134+0.0330-0.0000
awayreliever6690844.36437165161487910-0.0453+0.0128+0.0000
awayreliever6567302.6903006275830410-0.0446+0.0361+0.0000
awayreliever6768792.502345936017143410+0.0287+0.0046-0.0000
awayreliever6828421.927332006735037510-0.0064+0.0109-0.0000
awayreliever6944771.65336415123220579-0.0363+0.0175+0.0000

Club KPI edges

KPIMILSDEdge (H-A)A spreadH spread
batter_barrel_rate_vs_breaking+0.239+0.179-0.0600.76190.7259
batter_barrel_rate_vs_fastball+0.145+0.204+0.0580.97860.7593
batter_barrel_rate_vs_lhp-0.121+0.030+0.1510.89160.8461
batter_barrel_rate_vs_offspeed-0.074+0.366+0.4400.94610.9307
batter_barrel_rate_vs_rhp+0.266+0.170-0.0960.96330.7711
batter_bat_speed+0.398+0.340-0.0581.09090.5719
batter_contact_rate_vs_breaking+0.455+0.064-0.3911.09590.4814
batter_contact_xwoba+0.434+0.231-0.2041.21270.8359
batter_contact_xwoba_vs_breaking+0.449-0.030-0.4791.06260.827
batter_contact_xwoba_vs_fastball+0.347+0.377+0.0301.19720.8943
batter_exit_velocity_vs_fastball+0.349+0.547+0.1981.04210.8562
batter_ground_ball_rate_vs_fastball-0.843-0.290+0.5530.63030.9621
batter_ground_ball_rate_vs_slider-0.654-0.106+0.5481.0270.6443
batter_hard_hit_rate_vs_breaking+0.391+0.195-0.1971.12561.0382
batter_hard_hit_rate_vs_fastball+0.365+0.588+0.2231.08290.9477
batter_home_run_rate-0.251+0.160+0.4110.84120.6743
batter_strikeout_rate-0.019+0.107+0.1261.09240.3179
batter_walk_rate+0.626+0.079-0.5470.93290.6697
batter_whiff_rate_vs_breaking+0.165+0.132-0.0331.130.2265
batter_whiff_rate_vs_fastball-0.054+0.080+0.1340.9690.8004
batter_whiff_rate_vs_lhp+0.226+0.044-0.1810.64820.4891
batter_whiff_rate_vs_offspeed+0.117-0.106-0.2231.22620.3907
batter_whiff_rate_vs_rhp+0.042-0.033-0.0751.2290.2204
pitcher_barrel_rate_allowed-0.090-0.670-0.580--
pitcher_barrel_rate_vs_lhh+1.040-0.868-1.909--
pitcher_barrel_rate_vs_rhh-1.263+0.000+1.263--
pitcher_contact_xwoba_allowed-0.745-0.153+0.592--
pitcher_ground_ball_rate_induced-0.105-1.089-0.984--
pitcher_hard_hit_rate_allowed-1.879+0.015+1.894--
pitcher_home_run_rate_allowed+0.882+0.729-0.153--
pitcher_release_speed+1.243-0.295-1.537--
pitcher_strikeout_rate+0.141+1.152+1.011--
pitcher_walk_rate+0.455+0.943+0.488--
pitcher_whiff_rate-0.469-0.775-0.306--
pitcher_whiff_rate_breaking-0.415+0.218+0.633--
pitcher_whiff_rate_fastball+0.546-0.653-1.199--
pitcher_whiff_rate_vs_lhh-0.447-0.676-0.229--
pitcher_whiff_rate_vs_rhh-0.395-0.612-0.217--

Lineups and their strongest readings

BatterPosProj PAComposite zThree strongest KPI readings
MIL lineup vs Nick Pivetta
1. Jackson ChourioLF4.65+0.527exit_velocity_vs_fastball Very good (+1.55), hard_hit_rate_vs_fastball Very good (+1.49), barrel_rate_vs_lhp Very good (+1.44)
2. Jake Bauers1B4.55+0.658walk_rate Very good (+2.75), contact_xwoba Very good (+1.77), hard_hit_rate_vs_breaking Very good (+1.68)
3. William ContrerasC4.45+0.312contact_rate_vs_breaking Good (+1.28), strikeout_rate Good (+1.24), exit_velocity_vs_fastball Good (+0.97)
4. Brice Turang2B4.35+0.313hard_hit_rate_vs_breaking Very good (+1.68), walk_rate Very good (+1.56), contact_rate_vs_breaking Very good (+1.39)
5. Christian YelichDH4.25-0.272ground_ball_rate_vs_fastball Poor (-2.10), ground_ball_rate_vs_slider Poor (-1.84), whiff_rate_vs_breaking Poor (-1.59)
6. Garrett MitchellCF4.15+0.227contact_xwoba_vs_breaking Very good (+2.32), whiff_rate_vs_offspeed Poor (-2.25), contact_xwoba Very good (+2.20)
7. Cooper PrattSS4.05-0.267hard_hit_rate_vs_fastball Below average (-1.14), home_run_rate Below average (-1.13), ground_ball_rate_vs_fastball Below average (-1.07)
8. Sal FrelickRF3.98-0.261whiff_rate_vs_rhp Very good (+2.49), whiff_rate_vs_breaking Very good (+2.35), whiff_rate_vs_offspeed Very good (+2.15)
9. Joey Ortiz3B3.90-0.222ground_ball_rate_vs_slider Poor (-1.42), contact_rate_vs_breaking Good (+1.23), ground_ball_rate_vs_fastball Below average (-1.16)
SD lineup vs Dustin May
1. Fernando Tatis Jr.RF4.65+0.710barrel_rate_vs_offspeed Very good (+2.48), hard_hit_rate_vs_fastball Very good (+1.96), exit_velocity_vs_fastball Very good (+1.55)
2. Jackson MerrillCF4.55+0.621contact_xwoba_vs_fastball Very good (+1.97), hard_hit_rate_vs_fastball Very good (+1.64), contact_xwoba Very good (+1.56)
3. Manny Machado3B4.45+0.285hard_hit_rate_vs_fastball Very good (+1.75), exit_velocity_vs_fastball Very good (+1.71), contact_xwoba_vs_breaking Poor (-1.63)
4. Ty France1B4.35+0.123hard_hit_rate_vs_breaking Very good (+1.64), whiff_rate_vs_fastball Below average (-1.12), home_run_rate Good (+0.83)
5. Ethan SalasC4.25+0.000barrel_rate_vs_offspeed Average (+0.00), ground_ball_rate_vs_slider Average (+0.00), hard_hit_rate_vs_breaking Average (+0.00)
6. Xander BogaertsSS4.15-0.151ground_ball_rate_vs_fastball Poor (-2.04), walk_rate Very good (+1.41), barrel_rate_vs_lhp Poor (-1.25)
7. Dustin HarrisLF4.05-0.012whiff_rate_vs_fastball Good (+1.17), barrel_rate_vs_rhp Below average (-1.14), barrel_rate_vs_offspeed Average (-0.31)
8. Samad TaylorDH3.98+0.018whiff_rate_vs_fastball Average (+0.41), barrel_rate_vs_offspeed Average (+0.00), ground_ball_rate_vs_slider Average (+0.00)
9. Jake Cronenworth2B3.90-0.458barrel_rate_vs_lhp Poor (-1.52), hard_hit_rate_vs_breaking Below average (-1.38), whiff_rate_vs_lhp Good (+1.24)
Edge is home club minus away club on that KPI, in standard deviations, after plate-appearance weighting. Spread is the dispersion inside a club, which a mean alone discards and which is roughly three times larger than the between-game variation of the mean itself.
generated 2026-10-07T09:14:24.223789+00:00 · kpi_slate_report_v3