MLB Prediction System

KPI Catalog & Methodology

2026-10-04 ยท complete reference for all registered metrics

slate 2026-10-04kpis registered 40model features 44as-of cut 2026-10-04
Overview & Methodological Foundations
Registered KPIs
40
40 frozen identity definitions
Batter KPIs
23
contact, discipline, platoon & power
Pitcher KPIs
15
whiff, contact suppression & command
Matchup Archetypes
2
generalization backoff cells
Model Features
44
joint Ridge & Logistic inputs
Prior Shrinkage
Bayesian
shrunk toward league baseline
Architectural Rigor of the KPI Catalog:
  • Strict As-Of Isolation: Every value published for date D is calculated strictly from events occurring prior to D. There is zero data leakage or future peeking.
  • Empirical Bayes Shrinkage: Small samples at depth rank sample variance rather than skill. Every observation is shrunk toward the league mean: shrunk = (n · raw + k · μ) / (n + k).
  • Favourable Normalized Standard Scores: Standard deviation scores (z) and percentiles are calibrated so that a positive z-score is universally beneficial for the measured player.
  • Composite Lineup Weighting: Hitter standard scores are aggregated across distinct skill groups and weighted by projected plate appearances (projected_pa).
Detailed KPI Definitions

Exhaustive Metric by Metric Reference

batter_barrel_rate_vs_breaking

Depth 3 · Created 2026-09-16
batter barrel_rate Floor N ≥ 35
“Which hitters barrel breaking balls most often?”
Scouting & Analytic Rationale: Barrelling a breaking ball is rarer and more discriminating than hitting one hard. Median batter has 38 classified balls in play.
Formula & Unit
barrel_rate (barrel_observations)
Pitch Filter / Condition
pitch_type in ['SL', 'ST', 'CU', 'KC']
Qualifying Sample Floor
35 barrel_observations
Prior Strength (k)
56.259
League Baseline (As-of)
0.0780
Population on Slate Date
350 qual / 655 total
Favourable Orientation
Higher barrel_rate is good for the batter
Matchup Counterpart KPI
pitcher_barrel_rate_allowed
Band Cut Points (As-of): elite: 0.1160 · strong: 0.0911 · average: 0.0601 · weak: 0.0465

batter_barrel_rate_vs_fastball

Depth 3 · Created 2026-09-16
batter barrel_rate Floor N ≥ 75
“Which hitters barrel the fastball family most often?”
Scouting & Analytic Rationale: The best-populated damage cell on the hitter side. Median batter has 83 classified balls in play against the fastball family.
Formula & Unit
barrel_rate (barrel_observations)
Pitch Filter / Condition
pitch_type in ['FF', 'SI', 'FC']
Qualifying Sample Floor
75 barrel_observations
Prior Strength (k)
54.48
League Baseline (As-of)
0.0824
Population on Slate Date
363 qual / 659 total
Favourable Orientation
Higher barrel_rate is good for the batter
Matchup Counterpart KPI
pitcher_barrel_rate_allowed
Band Cut Points (As-of): elite: 0.1288 · strong: 0.1004 · average: 0.0634 · weak: 0.0434

batter_barrel_rate_vs_lhp

Depth 2 · Created 2026-09-16
batter barrel_rate Floor N ≥ 38
“Which hitters barrel left-handed pitching most often?”
Scouting & Analytic Rationale: The split that decides a platoon start. Median batter has 40 classified balls in play against left-handers.
Formula & Unit
barrel_rate (barrel_observations)
Pitch Filter / Condition
p_throws in ['L']
Qualifying Sample Floor
38 barrel_observations
Prior Strength (k)
60.623
League Baseline (As-of)
0.0740
Population on Slate Date
355 qual / 650 total
Favourable Orientation
Higher barrel_rate is good for the batter
Matchup Counterpart KPI
pitcher_barrel_rate_vs_lhh
Band Cut Points (As-of): elite: 0.1126 · strong: 0.0882 · average: 0.0580 · weak: 0.0426

batter_barrel_rate_vs_offspeed

Depth 3 · Created 2026-09-14
batter barrel_rate Floor N ≥ 20
“Which hitters barrel changeups and splitters most often?”
Scouting & Analytic Rationale: Offspeed damage is the cleanest signal a hitter can send about timing. Median batter has 22 measured balls in play against this family, so the floor keeps roughly the top half of the population.
Formula & Unit
barrel_rate (barrel_observations)
Pitch Filter / Condition
pitch_type in ['CH', 'FS']
Qualifying Sample Floor
20 barrel_observations
Prior Strength (k)
70.102
League Baseline (As-of)
0.0563
Population on Slate Date
355 qual / 649 total
Favourable Orientation
Higher barrel_rate is good for the batter
Matchup Counterpart KPI
pitcher_barrel_rate_allowed
Band Cut Points (As-of): elite: 0.0824 · strong: 0.0648 · average: 0.0438 · weak: 0.0367

batter_barrel_rate_vs_rhp

Depth 2 · Created 2026-09-16
batter barrel_rate Floor N ≥ 95
“Which hitters barrel right-handed pitching most often?”
Scouting & Analytic Rationale: Damage against the handedness a hitter sees most. Median batter has 100 classified balls in play.
Formula & Unit
barrel_rate (barrel_observations)
Pitch Filter / Condition
p_throws in ['R']
Qualifying Sample Floor
95 barrel_observations
Prior Strength (k)
51.989
League Baseline (As-of)
0.0786
Population on Slate Date
338 qual / 657 total
Favourable Orientation
Higher barrel_rate is good for the batter
Matchup Counterpart KPI
pitcher_barrel_rate_vs_rhh
Band Cut Points (As-of): elite: 0.1280 · strong: 0.0964 · average: 0.0573 · weak: 0.0391

batter_bat_speed

Depth 1 · Created 2026-09-16
batter bat_speed Floor N ≥ 350
“Which hitters swing the bat fastest?”
Scouting & Analytic Rationale: A physical input rather than an outcome, so it degrades far more slowly than rate cells when a hitter is in a slump. Measured swing speed, not the competitive-swing leaderboard average.
Formula & Unit
bat_speed (bat_speed_observations)
Pitch Filter / Condition
All pitches / plate appearances
Qualifying Sample Floor
350 bat_speed_observations
Prior Strength (k)
247.574
League Baseline (As-of)
69.8042
Population on Slate Date
368 qual / 662 total
Favourable Orientation
Higher bat_speed is good for the batter
Matchup Counterpart KPI
pitcher_release_speed
Band Cut Points (As-of): elite: 72.4307 · strong: 70.8308 · average: 68.8879 · weak: 67.1876

batter_contact_rate_vs_breaking

Depth 3 · Created 2026-09-16
batter contact_rate Floor N ≥ 100
“Which hitters put breaking balls in play most often when they swing?”
Scouting & Analytic Rationale: Balls put in play divided by swings. Foul contact is excluded, so this is not the complement of whiff rate. Median batter has 111 swings.
Formula & Unit
contact_rate (swings)
Pitch Filter / Condition
pitch_type in ['SL', 'ST', 'CU', 'KC']
Qualifying Sample Floor
100 swings
Prior Strength (k)
75.182
League Baseline (As-of)
0.3407
Population on Slate Date
364 qual / 655 total
Favourable Orientation
Higher contact_rate is good for the batter
Matchup Counterpart KPI
pitcher_whiff_rate_breaking
Band Cut Points (As-of): elite: 0.4057 · strong: 0.3654 · average: 0.3147 · weak: 0.2849

batter_contact_xwoba

Depth 1 · Created 2026-09-16
batter contact_xwoba Floor N ≥ 130
“Which hitters produce the most expected value on contact overall?”
Scouting & Analytic Rationale: The unconditioned version of the contact-quality cells, and the widest hitter population the catalog can rank. Median batter has 146 valid observations.
Formula & Unit
contact_xwoba (contact_xwoba_observations)
Pitch Filter / Condition
All pitches / plate appearances
Qualifying Sample Floor
130 contact_xwoba_observations
Prior Strength (k)
92.097
League Baseline (As-of)
0.3619
Population on Slate Date
362 qual / 662 total
Favourable Orientation
Higher contact_xwoba is good for the batter
Matchup Counterpart KPI
pitcher_contact_xwoba_allowed
Band Cut Points (As-of): elite: 0.4151 · strong: 0.3817 · average: 0.3405 · weak: 0.3178

batter_contact_xwoba_vs_breaking

Depth 3 · Created 2026-09-16
batter contact_xwoba Floor N ≥ 35
“Which hitters produce the most expected value on breaking-ball contact?”
Scouting & Analytic Rationale: The breaking-ball counterpart, thinner but more discriminating because most hitters are worse here. Median batter has 37 valid observations.
Formula & Unit
contact_xwoba (contact_xwoba_observations)
Pitch Filter / Condition
pitch_type in ['SL', 'ST', 'CU', 'KC']
Qualifying Sample Floor
35 contact_xwoba_observations
Prior Strength (k)
24.377
League Baseline (As-of)
0.3564
Population on Slate Date
350 qual / 655 total
Favourable Orientation
Higher contact_xwoba is good for the batter
Matchup Counterpart KPI
pitcher_contact_xwoba_allowed
Band Cut Points (As-of): elite: 0.4275 · strong: 0.3804 · average: 0.3264 · weak: 0.3020

batter_contact_xwoba_vs_fastball

Depth 3 · Created 2026-09-16
batter contact_xwoba Floor N ≥ 75
“Which hitters produce the most expected value on fastball contact?”
Scouting & Analytic Rationale: Combines exit velocity and launch angle into one outcome-weighted number, so it separates productive contact from merely hard contact. Median batter has 82 valid observations.
Formula & Unit
contact_xwoba (contact_xwoba_observations)
Pitch Filter / Condition
pitch_type in ['FF', 'SI', 'FC']
Qualifying Sample Floor
75 contact_xwoba_observations
Prior Strength (k)
53.162
League Baseline (As-of)
0.3713
Population on Slate Date
360 qual / 659 total
Favourable Orientation
Higher contact_xwoba is good for the batter
Matchup Counterpart KPI
pitcher_contact_xwoba_allowed
Band Cut Points (As-of): elite: 0.4360 · strong: 0.3937 · average: 0.3480 · weak: 0.3215

batter_exit_velocity_vs_fastball

Depth 3 · Created 2026-09-16
batter exit_velocity Floor N ≥ 75
“Which hitters average the highest exit velocity against fastballs?”
Scouting & Analytic Rationale: A continuous mean rather than a proportion, so it carries information the rate cells round away. Takes a flat weak prior because the binomial shrinkage term does not apply.
Formula & Unit
exit_velocity (ev_observations)
Pitch Filter / Condition
pitch_type in ['FF', 'SI', 'FC']
Qualifying Sample Floor
75 ev_observations
Prior Strength (k)
53.51
League Baseline (As-of)
89.2126
Population on Slate Date
363 qual / 659 total
Favourable Orientation
Higher exit_velocity is good for the batter
Matchup Counterpart KPI
pitcher_hard_hit_rate_allowed
Band Cut Points (As-of): elite: 92.2299 · strong: 90.6053 · average: 88.3904 · weak: 86.3965

batter_ground_ball_rate_vs_fastball

Depth 3 · Created 2026-09-16
batter ground_ball_rate Floor N ≥ 75
“Which hitters beat fastballs into the ground most often?”
Scouting & Analytic Rationale: Sinker-heavy starters live on this. Median batter has 83 classified balls in play against the fastball family.
Formula & Unit
ground_ball_rate (bb_type_observations)
Pitch Filter / Condition
pitch_type in ['FF', 'SI', 'FC']
Qualifying Sample Floor
75 bb_type_observations
Prior Strength (k)
52.356
League Baseline (As-of)
0.4093
Population on Slate Date
364 qual / 659 total
Favourable Orientation
Lower ground_ball_rate is good for the batter (positive z means fewer ground_ball_rate)
Matchup Counterpart KPI
pitcher_ground_ball_rate_induced
Band Cut Points (As-of): elite: 0.3381 · strong: 0.3772 · average: 0.4421 · weak: 0.4857

batter_ground_ball_rate_vs_slider

Depth 3 · Created 2026-09-14
batter ground_ball_rate Floor N ≥ 25
“Which hitters beat the ball into the ground most against sliders and sweepers?”
Scouting & Analytic Rationale: The original worked example from the proposal. Median batter has 28 classified balls in play against the slider family. Ranking asks who pounds it into the ground most; that end is bad for the hitter, so favourable is the low end.
Formula & Unit
ground_ball_rate (bb_type_observations)
Pitch Filter / Condition
pitch_type in ['SL', 'ST']
Qualifying Sample Floor
25 bb_type_observations
Prior Strength (k)
83.539
League Baseline (As-of)
0.3899
Population on Slate Date
352 qual / 654 total
Favourable Orientation
Lower ground_ball_rate is good for the batter (positive z means fewer ground_ball_rate)
Matchup Counterpart KPI
pitcher_ground_ball_rate_induced
Band Cut Points (As-of): elite: 0.3468 · strong: 0.3686 · average: 0.4047 · weak: 0.4341

batter_hard_hit_rate_vs_breaking

Depth 3 · Created 2026-09-14
batter hard_hit_rate Floor N ≥ 30
“Which hitters hit breaking balls hard when they do connect?”
Scouting & Analytic Rationale: Separates hitters who merely make contact on breaking balls from those who damage them. Median batter has 38 measured exit velocities against this family.
Formula & Unit
hard_hit_rate (ev_observations)
Pitch Filter / Condition
pitch_type in ['SL', 'ST', 'CU', 'KC']
Qualifying Sample Floor
30 ev_observations
Prior Strength (k)
35.017
League Baseline (As-of)
0.3478
Population on Slate Date
375 qual / 655 total
Favourable Orientation
Higher hard_hit_rate is good for the batter
Matchup Counterpart KPI
pitcher_hard_hit_rate_allowed
Band Cut Points (As-of): elite: 0.4305 · strong: 0.3840 · average: 0.3174 · weak: 0.2590

batter_hard_hit_rate_vs_fastball

Depth 3 · Created 2026-09-16
batter hard_hit_rate Floor N ≥ 75
“Which hitters hit the fastball family hardest on contact?”
Scouting & Analytic Rationale: Exit velocity against fastballs stabilises faster than any other contact-quality cell. Median batter has 83 measured exit velocities.
Formula & Unit
hard_hit_rate (ev_observations)
Pitch Filter / Condition
pitch_type in ['FF', 'SI', 'FC']
Qualifying Sample Floor
75 ev_observations
Prior Strength (k)
36.639
League Baseline (As-of)
0.4235
Population on Slate Date
363 qual / 659 total
Favourable Orientation
Higher hard_hit_rate is good for the batter
Matchup Counterpart KPI
pitcher_hard_hit_rate_allowed
Band Cut Points (As-of): elite: 0.5164 · strong: 0.4620 · average: 0.3964 · weak: 0.3457

batter_home_run_rate

Depth 1 · Created 2026-09-16
batter home_run_rate Floor N ≥ 200
“Which hitters homer most per plate appearance?”
Scouting & Analytic Rationale: The outcome barrel rate is a leading indicator of. Holding both lets the catalog check whether the leading indicator is doing any work the outcome does not.
Formula & Unit
home_run_rate (pa)
Pitch Filter / Condition
All pitches / plate appearances
Qualifying Sample Floor
200 pa
Prior Strength (k)
264.28
League Baseline (As-of)
0.0304
Population on Slate Date
358 qual / 662 total
Favourable Orientation
Higher home_run_rate is good for the batter
Matchup Counterpart KPI
pitcher_home_run_rate_allowed
Band Cut Points (As-of): elite: 0.0423 · strong: 0.0348 · average: 0.0257 · weak: 0.0201

batter_strikeout_rate

Depth 1 · Created 2026-09-16
batter strikeout_rate Floor N ≥ 200
“Which hitters strike out most per plate appearance?”
Scouting & Analytic Rationale: The outcome the whiff cells are supposed to add up to, kept as its own KPI so the arsenal-level cells can be checked against it. Median batter has 215 completed plate appearances.
Formula & Unit
strikeout_rate (pa)
Pitch Filter / Condition
All pitches / plate appearances
Qualifying Sample Floor
200 pa
Prior Strength (k)
48.673
League Baseline (As-of)
0.2212
Population on Slate Date
358 qual / 662 total
Favourable Orientation
Lower strikeout_rate is good for the batter (positive z means fewer strikeout_rate)
Matchup Counterpart KPI
pitcher_strikeout_rate
Band Cut Points (As-of): elite: 0.1468 · strong: 0.1912 · average: 0.2454 · weak: 0.2960

batter_walk_rate

Depth 1 · Created 2026-09-16
batter walk_rate Floor N ≥ 200
“Which hitters walk most per plate appearance?”
Scouting & Analytic Rationale: Plate discipline is the half of offence the contact-quality cells cannot see at all. Median batter has 215 completed plate appearances.
Formula & Unit
walk_rate (pa)
Pitch Filter / Condition
All pitches / plate appearances
Qualifying Sample Floor
200 pa
Prior Strength (k)
119.108
League Baseline (As-of)
0.0889
Population on Slate Date
358 qual / 662 total
Favourable Orientation
Higher walk_rate is good for the batter
Matchup Counterpart KPI
pitcher_walk_rate
Band Cut Points (As-of): elite: 0.1173 · strong: 0.1003 · average: 0.0774 · weak: 0.0604

batter_whiff_rate_vs_breaking

Depth 3 · Created 2026-09-16
batter whiff_rate Floor N ≥ 100
“Which hitters swing and miss most against breaking balls?”
Scouting & Analytic Rationale: Breaking-ball whiff is the split a starter with a plus slider attacks directly. Median batter has 111 swings against the family.
Formula & Unit
whiff_rate (swings)
Pitch Filter / Condition
pitch_type in ['SL', 'ST', 'CU', 'KC']
Qualifying Sample Floor
100 swings
Prior Strength (k)
43.842
League Baseline (As-of)
0.3064
Population on Slate Date
364 qual / 655 total
Favourable Orientation
Lower whiff_rate is good for the batter (positive z means fewer whiff_rate)
Matchup Counterpart KPI
pitcher_whiff_rate_breaking
Band Cut Points (As-of): elite: 0.2224 · strong: 0.2717 · average: 0.3406 · weak: 0.3837

batter_whiff_rate_vs_fastball

Depth 3 · Created 2026-09-14
batter whiff_rate Floor N ≥ 100
“Which hitters swing and miss most against the fastball family?”
Scouting & Analytic Rationale: The deepest and best-populated cell available: median batter has 223 swings against the fastball family, so the interval here is genuinely tight.
Formula & Unit
whiff_rate (swings)
Pitch Filter / Condition
pitch_type in ['FF', 'SI', 'FC']
Qualifying Sample Floor
100 swings
Prior Strength (k)
47.733
League Baseline (As-of)
0.1693
Population on Slate Date
470 qual / 659 total
Favourable Orientation
Lower whiff_rate is good for the batter (positive z means fewer whiff_rate)
Matchup Counterpart KPI
pitcher_whiff_rate_fastball
Band Cut Points (As-of): elite: 0.1074 · strong: 0.1420 · average: 0.1918 · weak: 0.2324

batter_whiff_rate_vs_lhp

Depth 2 · Created 2026-09-16
batter whiff_rate Floor N ≥ 100
“Which hitters swing and miss most against left-handed pitching?”
Scouting & Analytic Rationale: Thinner than the right-handed split by construction, since most innings are thrown right-handed. Median batter has 111 swings.
Formula & Unit
whiff_rate (swings)
Pitch Filter / Condition
p_throws in ['L']
Qualifying Sample Floor
100 swings
Prior Strength (k)
47.186
League Baseline (As-of)
0.2294
Population on Slate Date
370 qual / 650 total
Favourable Orientation
Lower whiff_rate is good for the batter (positive z means fewer whiff_rate)
Matchup Counterpart KPI
pitcher_whiff_rate_vs_lhh
Band Cut Points (As-of): elite: 0.1571 · strong: 0.1962 · average: 0.2591 · weak: 0.2962

batter_whiff_rate_vs_offspeed

Depth 3 · Created 2026-09-16
batter whiff_rate Floor N ≥ 55
“Which hitters swing and miss most against changeups and splitters?”
Scouting & Analytic Rationale: Completes the three-family whiff picture so a starter's arsenal can be matched against the exact family each hitter misses. Median batter has 62 swings.
Formula & Unit
whiff_rate (swings)
Pitch Filter / Condition
pitch_type in ['CH', 'FS']
Qualifying Sample Floor
55 swings
Prior Strength (k)
32.433
League Baseline (As-of)
0.3037
Population on Slate Date
364 qual / 649 total
Favourable Orientation
Lower whiff_rate is good for the batter (positive z means fewer whiff_rate)
Matchup Counterpart KPI
pitcher_whiff_rate
Band Cut Points (As-of): elite: 0.2193 · strong: 0.2612 · average: 0.3422 · weak: 0.3951

batter_whiff_rate_vs_rhp

Depth 2 · Created 2026-09-16
batter whiff_rate Floor N ≥ 250
“Which hitters swing and miss most against right-handed pitching?”
Scouting & Analytic Rationale: The platoon split the lineup card is actually built around. Median batter has 265 swings against right-handers.
Formula & Unit
whiff_rate (swings)
Pitch Filter / Condition
p_throws in ['R']
Qualifying Sample Floor
250 swings
Prior Strength (k)
49.423
League Baseline (As-of)
0.2283
Population on Slate Date
351 qual / 657 total
Favourable Orientation
Lower whiff_rate is good for the batter (positive z means fewer whiff_rate)
Matchup Counterpart KPI
pitcher_whiff_rate_vs_rhh
Band Cut Points (As-of): elite: 0.1535 · strong: 0.1977 · average: 0.2555 · weak: 0.2979

matchup_barrel_rate_archetype

Depth 6 · Created 2026-09-14
matchup barrel_rate Floor N ≥ 1
“For this hitter archetype against this pitcher archetype, how often is contact barrelled?”
Scouting & Analytic Rationale: The generalization ladder's level 6 asked exactly this and produced zero cells: 504,109 raw cells over 649,238 pitches, median one pitch, largest cell 56. Resolved here by backing off through handedness, pitch type, batter archetype and batter-by-pitcher archetype, so every pairing returns a number weighted by the data it actually has.
Formula & Unit
barrel_rate (observations)
Pitch Filter / Condition
All pitches / plate appearances
Qualifying Sample Floor
1 observations
Prior Strength (k)
flat weak prior
League Baseline (As-of)
0.0772
Population on Slate Date
0 qual / 0 total
Favourable Orientation
Higher barrel_rate is good for the matchup
Matchup Counterpart KPI
Standalone (no counterpart)
Band Cut Points (As-of): Standard population normal

matchup_whiff_rate_archetype

Depth 6 · Created 2026-09-14
matchup whiff_rate Floor N ≥ 1
“For this hitter archetype against this pitcher archetype, how often does a swing miss?”
Scouting & Analytic Rationale: The same archetype pairing measured on swings rather than contact quality. Swings are the best-populated denominator available, so this is the deepest level the data supports most comfortably.
Formula & Unit
whiff_rate (observations)
Pitch Filter / Condition
All pitches / plate appearances
Qualifying Sample Floor
1 observations
Prior Strength (k)
flat weak prior
League Baseline (As-of)
0.2286
Population on Slate Date
0 qual / 0 total
Favourable Orientation
Lower whiff_rate is good for the matchup (positive z means fewer whiff_rate)
Matchup Counterpart KPI
Standalone (no counterpart)
Band Cut Points (As-of): Standard population normal

pitcher_barrel_rate_allowed

Depth 1 · Created 2026-09-14
pitcher barrel_rate Floor N ≥ 50
“Which pitchers give up barrels most often on contact?”
Scouting & Analytic Rationale: Pitcher-side control KPI with no pitch condition, so its cells are the largest in the seed set. Included to check that the scorecard can distinguish a well-measured KPI from a thin one.
Formula & Unit
barrel_rate (barrel_observations)
Pitch Filter / Condition
All pitches / plate appearances
Qualifying Sample Floor
50 barrel_observations
Prior Strength (k)
399.07
League Baseline (As-of)
0.0772
Population on Slate Date
576 qual / 866 total
Favourable Orientation
Lower barrel_rate is good for the pitcher (positive z means fewer barrel_rate)
Matchup Counterpart KPI
batter_barrel_rate_vs_fastball
Band Cut Points (As-of): elite: 0.0683 · strong: 0.0733 · average: 0.0801 · weak: 0.0854

pitcher_barrel_rate_vs_lhh

Depth 2 · Created 2026-09-16
pitcher barrel_rate Floor N ≥ 40
“Which pitchers are barrelled most often by left-handed hitters?”
Scouting & Analytic Rationale: The left-handed counterpart. Median pitcher has 42 classified balls in play.
Formula & Unit
barrel_rate (barrel_observations)
Pitch Filter / Condition
stand in ['L']
Qualifying Sample Floor
40 barrel_observations
Prior Strength (k)
284.541
League Baseline (As-of)
0.0780
Population on Slate Date
462 qual / 862 total
Favourable Orientation
Lower barrel_rate is good for the pitcher (positive z means fewer barrel_rate)
Matchup Counterpart KPI
batter_barrel_rate_vs_lhp
Band Cut Points (As-of): elite: 0.0678 · strong: 0.0734 · average: 0.0809 · weak: 0.0872

pitcher_barrel_rate_vs_rhh

Depth 2 · Created 2026-09-16
pitcher barrel_rate Floor N ≥ 45
“Which pitchers are barrelled most often by right-handed hitters?”
Scouting & Analytic Rationale: Damage allowed split by hitter handedness, which is the form a lineup-construction decision actually takes. Median pitcher has 48 classified balls in play.
Formula & Unit
barrel_rate (barrel_observations)
Pitch Filter / Condition
stand in ['R']
Qualifying Sample Floor
45 barrel_observations
Prior Strength (k)
324.388
League Baseline (As-of)
0.0765
Population on Slate Date
459 qual / 866 total
Favourable Orientation
Lower barrel_rate is good for the pitcher (positive z means fewer barrel_rate)
Matchup Counterpart KPI
batter_barrel_rate_vs_rhp
Band Cut Points (As-of): elite: 0.0670 · strong: 0.0723 · average: 0.0794 · weak: 0.0857

pitcher_contact_xwoba_allowed

Depth 1 · Created 2026-09-16
pitcher contact_xwoba Floor N ≥ 75
“Which pitchers allow the most expected value on contact?”
Scouting & Analytic Rationale: Outcome-weighted contact quality allowed, which is closer to runs than either barrel rate or hard-hit rate alone. Median pitcher has 88 valid observations.
Formula & Unit
contact_xwoba (contact_xwoba_observations)
Pitch Filter / Condition
All pitches / plate appearances
Qualifying Sample Floor
75 contact_xwoba_observations
Prior Strength (k)
70.402
League Baseline (As-of)
0.3619
Population on Slate Date
496 qual / 866 total
Favourable Orientation
Lower contact_xwoba is good for the pitcher (positive z means fewer contact_xwoba)
Matchup Counterpart KPI
batter_contact_xwoba_vs_fastball
Band Cut Points (As-of): elite: 0.3305 · strong: 0.3457 · average: 0.3707 · weak: 0.3913

pitcher_ground_ball_rate_induced

Depth 1 · Created 2026-09-16
pitcher ground_ball_rate Floor N ≥ 75
“Which pitchers induce ground balls most often?”
Scouting & Analytic Rationale: The direct counterpart to the two hitter ground-ball cells, which is what makes a sinker-versus-groundball-hitter matchup expressible. Median pitcher has 89 classified balls in play.
Formula & Unit
ground_ball_rate (bb_type_observations)
Pitch Filter / Condition
All pitches / plate appearances
Qualifying Sample Floor
75 bb_type_observations
Prior Strength (k)
65.882
League Baseline (As-of)
0.4240
Population on Slate Date
499 qual / 866 total
Favourable Orientation
Higher ground_ball_rate is good for the pitcher
Matchup Counterpart KPI
batter_ground_ball_rate_vs_fastball
Band Cut Points (As-of): elite: 0.4936 · strong: 0.4500 · average: 0.3971 · weak: 0.3626

pitcher_hard_hit_rate_allowed

Depth 1 · Created 2026-09-16
pitcher hard_hit_rate Floor N ≥ 75
“Which pitchers allow hard contact most often?”
Scouting & Analytic Rationale: A wider denominator than barrels allowed, so it stabilises sooner at the cost of being less extreme. Median pitcher has 89 measured exit velocities.
Formula & Unit
hard_hit_rate (ev_observations)
Pitch Filter / Condition
All pitches / plate appearances
Qualifying Sample Floor
75 ev_observations
Prior Strength (k)
264.559
League Baseline (As-of)
0.3871
Population on Slate Date
497 qual / 866 total
Favourable Orientation
Lower hard_hit_rate is good for the pitcher (positive z means fewer hard_hit_rate)
Matchup Counterpart KPI
batter_hard_hit_rate_vs_fastball
Band Cut Points (As-of): elite: 0.3620 · strong: 0.3758 · average: 0.3971 · weak: 0.4115

pitcher_home_run_rate_allowed

Depth 1 · Created 2026-09-16
pitcher home_run_rate Floor N ≥ 120
“Which pitchers allow the most home runs per plate appearance?”
Scouting & Analytic Rationale: The outcome barrels allowed is a leading indicator of, kept separately so the pair can be compared. Median pitcher has 138 plate appearances faced.
Formula & Unit
home_run_rate (pa)
Pitch Filter / Condition
All pitches / plate appearances
Qualifying Sample Floor
120 pa
Prior Strength (k)
446.794
League Baseline (As-of)
0.0304
Population on Slate Date
485 qual / 866 total
Favourable Orientation
Lower home_run_rate is good for the pitcher (positive z means fewer home_run_rate)
Matchup Counterpart KPI
batter_home_run_rate
Band Cut Points (As-of): elite: 0.0245 · strong: 0.0270 · average: 0.0321 · weak: 0.0361

pitcher_release_speed

Depth 1 · Created 2026-09-16
pitcher release_speed Floor N ≥ 450
“Which pitchers throw hardest on average across their whole mix?”
Scouting & Analytic Rationale: A continuous mean over every pitch thrown, so it is pitch-mix dependent by construction: a heavy breaking-ball starter reads slower without being worse. Included as a physical input that moves slowly, not as a quality ranking.
Formula & Unit
release_speed (release_speed_observations)
Pitch Filter / Condition
All pitches / plate appearances
Qualifying Sample Floor
450 release_speed_observations
Prior Strength (k)
407.411
League Baseline (As-of)
89.6212
Population on Slate Date
490 qual / 866 total
Favourable Orientation
Higher release_speed is good for the pitcher
Matchup Counterpart KPI
batter_exit_velocity_vs_fastball
Band Cut Points (As-of): elite: 92.2150 · strong: 90.7247 · average: 88.8175 · weak: 87.3331

pitcher_strikeout_rate

Depth 1 · Created 2026-09-16
pitcher strikeout_rate Floor N ≥ 120
“Which pitchers strike out the most batters per plate appearance?”
Scouting & Analytic Rationale: The outcome the whiff cells should add up to on the pitcher side. Median pitcher has 138 completed plate appearances faced.
Formula & Unit
strikeout_rate (pa)
Pitch Filter / Condition
All pitches / plate appearances
Qualifying Sample Floor
120 pa
Prior Strength (k)
80.208
League Baseline (As-of)
0.2212
Population on Slate Date
485 qual / 866 total
Favourable Orientation
Higher strikeout_rate is good for the pitcher
Matchup Counterpart KPI
batter_strikeout_rate
Band Cut Points (As-of): elite: 0.2761 · strong: 0.2436 · average: 0.2019 · weak: 0.1753

pitcher_walk_rate

Depth 1 · Created 2026-09-16
pitcher walk_rate Floor N ≥ 120
“Which pitchers walk the most batters per plate appearance?”
Scouting & Analytic Rationale: Command, which no contact-quality cell can see. Median pitcher has 138 completed plate appearances faced.
Formula & Unit
walk_rate (pa)
Pitch Filter / Condition
All pitches / plate appearances
Qualifying Sample Floor
120 pa
Prior Strength (k)
157.625
League Baseline (As-of)
0.0889
Population on Slate Date
485 qual / 866 total
Favourable Orientation
Lower walk_rate is good for the pitcher (positive z means fewer walk_rate)
Matchup Counterpart KPI
batter_walk_rate
Band Cut Points (As-of): elite: 0.0687 · strong: 0.0794 · average: 0.0987 · weak: 0.1128

pitcher_whiff_rate

Depth 1 · Created 2026-09-16
pitcher whiff_rate Floor N ≥ 200
“Which pitchers generate swings and misses most often?”
Scouting & Analytic Rationale: The single most stable pitcher skill available from pitch data. Median pitcher has 254 swings induced.
Formula & Unit
whiff_rate (swings)
Pitch Filter / Condition
All pitches / plate appearances
Qualifying Sample Floor
200 swings
Prior Strength (k)
101.208
League Baseline (As-of)
0.2286
Population on Slate Date
495 qual / 866 total
Favourable Orientation
Higher whiff_rate is good for the pitcher
Matchup Counterpart KPI
batter_whiff_rate_vs_fastball
Band Cut Points (As-of): elite: 0.2795 · strong: 0.2489 · average: 0.2084 · weak: 0.1863

pitcher_whiff_rate_breaking

Depth 3 · Created 2026-09-16
pitcher whiff_rate Floor N ≥ 60
“Which pitchers miss bats with breaking balls?”
Scouting & Analytic Rationale: Pairs against batter_whiff_rate_vs_breaking. Median pitcher has 65 swings induced against the family.
Formula & Unit
whiff_rate (swings)
Pitch Filter / Condition
pitch_type in ['SL', 'ST', 'CU', 'KC']
Qualifying Sample Floor
60 swings
Prior Strength (k)
47.976
League Baseline (As-of)
0.3064
Population on Slate Date
438 qual / 812 total
Favourable Orientation
Higher whiff_rate is good for the pitcher
Matchup Counterpart KPI
batter_whiff_rate_vs_breaking
Band Cut Points (As-of): elite: 0.3777 · strong: 0.3362 · average: 0.2767 · weak: 0.2368

pitcher_whiff_rate_fastball

Depth 3 · Created 2026-09-16
pitcher whiff_rate Floor N ≥ 130
“Which pitchers miss bats with the fastball family?”
Scouting & Analytic Rationale: Pairs directly against batter_whiff_rate_vs_fastball, which is the arsenal-versus-weakness comparison the catalog exists to make. Median pitcher has 146 swings induced.
Formula & Unit
whiff_rate (swings)
Pitch Filter / Condition
pitch_type in ['FF', 'SI', 'FC']
Qualifying Sample Floor
130 swings
Prior Strength (k)
81.412
League Baseline (As-of)
0.1693
Population on Slate Date
454 qual / 812 total
Favourable Orientation
Higher whiff_rate is good for the pitcher
Matchup Counterpart KPI
batter_whiff_rate_vs_fastball
Band Cut Points (As-of): elite: 0.2179 · strong: 0.1850 · average: 0.1517 · weak: 0.1249

pitcher_whiff_rate_vs_lhh

Depth 2 · Created 2026-09-16
pitcher whiff_rate Floor N ≥ 110
“Which pitchers miss bats against left-handed hitters?”
Scouting & Analytic Rationale: The reverse-platoon half. Median pitcher has 117 swings induced against left-handed hitters.
Formula & Unit
whiff_rate (swings)
Pitch Filter / Condition
stand in ['L']
Qualifying Sample Floor
110 swings
Prior Strength (k)
87.157
League Baseline (As-of)
0.2244
Population on Slate Date
460 qual / 862 total
Favourable Orientation
Higher whiff_rate is good for the pitcher
Matchup Counterpart KPI
batter_whiff_rate_vs_lhp
Band Cut Points (As-of): elite: 0.2766 · strong: 0.2438 · average: 0.2065 · weak: 0.1787

pitcher_whiff_rate_vs_rhh

Depth 2 · Created 2026-09-16
pitcher whiff_rate Floor N ≥ 125
“Which pitchers miss bats against right-handed hitters?”
Scouting & Analytic Rationale: The platoon half of pitcher whiff, which is what decides how a lineup is stacked against him. Median pitcher has 132 swings induced.
Formula & Unit
whiff_rate (swings)
Pitch Filter / Condition
stand in ['R']
Qualifying Sample Floor
125 swings
Prior Strength (k)
86.768
League Baseline (As-of)
0.2327
Population on Slate Date
450 qual / 866 total
Favourable Orientation
Higher whiff_rate is good for the pitcher
Matchup Counterpart KPI
batter_whiff_rate_vs_rhp
Band Cut Points (As-of): elite: 0.2886 · strong: 0.2557 · average: 0.2132 · weak: 0.1879
Each KPI has a frozen mathematical identity hash ensuring immutable chronological validity.
generated 2026-10-06T17:18:14.894288+00:00 · kpi_slate_report_v3 · source: config/kpi_registry.json · output/learning/kpi/values