KPI learning cycle: 20261005

Settled pregame forecasts against official finals, a rolling self-assessment, the calibration it produced and the actions it took · 2026-10-06 15:04 UTC

Yesterday: where the forecast went wrong

Games settled
2
0 excluded · finals data/games.csv
Club-run MAE by stage
– → –
baseline → blend · KPI alone – · published 1.75
Layer moved toward result
0/0
club totals the layer moved
Player lines from
statsapi.mlb.com box scores
GameClubActualBaselineKPI aloneBlendPublishedCard rightSP outs errPen share errFeature that pushed hardest the wrong wayDominant cause
CHW@CLECHW4–––4––––KPI layer did not apply
CHW@CLECLE3–––5––––KPI layer did not apply
NYY@TBNYY2–––4––––KPI layer did not apply
NYY@TBTB5–––2––––KPI layer did not apply

Causes are checked in a fixed order and the first that applies is named: layer refused, wrong card (3+ of nine), starter length (±6 outs), bullpen share (±0.20), KPI moved away by 0.3+ runs, outlier (5+ runs from the baseline), then variance. Every cause that applied is kept in the settled document.

Bullpen: who the forecast expected against who pitched

Relievers who pitched, in the pregame bullpen
–
0 relievers over 0 club-games
Closer named = arm who finished
–
Probability it pitches
– / –
arms who pitched / stayed idle · Brier –
Batters faced error per arm
–
GameClubPitched and in poolPoolPitched but not in poolCloser right
Bullpen usage model: kept current (the next slate has started generating)

Luna KPI review

Luna skipped_no_pregame_evidence. KPI-level faults 4, player-level faults 2, players flagged 16. New KPIs admitted 0, active candidates 10, promoted 0. Full review: 20261005_kpi_luna_review.html.

Per-player, per-club and per-KPI failures: 20261005_kpi_failures.html, every hitter and pitcher on the card scored against his real line, with the reason and size of each miss and the rolling ledger.

Self-assessment: 20 settled slates in the last 21 days

Blend gain over baseline
+0.025
90% [-0.086, +0.139]
KPI alone gain over baseline
-0.052
90% [-0.240, +0.137]
Club totals scored
224
moved toward 112/224

Blend weights: what the settled games imply

TargetClub totalsModel weightImplied by evidenceClamped 0–1
away_runs1120.690.350.35
home_runs1120.440.680.68

The implied weight is the least-squares fit of (actual − baseline) on (KPI − baseline) over the window's settled club totals. It is evidence for the next walk-forward refit, never applied directly.

Why club totals missed

CauseOwnerShareCountMean published error
KPI layer did not applyoperator: fix the missing input named in the reason22%562.50
Card named hitters who did not startdata feed: posted lineups arrive after the pregame run10%262.46
Starter length missed by two innings or moremodel: starter workload projection14%362.14
Bullpen share missed by a fifth of the game or moremodel: bullpen exposure method3%82.00
KPI layer moved the total away from the resultKPI model: weights, features or recipe15%402.65
Outlier game, five or more runs from any mean forecastnone: not forecastable7%175.24
Ordinary one-game variancenone30%771.83

Lineups, starters and bullpen exposure

MeasurenBiasMean absolute error
Card hitters who did not start (of nine)256–1.02
Starter outs (projected − actual)239+1.943.75
Bullpen share, published staff (used by the KPI model)181-0.0550.137
Bullpen share, full relief corps (effects document)243-0.0540.133

Per-hitter KPI matchups

MetricHitter-gamesMAE publishedMAE adjustedDirection rightRateChanceLiftTough per PAFavourable per PASeparationSELearned ββ status
H16620.68370.6835729/14270.5110.493+0.0180.1990.233+0.0350.0121.000measured scale confirmed: the interval includes 1.0
SO20440.67810.68711021/20080.5080.498+0.0100.1880.259+0.0710.0110.427learned: the interval excludes 1.0
BB20440.46620.46201008/18350.5490.537+0.0130.0750.091+0.0160.0070.250learned: the interval excludes 1.0
HR20440.22160.2191858/13190.6500.621+0.0300.0280.039+0.0110.0051.750learned: the interval excludes 1.0

Chance is the direction rate expected from the sign mix alone. Separation is the favourable third's rate per plate appearance minus the tough third's, bucketed by the whole-staff multiplier. Learned β scales the matchup adjustment in the effects document from the next slate on.

KPI features ranked by net runs pushed toward the result (worst first)

FeatureSeenScoredPushed away rateNet runsDrift ±3σ
home_off_power_spread76760.59-12.212
home_platoon_barrel62620.68-8.340
away_off_discipline57570.68-7.342
home_platoon_whiff79790.58-7.210
home_off_ground_spread69690.58-4.820
home_sp_suppress58580.59-4.300
away_x_fastball24240.67-3.957
away_sp_ground62620.61-3.832
away_off_contact_spread97970.54-3.720
home_x_fastball36360.61-2.986
away_x_suppress32320.56-2.868
home_off_top3_contact66660.58-2.750
Winner decision. Over 130 settled games the published winner was right 0.561 and the trained classifier 0.623. They disagreed 30 times; the classifier was right 0.633 of those (advantage +0.267, interval -0.029 to +0.583). Verdict: no_signal; the policy changes only on 40+ disagreements with an interval clear of zero.

What the system learned and did

Calibration snapshot for 20261006, built from 20 settled slates: H β 1.000 (measured scale confirmed: the interval includes 1.0), SO β 0.427 (learned: the interval excludes 1.0), BB β 0.250 (learned: the interval excludes 1.0), HR β 1.750 (learned: the interval excludes 1.0). Bullpen exposure method preferred: undecided.
KPI model: decision retrain (weekly cadence; away_runs: settled evidence implies weight 0.35 against the model's 0.69) — not executed: today's slate has already started generating. Rollback check: kept.

Needs an operator

FindingOwnerPriorityAction
starter length biased by +1.9 outs over 239 startsmodelmediumrecalibrate the starter workload projection toward real outs per start
home_platoon_barrel pushed the KPI forecast away from the result in 68% of 62 scored club totals, net -8.3 runsKPI model recipelowcandidate for removal or rework in the next kpi_model version
away_off_discipline pushed the KPI forecast away from the result in 68% of 57 scored club totals, net -7.3 runsKPI model recipelowcandidate for removal or rework in the next kpi_model version
away_x_fastball was beyond ±3 standard deviations of its training range in 7 club totalsKPI model recipemediumthe live feature is built differently from the training rows; align the two constructions and retrain
home_x_fastball was beyond ±3 standard deviations of its training range in 6 club totalsKPI model recipemediumthe live feature is built differently from the training rows; align the two constructions and retrain
away_x_suppress was beyond ±3 standard deviations of its training range in 8 club totalsKPI model recipemediumthe live feature is built differently from the training rows; align the two constructions and retrain
away_off_power_spread was beyond ±3 standard deviations of its training range in 8 club totalsKPI model recipemediumthe live feature is built differently from the training rows; align the two constructions and retrain
away_x_ground was beyond ±3 standard deviations of its training range in 6 club totalsKPI model recipemediumthe live feature is built differently from the training rows; align the two constructions and retrain
away_x_breaking was beyond ±3 standard deviations of its training range in 6 club totalsKPI model recipemediumthe live feature is built differently from the training rows; align the two constructions and retrain
pitcher_strikeout_rate (elite) on SO: adjustments made SO worse over 226 hitter-games in 12 days, mean gain -0.0401, interval (-0.06725, -0.01307)KPI recipemediumreview this KPI's weight in the matchup multiplier; it is an operator change to the recipe
pitcher_home_run_rate_allowed (poor) on HR: adjustments made HR worse over 259 hitter-games in 12 days, mean gain -0.0142, interval (-0.01776, -0.01148)KPI recipemediumreview this KPI's weight in the matchup multiplier; it is an operator change to the recipe
pitcher_walk_rate (weak) on BB: adjustments made BB worse over 162 hitter-games in 7 days, mean gain -0.0106, interval (-0.01953, -0.00226)KPI recipemediumreview this KPI's weight in the matchup multiplier; it is an operator change to the recipe
batter_strikeout_rate (average) on SO: adjustments made SO worse over 1032 hitter-games in 14 days, mean gain -0.0101, interval (-0.01746, -0.00353)KPI recipemediumreview this KPI's weight in the matchup multiplier; it is an operator change to the recipe
pitcher_home_run_rate_allowed (weak) on HR: adjustments made HR worse over 331 hitter-games in 9 days, mean gain -0.0049, interval (-0.00669, -0.00313)KPI recipemediumreview this KPI's weight in the matchup multiplier; it is an operator change to the recipe
pitcher_strikeout_rate (average) on SO: adjustments made SO worse over 910 hitter-games in 14 days, mean gain -0.0038, interval (-0.00645, -0.00097)KPI recipemediumreview this KPI's weight in the matchup multiplier; it is an operator change to the recipe
pitcher_walk_rate (average) on BB: adjustments made BB worse over 957 hitter-games in 14 days, mean gain -0.0009, interval (-0.00174, -0.0002)KPI recipemediumreview this KPI's weight in the matchup multiplier; it is an operator change to the recipe
ATL: KPI blend worse than the baseline over 12 games (MAE 2.462 vs 2.455, bias +0.299)KPI modelmediumcheck the wrong-way features listed for this club and its data coverage
BAL: KPI blend worse than the baseline over 6 games (MAE 2.227 vs 2.2, bias -0.397)KPI modelmediumcheck the wrong-way features listed for this club and its data coverage
BOS: KPI blend worse than the baseline over 8 games (MAE 2.185 vs 1.714, bias +2.185)KPI modelmediumcheck the wrong-way features listed for this club and its data coverage
DET: KPI blend worse than the baseline over 6 games (MAE 2.099 vs 2.0, bias +0.464)KPI modelmediumcheck the wrong-way features listed for this club and its data coverage
HOU: KPI blend worse than the baseline over 9 games (MAE 2.902 vs 1.875, bias -2.073)KPI modelmediumcheck the wrong-way features listed for this club and its data coverage
LAD: KPI blend worse than the baseline over 11 games (MAE 2.776 vs 2.3, bias +1.513)KPI modelmediumcheck the wrong-way features listed for this club and its data coverage
MIA: KPI blend worse than the baseline over 9 games (MAE 1.74 vs 1.5, bias +0.134)KPI modelmediumcheck the wrong-way features listed for this club and its data coverage
ARI: KPI blend worse than the baseline over 9 games (MAE 3.175 vs 3.125, bias -1.975)KPI modelmediumcheck the wrong-way features listed for this club and its data coverage
WAS: KPI blend worse than the baseline over 7 games (MAE 2.081 vs 2.0, bias -0.588)KPI modelmediumcheck the wrong-way features listed for this club and its data coverage
COL: KPI blend worse than the baseline over 8 games (MAE 3.165 vs 2.857, bias +0.775)KPI modelmediumcheck the wrong-way features listed for this club and its data coverage
SF: KPI blend worse than the baseline over 9 games (MAE 1.861 vs 1.75, bias +1.054)KPI modelmediumcheck the wrong-way features listed for this club and its data coverage
STL: KPI blend worse than the baseline over 8 games (MAE 1.834 vs 1.571, bias +0.569)KPI modelmediumcheck the wrong-way features listed for this club and its data coverage
Rafael Flores Jr. (PIT): KPI adjustments hurt SO (gain -0.79 over 6 games, bias +0.57), BB (gain -0.01 over 6 games, bias -0.02)KPI readingslowhis KPI reading or its opponent pairing misleads; watch whether it persists before any change
Yuki Matsui (SD): KPI adjustments hurt BB (gain -0.72 over 7 games, bias +0.57), HR (gain -0.01 over 7 games, bias +0.16), H (gain -0.12 over 6 games, bias +0.44)KPI readingslowhis KPI reading or its opponent pairing misleads; watch whether it persists before any change
Jeremiah Jackson (BAL): KPI adjustments hurt SO (gain -0.69 over 6 games, bias -0.42)KPI readingslowhis KPI reading or its opponent pairing misleads; watch whether it persists before any change
Mike Trout (LAA): KPI adjustments hurt SO (gain -0.60 over 8 games, bias +0.35), BB (gain -0.31 over 8 games, bias -0.56), HR (gain -0.03 over 8 games, bias +0.04)KPI readingslowhis KPI reading or its opponent pairing misleads; watch whether it persists before any change
Shay Whitcomb (SF): KPI adjustments hurt SO (gain -0.57 over 6 games, bias +0.19)KPI readingslowhis KPI reading or its opponent pairing misleads; watch whether it persists before any change
Trea Turner (PHI): KPI adjustments hurt SO (gain -0.56 over 9 games, bias +0.38)KPI readingslowhis KPI reading or its opponent pairing misleads; watch whether it persists before any change
Jonny DeLuca (TB): KPI adjustments hurt SO (gain -0.55 over 6 games, bias +0.06)KPI readingslowhis KPI reading or its opponent pairing misleads; watch whether it persists before any change
Coby Mayo (BAL): KPI adjustments hurt SO (gain -0.55 over 6 games, bias +0.26), BB (gain -0.02 over 6 games, bias -0.16), H (gain -0.13 over 5 games, bias -0.20)KPI readingslowhis KPI reading or its opponent pairing misleads; watch whether it persists before any change
Calvin Faucher (MIA): KPI adjustments hurt BB (gain -0.54 over 5 games, bias +0.48), HR (gain -0.01 over 5 games, bias +0.02)KPI readingslowhis KPI reading or its opponent pairing misleads; watch whether it persists before any change
Cade Smith (CLE): KPI adjustments hurt SO (gain -0.53 over 5 games, bias +0.82), HR (gain -0.03 over 5 games, bias +0.08)KPI readingslowhis KPI reading or its opponent pairing misleads; watch whether it persists before any change
Kyle Schwarber (PHI): KPI adjustments hurt SO (gain -0.52 over 9 games, bias +0.93), BB (gain -0.05 over 9 games, bias -0.26)KPI readingslowhis KPI reading or its opponent pairing misleads; watch whether it persists before any change
Ty France (SD): KPI adjustments hurt SO (gain -0.52 over 11 games, bias +0.14)KPI readingslowhis KPI reading or its opponent pairing misleads; watch whether it persists before any change
Jordan Walker (STL): KPI adjustments hurt SO (gain -0.51 over 8 games, bias -0.22)KPI readingslowhis KPI reading or its opponent pairing misleads; watch whether it persists before any change
Christian Walker (HOU): KPI adjustments hurt SO (gain -0.46 over 9 games, bias +0.32)KPI readingslowhis KPI reading or its opponent pairing misleads; watch whether it persists before any change
Erik Sabrowski (CLE): KPI adjustments hurt SO (gain -0.45 over 5 games, bias -0.04), HR (gain -0.05 over 5 games, bias +0.12)KPI readingslowhis KPI reading or its opponent pairing misleads; watch whether it persists before any change
Christian Moore (LAA): KPI adjustments hurt SO (gain -0.45 over 8 games, bias +0.09), HR (gain -0.03 over 8 games, bias -0.02)KPI readingslowhis KPI reading or its opponent pairing misleads; watch whether it persists before any change
Ryan O'Hearn (PIT): KPI adjustments hurt SO (gain -0.44 over 7 games, bias -0.23), BB (gain -0.02 over 7 games, bias -0.02), H (gain -0.01 over 5 games, bias -0.23)KPI readingslowhis KPI reading or its opponent pairing misleads; watch whether it persists before any change
Drake Baldwin (ATL): KPI adjustments hurt SO (gain -0.43 over 11 games, bias +0.44)KPI readingslowhis KPI reading or its opponent pairing misleads; watch whether it persists before any change
Tim Tawa (ARI): KPI adjustments hurt H (gain -0.42 over 7 games, bias +0.10)KPI readingslowhis KPI reading or its opponent pairing misleads; watch whether it persists before any change
Vaughn Grissom (LAA): KPI adjustments hurt SO (gain -0.41 over 9 games, bias +0.52), HR (gain -0.04 over 9 games, bias -0.07)KPI readingslowhis KPI reading or its opponent pairing misleads; watch whether it persists before any change
Ketel Marte (ARI): KPI adjustments hurt H (gain -0.41 over 7 games, bias +0.05)KPI readingslowhis KPI reading or its opponent pairing misleads; watch whether it persists before any change
Ozzie Albies (ATL): KPI adjustments hurt SO (gain -0.40 over 12 games, bias -0.26), BB (gain -0.15 over 12 games, bias -0.03)KPI readingslowhis KPI reading or its opponent pairing misleads; watch whether it persists before any change
Colson Montgomery (CHW): KPI adjustments hurt H (gain -0.28 over 6 games, bias +0.64), SO (gain -0.40 over 6 games, bias -0.66)KPI readingslowhis KPI reading or its opponent pairing misleads; watch whether it persists before any change
Trevor Megill (MIL): KPI adjustments hurt SO (gain -0.40 over 5 games, bias +1.21), BB (gain -0.04 over 5 games, bias +0.46)KPI readingslowhis KPI reading or its opponent pairing misleads; watch whether it persists before any change
Trevor Story (BOS): KPI adjustments hurt SO (gain -0.39 over 5 games, bias +0.13)KPI readingslowhis KPI reading or its opponent pairing misleads; watch whether it persists before any change
pitcher_home_run_rate_allowed on HR (pitcher): harm survives leaving 1 worst players out, gain -0.0124, interval (-0.01547, -0.01038)KPI recipemediumthe KPI itself misleads; Luna replacement candidates are scored in shadow
batter_strikeout_rate on SO (batter): harm survives leaving 3 worst players out, gain -0.0117, interval (-0.02087, -0.00364)KPI recipemediumthe KPI itself misleads; Luna replacement candidates are scored in shadow
batter_strikeout_rate on SO (batter): harm survives leaving 3 worst players out, gain -0.0074, interval (-0.01356, -0.00136)KPI recipemediumthe KPI itself misleads; Luna replacement candidates are scored in shadow
pitcher_home_run_rate_allowed on HR (pitcher): harm survives leaving 2 worst players out, gain -0.0037, interval (-0.00539, -0.00188)KPI recipemediumthe KPI itself misleads; Luna replacement candidates are scored in shadow