Which reports actually fed the diagnosis. A source shown as missing was not silently assumed.
| Source | Status | Evidence supplied | Path | Bytes |
|---|---|---|---|---|
| prediction review | loaded | official outcomes and scoring errors | /app/output/reports/prediction_review_20260914.json | 256117 |
| forensic deep audit | loaded | probability, provenance, starter and decision contracts | /app/output/reports/PREDICTION_SYSTEM_DEEP_AUDIT_20260914.json | 166036 |
| continuous learning | loaded | pipeline-stage quality, calibration, probability lineage, score distribution, and official starter comparisons | /app/output/learning/continuous_learning_daily_20260914.json | 1715357 |
| detailed report | loaded | full game and simulation rendering | /app/output/reports/detailed_20260914.html | 240489 |
| ultra detailed player audit | loaded | player-level prediction trace | /app/output/reports/20260914_ultra_detailed_player_audit.html | 22980257 |
| structural audit | loaded | all invariant findings | /app/output/reports/audit_report_20260914.html | 1234184 |
| integrity revision audit | missing | post-Luna remediation proof for immutable revision artifacts | /app/output/reports/audit_report_20260914_integrity_revision.html | n/a |
Deterministic findings across data integrity, model validation, calibration, score distribution, pipeline stages, simulation, and coverage. Critical is reserved for broken evidence or an unexplained contract violation; high marks material model/process risk. Each row pairs the action to take (Do this) with the wrong conclusion to avoid (Don't conclude).
| Severity | Domain | Finding and evidence | Affected | Action & guardrail |
|---|---|---|---|---|
| CRITICAL | probability_lineage | Published probability differs materially without a recorded transformation 2 game(s) have an unexplained ≥2pp calibrated-to-published delta | BAL@NYM, MIA@ARI | Do thisBlock any promotion until the missing probability transformation is recorded and reconciled. Don't concludeDo not assume the probability governor was bypassed until you have traced the pick-side math. |
| HIGH | calibration | Published confidence buckets were poorly aligned on this slate weighted absolute calibration error 0.2812 across 10 games | ATL@CHC, BAL@NYM, CHW@CLE, DET@TOR, LAD@CIN, MIA@ARI, NYY@MIN, SD@COL, SEA@LAA, SF@STL | Do thisWatch the same confidence buckets over the full rolling window before changing any calibration weight. Don't concludeA single slate has far too few games to establish a stable calibration curve. |
| HIGH | model_validation | Validated run models explain very little holdout variance home/away/total R² = 0.0118/0.0210/0.0207 | ATL@CHC, BAL@NYM, CHW@CLE, DET@TOR, LAD@CIN, MIA@ARI, NYY@MIN, SD@COL, SEA@LAA, SF@STL | Do thisTreat exact run scores as low-confidence estimates, and look for stronger features or a better target before tuning the score tails. Don't concludeA small positive R² only means the model beats guessing the average; it does not make the exact scores reliable. |
| INFO | coverage | Every settled game received structural QA 10/10 games structurally audited | ATL@CHC, BAL@NYM, CHW@CLE, DET@TOR, LAD@CIN, MIA@ARI, NYY@MIN, SD@COL, SEA@LAA, SF@STL | Do thisKeep the per-game audit receipt in every report. Don't concludeFull audit coverage does not cancel the findings raised inside the audited games. |
| INFO | simulation | Simulation produced no winner-direction intervention on this slate flip candidates 0; published flips 0 | ATL@CHC, BAL@NYM, CHW@CLE, DET@TOR, LAD@CIN, MIA@ARI, NYY@MIN, SD@COL, SEA@LAA, SF@STL | Do thisMeasure the simulation's contribution across rolling slates, separating score realization from winner flipping. Don't concludeZero winner flips is not a defect and does not mean the simulation did no score-reconciliation work. |
A finding that has repeated at or beyond the escalation streak is no longer single-slate noise. It carries its target registered lever and an action-oriented guardrail.
| Finding | Persistence | Target lever(s) | Direction | Guardrail |
|---|---|---|---|---|
| simulation_inert_on_slate | 11 consecutive · 11 in window | simulation.allow_score | confirm the simulation module is running, not silently no-oping | simulation_inert_on_slate has persisted 11 consecutive slates; this is no longer single-slate noise. Treat it as an actionable pattern and raise the code/diagnostic action named; do not force a parameter move. |
| weak_run_model_signal | 11 consecutive · 11 in window | training.xgb.n_estimators, training.xgb.max_depth, training.xgb.learning_rate | investigate features/target via isolated training backtest (manual) | weak_run_model_signal has persisted 11 consecutive slates; this is no longer single-slate noise. Treat it as an actionable pattern and raise the code/diagnostic action named; do not force a parameter move. |
| Finding | Consecutive slates | Incidence | Present now | Fix type |
|---|---|---|---|---|
| high_raw_probability_cluster | 0 | 1/11 | no | param |
| pipeline_winner_instability | 0 | 2/11 | no | code/diagnostic |
| score_margin_compression | 0 | 1/11 | no | param |
| simulation_inert_on_slate | 11 | 11/11 | yes | code/diagnostic |
| single_slate_calibration_instability | 1 | 5/11 | yes | param |
| weak_run_model_signal | 11 | 11/11 | yes | code/diagnostic |
| Metric | Direction | Series (old → new) |
|---|---|---|
| winner_accuracy | improving | [0.625, 0.5333, 0.6, 0.5455, 0.7333, 0.6667, 0.6, 0.6667, 0.5333, 0.6, 0.7] |
| weighted_calibration_error | regressing | [0.1316, 0.1, 0.0937, 0.2611, 0.1825, 0.1069, 0.1171, 0.2091, 0.1711, 0.0827, 0.2812] |
| margin_bias | improving | [-0.688, -1.467, -1.467, -0.182, -0.867, -2.133, -1.0, -2.933, -2.667, -1.8, -0.4] |
| team_run_error_on_losses | regressing | [6.0, 5.286, 5.333, 3.8, 6.75, 5.6, 6.5, 5.0, 6.143, 5.0, 6.333] |
Every stored stage is scored against the same official finals. A later recovery remains visible; it does not erase an unstable intermediate flip.
| Stage | Winner hits | Accuracy | Team-run MAE | Total-run MAE | Margin MAE |
|---|---|---|---|---|---|
| historical_ml | 6/10 | 60% | 2.083 | 3.343 | 1.881 |
| variance_applied | 5/10 | 50% | 1.95 | 3.3 | 1.7 |
| enhanced_prediction | 7/10 | 70% | 2.1 | 3.4 | 2 |
| embedded_savant_run_environment | 6/10 | 60% | 2.15 | 3.3 | 2.3 |
| fundamental_edge_target_review | 7/10 | 70% | 2.1 | 3.4 | 2.2 |
| capped_target | 7/10 | 70% | 2.1 | 3.4 | 2.2 |
| simulation_result | 7/10 | 70% | 2.1 | 3.4 | 2.2 |
| published_final | 7/10 | 70% | 2.1 | 3.4 | 2.2 |
| Transition | Δ accuracy | Δ hits | Δ team-run MAE | Δ margin MAE | Games whose winner/tie changed |
|---|---|---|---|---|---|
| historical_ml → variance_applied | -0.1 | -1 | -0.1328 | -0.1811 | DET@TOR: TOR → TIE; MIA@ARI: MIA → TIE; NYY@MIN: MIN → TIE; SF@STL: STL → TIE |
| variance_applied → enhanced_prediction | 0.2 | 2 | 0.15 | 0.3 | CHW@CLE: CHW → CLE; DET@TOR: TIE → DET; MIA@ARI: TIE → MIA; NYY@MIN: TIE → NYY; SF@STL: TIE → STL |
| enhanced_prediction → embedded_savant_run_environment | -0.1 | -1 | 0.05 | 0.3 | ATL@CHC: CHC → TIE |
| embedded_savant_run_environment → fundamental_edge_target_review | 0.1 | 1 | -0.05 | -0.1 | ATL@CHC: TIE → CHC |
| fundamental_edge_target_review → capped_target | 0 | 0 | 0 | 0 | |
| capped_target → simulation_result | 0 | 0 | 0 | 0 | |
| simulation_result → published_final | 0 | 0 | 0 | 0 |
All columns are pick-side probabilities, so away favorites are not accidentally compared using home-side semantics.
| Game | Outcome | Raw model | Calibrated | Governor | Score coherence | Published | Explanation |
|---|---|---|---|---|---|---|---|
| ATL@CHC | hit | 0.5538 | 0.535 | 0.535 | 0.535 | 0.5238 | no recorded transformation explains the publication delta |
| BAL@NYM | miss | 0.6845 | 0.725 | 0.725 | 0.725 | 0.6275 | no recorded transformation explains the publication delta |
| CHW@CLE | miss | 0.5 | 0.5078 | 0.5078 | 0.5078 | 0.5057 | published probability matches the calibrated/governed value |
| DET@TOR | hit | 0.5 | 0.5078 | 0.5078 | 0.5078 | 0.5057 | published probability matches the calibrated/governed value |
| LAD@CIN | hit | 0.7302 | 0.7259 | 0.7259 | 0.7259 | 0.58 | score coherence followed by matchup-recency guardrail |
| MIA@ARI | miss | 0.5242 | 0.5676 | 0.5676 | 0.5676 | 0.5174 | no recorded transformation explains the publication delta |
| NYY@MIN | hit | 0.5618 | 0.6446 | 0.6446 | 0.6446 | 0.57 | score coherence followed by matchup-recency guardrail |
| SD@COL | hit | 0.6914 | 0.6705 | 0.6705 | 0.6634 | 0.58 | score coherence followed by matchup-recency guardrail |
| SEA@LAA | hit | 0.62 | 0.5674 | 0.5674 | 0.5674 | 0.5276 | score coherence followed by matchup-recency guardrail |
| SF@STL | hit | 0.5143 | 0.5113 | 0.5113 | 0.5113 | 0.505 | score coherence followed by matchup-recency guardrail |
One blown start is noise. The same failure repeating across the slate is a model problem. These are the repeats.
| Sides analyzed | Broke on pitching | Broke on offense | Both | Variance | Mean starter ERA error | Mean lineup runs vs proj |
|---|---|---|---|---|---|---|
| 20 | 2 | 6 | 1 | 11 | -0.48 | -0.2 |
The blend mixes the trained win classifier with the margin-derived probability. It is only worth its weight if its decision survives the downstream reconciliation to the projected score.
2 of 10 games: the blend picked one side and the published number picked the other. The published probability is reconciled to the integer score after the blend runs, so a blend that disagrees with the score is overwritten before publication. On those games the trained classifier changes nothing a reader sees, even where the artifact records winner_changed.
| Game | Trained p(home) | Blended p(home) | Blend favoured | Published p(home) | Published side | Artifact says winner changed | Outcome |
|---|---|---|---|---|---|---|---|
| CHW@CLE | 0.462 | 0.485 | away | 0.506 | home | yes | miss |
| DET@TOR | 0.588 | 0.54 | home | 0.494 | away | yes | hit |
Blend side survived on 8 of 10 games; the blend flagged a winner change on 2.
A bias on one slate is noise. The same sign across slates, large relative to how much it moves between them, is a model defect. Only the ones that pass both tests are turned into a named parameter change; the rest are held deliberately.
starter ERA error (actual minus projected)
Mean 0.14 over 12 slates (sign shared by 0.50 of them, z = 0.32).
starters were hit harder than projected: the run model under-credits opposing offenses.
Hold: no change: this bias is not separable from slate-to-slate noise yet
6 of 12 slates share the sign, mean 0.14 +/- 0.46 standard error: not separable from noise
lineup runs actual minus projected
Mean -0.16 over 12 slates (sign shared by 0.58 of them, z = -0.82).
lineups scored below projection: the run environment is set too high.
Hold: no change: this bias is not separable from slate-to-slate noise yet
7 of 12 slates share the sign, mean -0.16 +/- 0.2 standard error: not separable from noise
| Slate | Games | Winner acc | Mean starter ERA error | Mean lineup runs vs proj | Sides broke on pitching | Sides broke on offense |
|---|---|---|---|---|---|---|
| 20260913 | 15 | 0.600 | -0.07 | 0.03 | 2 | 8 |
| 20260912 | 15 | 0.533 | 1.35 | 0.57 | 6 | 7 |
| 20260911 | 15 | 0.667 | 0.99 | 0.00 | 4 | 9 |
| 20260910 | 5 | 0.600 | -3.19 | -1.70 | 8 | |
| 20260909 | 15 | 0.667 | 3.36 | 1.07 | 8 | 7 |
| 20260908 | 15 | 0.733 | -0.15 | -0.23 | 7 | 15 |
| 20260907 | 11 | 0.545 | -0.86 | -0.36 | 5 | 4 |
| 20260906 | 15 | 0.600 | 0.74 | -0.30 | 6 | 10 |
| 20260905 | 15 | 0.533 | -1.17 | -0.07 | 2 | 6 |
| 20260904 | 16 | 0.625 | -0.23 | -0.44 | 5 | 12 |
| 20260903 | 9 | 0.556 | 0.24 | -0.83 | 4 | 6 |
| 20260902 | 15 | 0.333 | 0.72 | 0.30 | 7 | 6 |
Narrow predicted margins next to wide actual margins is the signature the score-variance tail is too tight.
| Game | Pred margin | Actual margin | Pred − actual |
|---|---|---|---|
| ATL@CHC | 1 | 4 | -3 |
| BAL@NYM | 3 | 1 | 2 |
| CHW@CLE | 1 | 4 | -3 |
| DET@TOR | 1 | 1 | 0 |
| LAD@CIN | 5 | 3 | 2 |
| MIA@ARI | 1 | 1 | 0 |
| NYY@MIN | 2 | 5 | -3 |
| SD@COL | 3 | 1 | 2 |
| SEA@LAA | 1 | 2 | -1 |
| SF@STL | 1 | 1 | 0 |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| ATL | Reynaldo López | 3 ER / 14 outs | 5 ER / 9 outs | 2 |
| CHC | David Peterson | 4 ER / 13 outs | 1 ER / 18 outs | -3 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Starter miss: Reynaldo López (ATL) posted 15.00 ERA vs projected 5.79 (5 ER in 9 outs); he faced a strong offense (opponent run factor 1.08, bucket strong).
What to do: Consider raising context.opponent_strength_weight; validate across the rolling window before promotion.
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Reynaldo López (ATL) threw 9 outs, 5 ER = 15 ERA against a projected 5.79 ERA (9.21 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The HOME lineup he faced produced 7 runs on 10 hits and 1 HR, against a projected 5 runs / 8 hits (2 runs vs projection).
Who did the damage to him:
Verdict: both: the starter was hit hard AND the lineup underproduced
HOME pitching
David Peterson (CHC) threw 18 outs, 1 ER = 1.5 ERA against a projected 8.31 ERA (-6.81 ERA error)
Bullpen behind him: 0 ER over 3 outs.
The AWAY lineup he faced produced 2 runs on 7 hits and 0 HR, against a projected 4 runs / 9 hits (-2 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| ATL | Reynaldo López (Starter) | 9 / 14 | 15 / 5.79 (+9.21) | 5 / 3 | 6 / 5 | 0 / 3 | 2 / 2 | 1.8 | 2 / 4 | 4.57 | venue away: 3.7 vs 5.1 ERA (ok) · opp run factor 1.08 (strong) · 25 prior appearances this season |
| CHC | David Peterson (Starter) | 18 / 13 | 1.5 / 8.31 (-6.81) | 1 / 4 | 3 / 6 | 0 / 0 | 3 / 3 | 3.33 | 7 / 6 | 4.95 | venue home: 6.93 vs 4.5 ERA (worse here) · opp run factor 1.03 (strong) · 29 prior appearances this season |
| CHC | Ryan Zeferjahn (Setup Man) | 3 / 0 | 0 / n/a | 0 / 0 | 2 / 0 | 0 / 0 | 1 / 1 | 0.67 | 1 / 0 | 1.26 |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Matt Olson (1B) | ATL | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | 3 / 1 | -1.4 | 0.355 elite | bad day |
| Pete Crow-Armstrong (CF) | CHC | 5 / 4 | 4 / 1 | 1 / 0 | 0 / 0 | 1 / 1 | 4 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | 1.39 | 0.374 elite | projection too low |
| Seiya Suzuki (RF) | CHC | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 2 / 1 | -1.26 | 0.341 elite | bad day |
| Mauricio Dubón (LF) | ATL | 3 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 0 | 0 / 0 | 0.8 | 0.305 average | no signal |
| Michael Conforto (DH) | CHC | 4 / 3 | 1 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0.78 | 0.33 above average | projection too low |
| Drake Baldwin (DH) | ATL | 3 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 1 / 1 | 0.47 | 0.362 elite | — |
| Ronald Acuña Jr. (RF) | ATL | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 1 / 1 | -0.47 | 0.362 elite | — |
| Ozzie Albies (2B) | ATL | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 0 | -0.47 | 0.281 weak | — |
| Sean Murphy (C) | ATL | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.276 weak | — |
| Ha-Seong Kim (SS) | ATL | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.229 weak | — |
| Alex Bregman (3B) | CHC | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | -0.47 | 0.321 above average | — |
| Nico Hoerner (SS) | CHC | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 0 / 0 | 0 / 0 | 0.47 | 0.324 above average | — |
| Michael Busch (1B) | CHC | 2 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 2 / 1 | 1 / 1 | -0.45 | 0.33 above average | — |
| Carson Kelly (C) | CHC | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 2 / 0 | 1 / 0 | 0 / 1 | 0.33 | 0.31 average | — |
| Ian Happ (LF) | CHC | 3 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 0 / 1 | 0.31 | 0.316 average | — |
| Michael Harris II (CF) | ATL | 4 / 4 | 2 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 0.16 | 0.34 elite | — |
| Pedro Ramirez (2B) | CHC | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 0 / 1 | -0.14 | 0.29 below average | — |
| Austin Riley (3B) | ATL | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.3 below average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.108 | positive favors home; negative favors away |
| Recent form | 0.011 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.049 | positive favors home; negative favors away |
| Composite | 0.169 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.39-4.81 | n/a | Base ML historical model prediction |
| variance_applied | 4-5 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 0.524 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by winner_starter_is_below_average, projected_margin_is_one_run) |
| embedded_savant_run_environment | 5-5 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 5-6 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 5-6 | n/a | Capped at max 12 realistic runs |
| simulation_result | 5-6 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.39-4.81 | 4-5 | 0.578 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 4-5 | 0 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by winner_starter_is_below_average, projected_margin_is_one_run) |
| embedded_savant_run_environment | 4-5 | 5-5 | -1 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 5-5 | 5-6 | 1 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 5-6 | 5-6 | 0 | Capped at max 12 realistic runs |
| simulation_result | 5-6 | 5-6 | 0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| ATL | Bailey Falter | pitcher / Reliever | worse | predicted_H 5 |
| ATL | Ronald Acuña Jr. | batter / RF | deboosted | predicted_AB -1.96 |
| CHC | Pete Crow-Armstrong | batter / CF | worse | predicted_SO 1.845 |
| ATL | Sean Murphy | batter / C | worse | predicted_SO 1.792 |
| ATL | Ozzie Albies | batter / 2B | boosted | predicted_RBI 1.64 |
| CHC | Pedro Ramirez | batter / 2B | better | predicted_RBI 1.54 |
| CHC | Michael Conforto | batter / DH | better | predicted_AB 1.5 |
| CHC | Ian Happ | batter / LF | deboosted | predicted_AB 1.414 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | ATL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | ATL |
| info | CURRENT_PITCHER_DUPLICATION | CHC pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | CHC |
| info | CURRENT_FINALIZED_MATCH_BOX | ATL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=37; H: current=9, sim=7; 2B: current=1, sim=2; R: current=4, sim=5; BB: current=3, sim=4; SO: current=7, sim=9). | ATL |
| info | CURRENT_PLAYER_MATCH_BOX | ATL current finalized hitter lines are model predictions and differ from the simulation box score: Drake Baldwin: RBI current=1 box=0; Michael Harris II: AB current=4 box=5, RBI current=1 box=0, SO current=1 box=2; Matt Olson: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Ronald Acuña Jr.: AB current=4 box=3, BB current=1 box=2, SO current=1 box=0; Ozzie Albies: AB current=4 box=5, H current=1 box=2, 2B current=0 box=1, RBI current=0 box=2; Austin Riley: AB current=3 box=4, HR current=0 box=1, RBI current=0 box=1, R current=0 box=1; Mauricio Dubón: H current=1 box=0, RBI current=1 box=0; Sean Murphy: AB current=3 box=4, RBI current=0 box=1, R current=0 box=1, SO current=1 box=3 | ATL |
| info | CURRENT_FINALIZED_MATCH_BOX | CHC model-prediction batting totals differ from final simulation box score (AB: current=33, sim=40; H: current=8, sim=11; 2B: current=1, sim=3; HR: current=2, sim=3; RBI: current=5, sim=6; R: current=5, sim=6; BB: current=4, sim=3; HBP: current=0, sim=1). | CHC |
| info | CURRENT_PLAYER_MATCH_BOX | CHC current finalized hitter lines are model predictions and differ from the simulation box score: Alex Bregman: 2B current=0 box=1, RBI current=1 box=0, R current=1 box=0, HBP current=0 box=1; Michael Busch: H current=1 box=2, 2B current=1 box=0, HR current=0 box=1, SO current=1 box=2; Nico Hoerner: AB current=4 box=5; Seiya Suzuki: AB current=4 box=5, BB current=1 box=0, SO current=1 box=0; Pete Crow-Armstrong: AB current=4 box=5, BB current=1 box=0, SO current=1 box=3; Pedro Ramirez: AB current=3 box=4, RBI current=0 box=2, BB current=0 box=1; Ian Happ: AB current=4 box=5, H current=1 box=2, 2B current=0 box=1, R current=0 box=1; Carson Kelly: AB current=3 box=4, H current=1 box=0, RBI current=1 box=0 | CHC |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| BAL | Brandon Young | 3 ER / 16 outs | 1 ER / 15 outs | -2 |
| NYM | Jonah Tong | 1 ER / 15 outs | 0 ER / 18 outs | -1 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Starter miss: Brandon Young (BAL) posted 1.80 ERA vs projected 5.06 (1 ER in 15 outs); no credible venue, opponent-strength or experience signal explains it — an outlier start (variance).
What to do: Variance — no model change is warranted for this start.
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Brandon Young (BAL) threw 15 outs, 1 ER = 1.8 ERA against a projected 5.06 ERA (-3.26 ERA error)
Bullpen behind him: 0 ER over 4 outs.
The HOME lineup he faced produced 1 runs on 6 hits and 1 HR, against a projected 5 runs / 8 hits (-4 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
HOME pitching
Jonah Tong (NYM) threw 18 outs, 0 ER = 0 ERA against a projected 1.8 ERA (-1.8 ERA error) only 4 prior appearances in the covered season - the projection had little of his own record to stand on
Bullpen behind him: 0 ER over 3 outs.
The AWAY lineup he faced produced 2 runs on 9 hits and 1 HR, against a projected 4 runs / 7 hits (-2 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| BAL | Brandon Young (Starter) | 15 / 16 | 1.8 / 5.06 (-3.26) | 1 / 3 | 5 / 6 | 1 / 2 | 5 / 1 | 1.83 | 6 / 8 | 4.67 | venue away: 3.39 vs 3.69 ERA (ok) · opp run factor 0.99 (average) · 25 prior appearances this season |
| BAL | Rico Garcia (Setup Man) | 3 / 5 | 0 / 5.4 (-5.40) | 0 / 1 | 0 / 2 | 0 / 1 | 0 / 0 | 0.25 | 0 / 2 | 1.27 | |
| BAL | Yennier Cano (Middle Reliever (High Leverage)) | 1 / 3 | 0 / 18 (-18.00) | 0 / 2 | 0 / 3 | 0 / 1 | 0 / 3 | 0.16 | 0 / 2 | 0.71 | |
| NYM | Jonah Tong (Starter) | 18 / 15 | 0 / 1.8 | 0 / 1 | 4 / 6 | 0 / 0 | 1 / 2 | 1.03 | 6 / 5 | 6.8 | opp run factor 1 (average) · thin sample: 4 prior appearances this season (high uncertainty) |
| NYM | Kodai Senga (Closer) | 3 / 3 | 0 / 9 (-9.00) | 0 / 1 | 2 / 1 | 0 / 1 | 0 / 0 | 0.69 | 3 / 1 | 1.38 |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Pete Alonso (1B) | BAL | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | 1 / 1 | -1.4 | 0.395 elite | bad day |
| Heston Kjerstad (RF) | BAL | 4 / 3 | 2 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 1.25 | 0.218 weak | good day |
| A.J. Ewing (CF) | NYM | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 1 | 1 / 1 | 0 / 1 | 0.93 | 0.322 above average | projection too low |
| Juan Soto (LF) | NYM | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | 1 / 0 | -0.93 | 0.413 elite | bad day |
| Dylan Beavers (LF) | BAL | 5 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 2 / 1 | -0.78 | 0.301 below average | projection too high |
| Gunnar Henderson (SS) | BAL | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 1 | 0 / 1 | 1 / 1 | 0.6 | 0.318 average | no signal |
| Colton Cowser (CF) | BAL | 4 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0.47 | 0.316 average | — |
| Carson Benge (RF) | NYM | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 0.47 | 0.334 above average | — |
| Francisco Lindor (SS) | NYM | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 2 / 1 | -0.47 | 0.333 above average | — |
| Bo Bichette (3B) | NYM | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.329 above average | — |
| Jared Young (DH) | NYM | 2 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 0 | 1 / 1 | -0.45 | 0.314 average | — |
| Brett Baty (1B) | NYM | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 0.33 | 0.312 average | — |
| Christian Encarnacion-Strand (DH) | BAL | 4 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 2 / 1 | 0.31 | 0.345 elite | — |
| Jackson Holliday (2B) | BAL | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0 / 1 | 0.14 | 0.293 below average | — |
| Coby Mayo (3B) | BAL | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 2 | 0 | 0.327 above average | — |
| Carlos Narváez (C) | BAL | 1 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.26 weak | — |
| Marcus Semien (2B) | NYM | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.305 average | — |
| Francisco Alvarez (C) | NYM | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.325 above average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.337 | positive favors home; negative favors away |
| Recent form | 1 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.019 | positive favors home; negative favors away |
| Composite | 0.934 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.27-4.61 | n/a | Base ML historical model prediction |
| variance_applied | 4-5 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-7 | 0.628 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 4-7 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-7 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-7 | n/a | Capped at max 12 realistic runs |
| simulation_result | 4-7 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.27-4.61 | 4-5 | 0.667 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 4-7 | 2 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 4-7 | 4-7 | 0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-7 | 4-7 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-7 | 4-7 | 0 | Capped at max 12 realistic runs |
| simulation_result | 4-7 | 4-7 | 0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| BAL | Colton Cowser | batter / CF | better | predicted_H 2.46 |
| NYM | Brett Baty | batter / 1B | better | predicted_H 2.27 |
| NYM | Francisco Lindor | batter / SS | better | predicted_RBI 2.19 |
| NYM | Carson Benge | batter / RF | worse | predicted_SO 2.065 |
| BAL | Brandon Young | pitcher / Starter | neutral | predicted_SO 2 |
| NYM | Jared Young | batter / DH | worse | predicted_AB 1.828 |
| BAL | Heston Kjerstad | batter / RF | better | predicted_AB 1.5 |
| BAL | Dylan Beavers | batter / LF | boosted | predicted_RBI 1.43 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | BAL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | BAL |
| info | CURRENT_PITCHER_DUPLICATION | NYM pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | NYM |
| info | CURRENT_FINALIZED_MATCH_BOX | BAL model pitcher projections differ from final simulation pitching box score (H: current=11, sim=12; ER: current=6, sim=7). | BAL |
| info | CURRENT_FINALIZED_MATCH_BOX | BAL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=36; H: current=7, sim=9; 2B: current=1, sim=0; HR: current=1, sim=2; BB: current=3, sim=2; SO: current=10, sim=6; HBP: current=0, sim=2). | BAL |
| info | CURRENT_PLAYER_MATCH_BOX | BAL current finalized hitter lines are model predictions and differ from the simulation box score: Dylan Beavers: AB current=4 box=5, H current=1 box=2, 2B current=1 box=0, HR current=0 box=1; Gunnar Henderson: H current=1 box=0, R current=1 box=0; Christian Encarnacion-Strand: RBI current=1 box=0, SO current=1 box=0; Heston Kjerstad: AB current=3 box=4, SO current=1 box=0; Coby Mayo: RBI current=1 box=0, SO current=2 box=1, HBP current=0 box=1; Pete Alonso: AB current=4 box=5, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Jackson Holliday: H current=1 box=2, BB current=1 box=0, SO current=1 box=0; Carlos Narváez: BB current=0 box=1, SO current=1 box=2 | BAL |
| info | CURRENT_FINALIZED_MATCH_BOX | NYM model-prediction batting totals differ from final simulation box score (AB: current=34, sim=36; H: current=8, sim=12; 2B: current=1, sim=2; HR: current=1, sim=4; RBI: current=4, sim=7; R: current=5, sim=7; BB: current=3, sim=4; SO: current=8, sim=12). | NYM |
| info | CURRENT_PLAYER_MATCH_BOX | NYM current finalized hitter lines are model predictions and differ from the simulation box score: Carson Benge: AB current=4 box=5, SO current=1 box=3; Jared Young: AB current=4 box=5, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Francisco Lindor: H current=1 box=3, HR current=0 box=2, RBI current=1 box=3, SO current=1 box=0; A.J. Ewing: AB current=4 box=3, HR current=0 box=1, RBI current=0 box=1, BB current=1 box=0; Brett Baty: AB current=3 box=4, H current=0 box=3, 2B current=0 box=1, R current=0 box=1; Juan Soto: H current=1 box=2, SO current=0 box=1; Marcus Semien: AB current=4 box=3, H current=1 box=0, BB current=0 box=1, SO current=1 box=2; Bo Bichette: R current=0 box=1, BB current=0 box=1 | NYM |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| CHW | Sean Newcomb | 3 ER / 15 outs | 0 ER / 3 outs | -3 |
| CLE | Gavin Williams | 1 ER / 16 outs | 2 ER / 15 outs | 1 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
No settled pitching line for this club. The forecast named Sean Newcomb (CHW) at a projected 5.4 ERA, but the per-player feed carries no pitching row for him in this game, so the actual-versus-projected comparison cannot be made on this side. That is a source-coverage gap in the settled box, not a forecasting failure.
Bullpen behind him: 0 ER over 0 outs.
The HOME lineup he faced produced 2 runs on 6 hits and 0 HR, against a projected 5 runs / 8 hits (-3 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
Gavin Williams (CLE) threw 15 outs, 2 ER = 3.6 ERA against a projected 1.69 ERA (1.91 ERA error)
Bullpen behind him: 1 ER over 2 outs.
The AWAY lineup he faced produced 4 runs on 3 hits and 1 HR, against a projected 3 runs / 3 hits (1 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| CLE | Gavin Williams (Starter) | 15 / 16 | 3.6 / 1.69 | 2 / 1 | 4 / 2 | 0 / 0 | 3 / 4 | 2.14 | 7 / 7 | 7.33 | venue home: 3.01 vs 4.79 ERA (ok) · opp run factor 0.96 (average) · 29 prior appearances this season |
| CLE | Tim Herrin (Middle Reliever (High Leverage)) | 2 / 2 | 13.5 / 27 (-13.50) | 1 / 2 | 3 / 3 | 0 / 0 | 0 / 1 | 0.41 | 1 / 0 | 0.85 |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Munetaka Murakami (1B) | CHW | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | 3 / 2 | -1.4 | 0.342 elite | bad day |
| Miguel Vargas (3B) | CHW | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 1 | 2 / 1 | 1 / 1 | 0 / 1 | 1.4 | 0.379 elite | projection too low |
| Angel Martínez (LF) | CLE | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | -1.4 | 0.306 average | no signal |
| José Ramírez (3B) | CLE | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | -0.64 | 0.326 above average | bad day |
| Chase DeLauter (DH) | CLE | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | 0 / 1 | -0.47 | 0.344 elite | — |
| Patrick Bailey (C) | CLE | 4 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 2 / 1 | 0.47 | 0.308 average | — |
| Nathaniel Lowe (1B) | CLE | 2 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.338 above average | — |
| Travis Bazzana (2B) | CLE | 4 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 0.31 | 0.307 average | — |
| Jo Adell (RF) | CLE | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 0 | 1 / 1 | -0.31 | 0.325 above average | — |
| Braden Montgomery (RF) | CHW | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 3 / 1 | 0 | 0.331 above average | — |
| Colson Montgomery (SS) | CHW | 4 / 4 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 3 / 2 | 0 | 0.304 average | — |
| Chase Meidroth (2B) | CHW | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 0 / 0 | 1 / 1 | 0 | 0.296 below average | — |
| Steven Kwan (CF) | CLE | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 0 | 0 | 0.322 above average | — |
| Brayan Rocchio (SS) | CLE | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 | 0.293 below average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.003 | positive favors home; negative favors away |
| Recent form | 0.302 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.03 | positive favors home; negative favors away |
| Composite | 0.321 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.55-4.38 | n/a | Base ML historical model prediction |
| variance_applied | 5-4 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 0.506 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-5 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-5 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-5 | n/a | Capped at max 12 realistic runs |
| simulation_result | 4-5 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.55-4.38 | 5-4 | -0.825 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-4 | 4-5 | 2 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-5 | 4-5 | 0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-5 | 4-5 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-5 | 4-5 | 0 | Capped at max 12 realistic runs |
| simulation_result | 4-5 | 4-5 | 0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| CLE | Gavin Williams | pitcher / Starter | neutral | predicted_SO 5 |
| CHW | Sam Antonacci | batter / LF | better | predicted_RBI 2.656 |
| CLE | Erik Sabrowski | pitcher / Middle Reliever (High Leverage) | worse | predicted_SO -2 |
| CLE | Tim Herrin | pitcher / Middle Reliever (High Leverage) | worse | predicted_SO -2 |
| CHW | Kyle Teel | batter / C | better | predicted_2B 1.929 |
| CHW | Miguel Vargas | batter / 3B | worse | predicted_AB -1.79 |
| CHW | Colson Montgomery | batter / SS | worse | predicted_SO -1.461 |
| CLE | Chase DeLauter | batter / DH | worse | predicted_SO 1.37 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | CHW pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | CHW |
| info | CURRENT_PITCHER_DUPLICATION | CLE pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | CLE |
| info | CURRENT_FINALIZED_MATCH_BOX | CHW model-prediction batting totals differ from final simulation box score (AB: current=32, sim=35; H: current=7, sim=8; 2B: current=2, sim=3; HR: current=1, sim=0; BB: current=4, sim=5; SO: current=11, sim=7). | CHW |
| info | CURRENT_PLAYER_MATCH_BOX | CHW current finalized hitter lines are model predictions and differ from the simulation box score: Sam Antonacci: AB current=4 box=5, H current=1 box=2, 2B current=0 box=1, RBI current=0 box=3; Munetaka Murakami: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Kyle Teel: AB current=4 box=5, H current=1 box=2, 2B current=0 box=2, R current=0 box=1; Andrew Benintendi: AB current=3 box=4, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Tristan Peters: AB current=3 box=4, H current=1 box=0, 2B current=1 box=0, SO current=1 box=0; Miguel Vargas: AB current=4 box=3, RBI current=1 box=0, BB current=1 box=2; Colson Montgomery: AB current=4 box=3, H current=0 box=2, R current=0 box=1, BB current=0 box=1; Chase Meidroth: AB current=3 box=4, R current=1 box=0 | CHW |
| info | CURRENT_FINALIZED_MATCH_BOX | CLE model-prediction batting totals differ from final simulation box score (AB: current=33, sim=32; 2B: current=2, sim=0; RBI: current=4, sim=5; BB: current=3, sim=0; SO: current=7, sim=6). | CLE |
| info | CURRENT_PLAYER_MATCH_BOX | CLE current finalized hitter lines are model predictions and differ from the simulation box score: Steven Kwan: H current=1 box=0, R current=1 box=0, BB current=1 box=0; Chase DeLauter: RBI current=1 box=0, R current=0 box=1, BB current=1 box=0, SO current=1 box=2; Travis Bazzana: AB current=3 box=4, RBI current=0 box=2; José Ramírez: H current=1 box=2, 2B current=1 box=0, RBI current=0 box=1, BB current=1 box=0; Angel Martínez: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Jo Adell: H current=1 box=2, 2B current=1 box=0, HR current=0 box=1, RBI current=1 box=2; Patrick Bailey: H current=0 box=1, R current=0 box=1, SO current=1 box=0; Nathaniel Lowe: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0 | CLE |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
No large single-factor errors.
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| DET | Troy Melton | 3 ER / 18 outs | 2 ER / 8 outs | -1 |
| TOR | José Soriano | 5 ER / 17 outs | 4 ER / 19 outs | -1 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Troy Melton (DET) threw 8 outs, 2 ER = 6.75 ERA against a projected 4.5 ERA (2.25 ERA error)
Bullpen behind him: 3 ER over 10 outs.
The HOME lineup he faced produced 5 runs on 8 hits and 1 HR, against a projected 4 runs / 8 hits (1 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
José Soriano (TOR) threw 19 outs, 4 ER = 5.68 ERA against a projected 7.94 ERA (-2.26 ERA error)
Bullpen behind him: 1 ER over 5 outs.
The AWAY lineup he faced produced 6 runs on 9 hits and 0 HR, against a projected 5 runs / 7 hits (1 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| DET | Troy Melton (Starter) | 8 / 18 | 6.75 / 4.5 | 2 / 3 | 5 / 7 | 0 / 1 | 4 / 2 | 1.47 | 3 / 6 | 4.16 | venue away: 2.06 vs 2.81 ERA (ok) · opp run factor 0.93 (weak) · 18 prior appearances this season |
| DET | Tyler Holton (Setup Man) | 4 / 4 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0.38 | 0 / 2 | 1.09 | |
| DET | Kenley Jansen (Closer) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0.48 | 1 / 1 | 1.16 | |
| DET | Kyle Finnegan (Middle Reliever (High Leverage)) | 3 / 2 | 27 / 13.5 (+13.50) | 3 / 1 | 3 / 1 | 1 / 0 | 0 / 0 | 0.55 | 1 / 2 | 0.86 | |
| TOR | José Soriano (Starter) | 19 / 17 | 5.68 / 7.94 | 4 / 5 | 5 / 4 | 0 / 1 | 1 / 4 | 1.78 | 5 / 7 | 3.61 | venue home: 3.61 vs 3.39 ERA (ok) · opp run factor 1 (average) · 29 prior appearances this season |
| TOR | Louis Varland (Closer) | 5 / 3 | 5.4 / 0 (+5.40) | 1 / 0 | 2 / 0 | 0 / 0 | 1 / 0 | 0.32 | 2 / 2 | 1.05 |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Dillon Dingler (C) | DET | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 1 | 0 / 0 | 2 / 1 | -0.93 | 0.339 above average | bad day |
| Spencer Torkelson (1B) | DET | 3 / 3 | 1 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | 2 / 1 | 0.78 | 0.309 average | no signal |
| Hao-Yu Lee (3B) | DET | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.298 below average | — |
| Alejandro Kirk (C) | TOR | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 0 | 1 / 1 | 0 / 1 | 0.47 | 0.308 average | — |
| George Springer (DH) | TOR | 2 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 1 | 3 / 1 | 0 / 1 | 0.35 | 0.306 average | — |
| Gleyber Torres (2B) | DET | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 1 / 1 | -0.33 | 0.325 above average | — |
| Zach McKinstry (RF) | DET | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 0 / 1 | 0.33 | 0.285 below average | — |
| Brett Bateman (CF) | TOR | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 1 / 1 | -0.33 | 0.312 average | — |
| Josh Smith (LF) | TOR | 1 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 0.33 | 0.284 weak | — |
| Max Clark (CF) | DET | 4 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 1 / 1 | 0 / 0 | 0 / 1 | 0.31 | 0.323 above average | — |
| Nathan Lukes (RF) | TOR | 4 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0.31 | 0.287 below average | — |
| Riley Greene (DH) | DET | 5 / 4 | 2 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 1 / 1 | -0.17 | 0.372 elite | — |
| Kevin McGonigle (SS) | DET | 5 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 0 / 0 | 0.14 | 0.354 elite | — |
| Vladimir Guerrero Jr. (1B) | TOR | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 0 | 1 / 0 | -0.14 | 0.334 above average | — |
| Brett Callahan (LF) | DET | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.299 below average | — |
| Andrés Giménez (SS) | TOR | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0 | 0.274 weak | — |
| Ernie Clement (2B) | TOR | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 | 0.261 weak | — |
| Kazuma Okamoto (3B) | TOR | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 3 / 1 | 1 / 1 | 0 / 0 | 1 / 1 | 0 | 0.329 above average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.464 | positive favors home; negative favors away |
| Recent form | -0.035 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.064 | positive favors home; negative favors away |
| Composite | -0.584 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.1-4.31 | n/a | Base ML historical model prediction |
| variance_applied | 4-4 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-4 | 0.506 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 5-4 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 5-4 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 5-4 | n/a | Capped at max 12 realistic runs |
| simulation_result | 5-4 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.1-4.31 | 4-4 | 0.21 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-4 | 5-4 | 1 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 5-4 | 5-4 | -0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 5-4 | 5-4 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 5-4 | 5-4 | -0 | Capped at max 12 realistic runs |
| simulation_result | 5-4 | 5-4 | -0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| TOR | Alejandro Kirk | batter / C | worse | predicted_SO 3.485 |
| TOR | José Soriano | pitcher / Starter | neutral | predicted_SO 3 |
| DET | Gleyber Torres | batter / 2B | worse | predicted_SO 2.163 |
| DET | Dillon Dingler | batter / C | worse | predicted_AB -2.02 |
| TOR | George Springer | batter / DH | worse | predicted_H 1.87 |
| TOR | Vladimir Guerrero Jr. | batter / 1B | worse | predicted_BB 1.627 |
| DET | Brett Callahan | batter / LF | worse | predicted_AB 1.5 |
| TOR | Brett Bateman | batter / CF | boosted | predicted_RBI 1.48 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | DET pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | DET |
| info | CURRENT_PITCHER_DUPLICATION | TOR pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | TOR |
| info | CURRENT_FINALIZED_MATCH_BOX | DET model-prediction batting totals differ from final simulation box score (AB: current=31, sim=34; HR: current=1, sim=2; RBI: current=4, sim=5; BB: current=4, sim=5; SO: current=8, sim=12). | DET |
| info | CURRENT_PLAYER_MATCH_BOX | DET current finalized hitter lines are model predictions and differ from the simulation box score: Riley Greene: AB current=4 box=5, H current=1 box=2, 2B current=1 box=0, BB current=1 box=0; Kevin McGonigle: H current=1 box=0, SO current=0 box=2; Dillon Dingler: AB current=4 box=3, BB current=0 box=1; Brett Callahan: AB current=3 box=4, H current=1 box=0, SO current=1 box=2; Gleyber Torres: H current=1 box=0, SO current=1 box=3; Hao-Yu Lee: H current=1 box=0, BB current=0 box=1, SO current=1 box=0; Max Clark: HR current=0 box=1, RBI current=0 box=1, BB current=0 box=1; Spencer Torkelson: AB current=3 box=4, H current=0 box=1, 2B current=0 box=1, BB current=1 box=0 | DET |
| info | CURRENT_FINALIZED_MATCH_BOX | TOR model pitcher projections differ from final simulation pitching box score (H: current=6, sim=7; HR: current=1, sim=2). | TOR |
| info | CURRENT_FINALIZED_MATCH_BOX | TOR model-prediction batting totals differ from final simulation box score (AB: current=33, sim=36; H: current=8, sim=9; 2B: current=1, sim=2; SO: current=7, sim=11; HBP: current=0, sim=1). | TOR |
| info | CURRENT_PLAYER_MATCH_BOX | TOR current finalized hitter lines are model predictions and differ from the simulation box score: Alejandro Kirk: AB current=4 box=5, H current=1 box=0, RBI current=1 box=0, BB current=1 box=0; Brett Bateman: AB current=4 box=5, H current=1 box=2, RBI current=0 box=2, BB current=1 box=0; Vladimir Guerrero Jr.: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; George Springer: AB current=4 box=5, H current=1 box=3, 2B current=1 box=2, RBI current=1 box=0; Josh Smith: H current=0 box=1, R current=0 box=1, BB current=0 box=1; Nathan Lukes: H current=1 box=0; Andrés Giménez: AB current=3 box=4, SO current=1 box=0; Ernie Clement: AB current=4 box=3, H current=1 box=0, HBP current=0 box=1 | TOR |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| LAD | Tarik Skubal | 3 ER / 20 outs | 0 ER / 21 outs | -3 |
| CIN | Nick Lodolo | 7 ER / 13 outs | 4 ER / 21 outs | -3 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Starter miss: Nick Lodolo (CIN) posted 5.14 ERA vs projected 14.54 (4 ER in 21 outs); no credible venue, opponent-strength or experience signal explains it — an outlier start (variance).
What to do: Variance — no model change is warranted for this start.
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Tarik Skubal (LAD) threw 21 outs, 0 ER = 0 ERA against a projected 4.05 ERA (-4.05 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The HOME lineup he faced produced 1 runs on 4 hits and 1 HR, against a projected 4 runs / 7 hits (-3 runs vs projection).
No individual hitter beat his projection by a meaningful margin.
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
Nick Lodolo (CIN) threw 21 outs, 4 ER = 5.14 ERA against a projected 14.54 ERA (-9.4 ERA error)
Bullpen behind him: 0 ER over 6 outs.
The AWAY lineup he faced produced 4 runs on 3 hits and 2 HR, against a projected 5 runs / 8 hits (-1 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| LAD | Tarik Skubal (Starter) | 21 / 20 | 0 / 4.05 (-4.05) | 0 / 3 | 3 / 5 | 0 / 1 | 1 / 1 | 1.15 | 9 / 7 | 6.66 | venue away: 2.09 vs 3.4 ERA (ok) · opp run factor 0.94 (weak) · 23 prior appearances this season |
| CIN | Nick Lodolo (Starter) | 21 / 13 | 5.14 / 14.54 (-9.40) | 4 / 7 | 3 / 9 | 2 / 1 | 4 / 3 | 2.57 | 4 / 3 | 4.34 | venue home: 4.5 vs 5.97 ERA (ok) · opp run factor 0.97 (strong) · 18 prior appearances this season |
| CIN | Luis Mey (Setup Man) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0.8 | 1 / 0 | 1.68 | |
| CIN | Tony Santillan (Middle Reliever (High Leverage)) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0.75 | 1 / 2 | 1.01 |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Max Muncy (3B) | LAD | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 3 / 1 | -1.73 | 0.35 elite | bad day |
| Kyle Tucker (RF) | LAD | 2 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 2 / 1 | 2 / 1 | 0 / 1 | 1.26 | 0.327 above average | projection too low |
| Teoscar Hernández (LF) | LAD | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 1 | 2 / 0 | 1 / 0 | 1 / 1 | 1.26 | 0.331 above average | projection too low |
| Mookie Betts (SS) | LAD | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | -0.8 | 0.335 above average | bad day |
| Will Smith (C) | LAD | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | -0.8 | 0.382 elite | bad day |
| Tyler Stephenson (C) | CIN | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 2 / 1 | -0.8 | 0.333 above average | bad day |
| Miguel Rojas (2B) | LAD | 3 / 3 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | -0.78 | 0.304 average | no signal |
| Dane Myers (CF) | CIN | 3 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | -0.64 | 0.31 average | no signal |
| Tommy Edman (CF) | LAD | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | -0.47 | 0.311 average | — |
| Sal Stewart (1B) | CIN | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 2 / 1 | -0.47 | 0.35 elite | — |
| Enrique Hernández (1B) | LAD | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0.33 | 0.275 weak | — |
| Josue De Paula (DH) | LAD | 2 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 0 / 1 | 0.33 | 0.542 elite | — |
| Elly De La Cruz (SS) | CIN | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 1 / 1 | 0 / 1 | 2 / 2 | -0.33 | 0.373 elite | — |
| JJ Bleday (LF) | CIN | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | -0.14 | 0.342 elite | — |
| Juan Brito (2B) | CIN | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 0 | 0.292 below average | — |
| Ke'Bryan Hayes (3B) | CIN | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0 | 0.298 below average | — |
| Eugenio Suárez (RF) | CIN | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 2 | 0 | 0.299 below average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -1.894 | positive favors home; negative favors away |
| Recent form | -1.462 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.029 | positive favors home; negative favors away |
| Composite | -2.371 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 5.08-2.5 | n/a | Base ML historical model prediction |
| variance_applied | 5-2 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 7-3 | 0.58 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 8-3 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 8-3 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 8-3 | n/a | Capped at max 12 realistic runs |
| simulation_result | 8-3 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 5.08-2.5 | 5-2 | 0.417 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-2 | 7-3 | 1 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 7-3 | 8-3 | 1 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 8-3 | 8-3 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 8-3 | 8-3 | -0 | Capped at max 12 realistic runs |
| simulation_result | 8-3 | 8-3 | -0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| LAD | Tarik Skubal | pitcher / Starter | neutral | predicted_SO 5 |
| LAD | Tommy Edman | batter / CF | better | predicted_RBI 3.529 |
| LAD | Brock Stewart | pitcher / Middle Reliever (High Leverage) | worse | predicted_SO -3 |
| LAD | Enrique Hernández | batter / 1B | better | predicted_AB 2.5 |
| CIN | Juan Brito | batter / 2B | better | predicted_RBI 2.5 |
| CIN | Eugenio Suárez | batter / RF | better | predicted_H 2.09 |
| CIN | Ke'Bryan Hayes | batter / 3B | worse | predicted_AB -2.044 |
| LAD | Tanner Scott | pitcher / Closer | worse | predicted_SO -2 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | CIN pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | CIN |
| info | CURRENT_PITCHER_DUPLICATION | LAD pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | LAD |
| info | CURRENT_FINALIZED_MATCH_BOX | CIN model pitcher projections differ from final simulation pitching box score (ER: current=7, sim=8). | CIN |
| info | CURRENT_FINALIZED_MATCH_BOX | CIN model-prediction batting totals differ from final simulation box score (H: current=7, sim=5; 2B: current=1, sim=3; RBI: current=4, sim=3; R: current=4, sim=3; BB: current=3, sim=2; SO: current=11, sim=8). | CIN |
| info | CURRENT_PLAYER_MATCH_BOX | CIN current finalized hitter lines are model predictions and differ from the simulation box score: Tyler Stephenson: H current=1 box=0, RBI current=1 box=0, BB current=1 box=0, SO current=1 box=2; Dane Myers: H current=1 box=0, 2B current=1 box=0, BB current=1 box=0; Sal Stewart: H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Juan Brito: H current=1 box=2, 2B current=0 box=1, HR current=0 box=1, RBI current=0 box=3; Elly De La Cruz: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; TJ Friedl: SO current=1 box=0; Ke'Bryan Hayes: AB current=3 box=1, R current=0 box=1, BB current=0 box=2, SO current=1 box=0; JJ Bleday: AB current=3 box=4, H current=1 box=0, SO current=1 box=2 | CIN |
| info | CURRENT_FINALIZED_MATCH_BOX | LAD model-prediction batting totals differ from final simulation box score (AB: current=32, sim=39; H: current=8, sim=12; RBI: current=4, sim=8; R: current=5, sim=8; BB: current=4, sim=5). | LAD |
| info | CURRENT_PLAYER_MATCH_BOX | LAD current finalized hitter lines are model predictions and differ from the simulation box score: Tommy Edman: H current=1 box=3, HR current=0 box=1, RBI current=1 box=4, BB current=0 box=1; Mookie Betts: RBI current=1 box=0, SO current=0 box=1; Kyle Tucker: AB current=4 box=5, BB current=1 box=0, SO current=1 box=0; Will Smith: AB current=4 box=5, RBI current=0 box=1, R current=0 box=1, BB current=1 box=0; Enrique Hernández: AB current=3 box=5, 2B current=0 box=1, RBI current=0 box=2, R current=0 box=1; Josue De Paula: H current=0 box=1, BB current=0 box=1, SO current=1 box=0; Teoscar Hernández: AB current=4 box=5, H current=1 box=2, RBI current=1 box=0, R current=0 box=1; Miguel Rojas: AB current=3 box=4, H current=1 box=0, 2B current=1 box=0, BB current=0 box=1 | LAD |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| MIA | Sandy Alcantara | 4 ER / 18 outs | 4 ER / 15 outs | 0 |
| ARI | Corbin Burnes | 3 ER / 9 outs | 5 ER / 14 outs | 2 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Sandy Alcantara (MIA) threw 15 outs, 4 ER = 7.2 ERA against a projected 6 ERA (1.2 ERA error)
Bullpen behind him: 2 ER over 9 outs.
The HOME lineup he faced produced 6 runs on 10 hits and 3 HR, against a projected 4 runs / 8 hits (2 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
No settled pitching line for this club. The forecast named Corbin Burnes (ARI) at a projected 9 ERA, but the per-player feed carries no pitching row for him in this game, so the actual-versus-projected comparison cannot be made on this side. That is a source-coverage gap in the settled box, not a forecasting failure.
Bullpen behind him: 0 ER over 0 outs.
The AWAY lineup he faced produced 7 runs on 12 hits and 2 HR, against a projected 5 runs / 8 hits (2 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| MIA | Sandy Alcantara (Starter) | 15 / 18 | 7.2 / 6 | 4 / 4 | 7 / 7 | 1 / 1 | 2 / 2 | 1.81 | 6 / 5 | 3.16 | venue away: 4.32 vs 3.14 ERA (worse here) · opp run factor 0.99 (average) · 31 prior appearances this season |
| MIA | Calvin Faucher (Closer) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0.53 | 0 / 2 | 0.95 | |
| MIA | Michael Petersen (Middle Reliever (High Leverage)) | 3 / 3 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 0 | 0 / 0 | 0.45 | 3 / 0 | 1.1 | |
| MIA | Tyler Zuber (Setup Man) | 3 / 3 | 18 / 0 (+18.00) | 2 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | 0.42 | 1 / 0 | 1.08 |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Jakob Marsee (CF) | MIA | 4 / 4 | 3 / 1 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | 2 / 1 | 0 / 1 | 0 / 1 | 2.16 | 0.308 average | no signal |
| Javier Sanoja (3B) | MIA | 4 / 4 | 2 / 1 | 0 / 1 | 1 / 0 | 1 / 0 | 3 / 1 | 2 / 1 | 0 / 0 | 0 / 0 | 1.71 | 0.292 below average | good day |
| Lars Nootbaar (LF) | ARI | 5 / 4 | 3 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 2 / 0 | 0 / 1 | 1 / 1 | 1.54 | 0.349 elite | projection too low |
| Jordan Lawlar (CF) | ARI | 4 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 2 / 0 | 0 / 0 | 1 / 1 | 1.4 | 0.328 above average | projection too low |
| Corbin Carroll (RF) | ARI | 5 / 4 | 2 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | 3 / 0 | 1 / 1 | 0 / 1 | 1 / 1 | 0.76 | 0.341 elite | projection too low |
| Ketel Marte (2B) | ARI | 5 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | -0.62 | 0.346 elite | bad day |
| Heriberto Hernández (LF) | MIA | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 0 | 1 / 1 | -0.6 | 0.352 elite | bad day |
| Otto Lopez (SS) | MIA | 5 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 3 / 0 | -0.47 | 0.327 above average | — |
| Agustín Ramírez (DH) | MIA | 4 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0.47 | 0.285 below average | — |
| Griffin Conine (RF) | MIA | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 3 / 1 | -0.33 | 0.368 elite | — |
| Joe Mack (C) | MIA | 2 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | 0 / 1 | 0.33 | 0.289 below average | — |
| Xavier Edwards (2B) | MIA | 5 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 2 / 1 | 0.14 | 0.313 average | — |
| Geraldo Perdomo (SS) | ARI | 2 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 2 / 0 | -0.14 | 0.326 above average | — |
| Tim Tawa (1B) | ARI | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 1 / 0 | 0 / 1 | -0.14 | 0.314 average | — |
| Gabriel Moreno (C) | ARI | 3 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 0 | 1 / 0 | 0.02 | 0.359 elite | — |
| Kyle Stowers (1B) | MIA | 5 / 4 | 1 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 0 | 0 / 0 | 1 / 1 | 0 | 0.328 above average | — |
| Nolan Arenado (3B) | ARI | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 3 / 1 | 0 | 0.293 below average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.165 | positive favors home; negative favors away |
| Recent form | 0.078 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.011 | positive favors home; negative favors away |
| Composite | -0.046 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.8-4.71 | n/a | Base ML historical model prediction |
| variance_applied | 5-5 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-4 | 0.517 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by starter_quality_favours_the_other_side, projected_margin_is_one_run) |
| embedded_savant_run_environment | 5-4 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 5-4 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 5-4 | n/a | Capped at max 12 realistic runs |
| simulation_result | 5-4 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.8-4.71 | 5-5 | -0.092 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-5 | 5-4 | 1 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by starter_quality_favours_the_other_side, projected_margin_is_one_run) |
| embedded_savant_run_environment | 5-4 | 5-4 | -0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 5-4 | 5-4 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 5-4 | 5-4 | -0 | Capped at max 12 realistic runs |
| simulation_result | 5-4 | 5-4 | -0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| ARI | Tim Tawa | batter / 1B | worse | predicted_SO 2.119 |
| MIA | Heriberto Hernández | batter / LF | worse | predicted_H 2.09 |
| MIA | Agustín Ramírez | batter / DH | worse | predicted_H 1.7 |
| MIA | Otto Lopez | batter / SS | worse | predicted_H -1.64 |
| MIA | Kyle Stowers | batter / 1B | worse | predicted_RBI 1.51 |
| ARI | Corbin Carroll | batter / RF | better | predicted_RBI 1.5 |
| MIA | Xavier Edwards | batter / 2B | worse | predicted_SO 1.434 |
| ARI | Gabriel Moreno | batter / C | worse | predicted_H -1.4 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | ARI pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | ARI |
| info | CURRENT_PITCHER_DUPLICATION | MIA pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | MIA |
| info | CURRENT_FINALIZED_MATCH_BOX | ARI model-prediction batting totals differ from final simulation box score (AB: current=33, sim=34; H: current=8, sim=7; BB: current=3, sim=2; SO: current=5, sim=7). | ARI |
| info | CURRENT_PLAYER_MATCH_BOX | ARI current finalized hitter lines are model predictions and differ from the simulation box score: Lars Nootbaar: H current=1 box=0, BB current=1 box=0; Geraldo Perdomo: H current=1 box=2, RBI current=0 box=1, R current=0 box=1, BB current=1 box=0; Corbin Carroll: AB current=4 box=3, 2B current=1 box=0, HR current=0 box=1, RBI current=0 box=2; Gabriel Moreno: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Pavin Smith: H current=0 box=1, R current=0 box=1, BB current=0 box=1, SO current=0 box=1; Ketel Marte: 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Nolan Arenado: H current=1 box=2, 2B current=0 box=1, SO current=1 box=0; Tim Tawa: AB current=3 box=4, H current=1 box=0, RBI current=1 box=0, SO current=1 box=3 | ARI |
| info | CURRENT_FINALIZED_MATCH_BOX | MIA model-prediction batting totals differ from final simulation box score (AB: current=34, sim=35; 2B: current=2, sim=1; HR: current=1, sim=3; RBI: current=4, sim=5; BB: current=3, sim=2; SO: current=7, sim=10). | MIA |
| info | CURRENT_PLAYER_MATCH_BOX | MIA current finalized hitter lines are model predictions and differ from the simulation box score: Kyle Stowers: AB current=4 box=5, 2B current=1 box=0, HR current=0 box=1, RBI current=1 box=2; Xavier Edwards: H current=1 box=0, BB current=1 box=0, SO current=1 box=2; Heriberto Hernández: H current=1 box=3, 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=0; Griffin Conine: BB current=1 box=0, SO current=1 box=2; Otto Lopez: H current=1 box=0, R current=1 box=0, SO current=0 box=1; Jakob Marsee: AB current=4 box=3, H current=1 box=0, R current=1 box=0; Javier Sanoja: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Joe Mack: AB current=3 box=4, HR current=0 box=1, RBI current=0 box=1, R current=0 box=1 | MIA |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| NYY | Will Warren | 3 ER / 16 outs | 0 ER / 17 outs | -3 |
| MIN | Dean Kremer | 3 ER / 14 outs | 1 ER / 17 outs | -2 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Starter miss: Will Warren (NYY) posted 0.00 ERA vs projected 5.06 (0 ER in 17 outs); he is materially worse pitching away (4.45 ERA there vs 3.86 on the other side), a venue-role weakness the model under-weighted.
What to do: Enable/raise the venue-split weight (context.venue_adjustment_weight) and validate in shadow; the split is credible for this starter.
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Will Warren (NYY) threw 17 outs, 0 ER = 0 ERA against a projected 5.06 ERA (-5.06 ERA error)
Bullpen behind him: 1 ER over 3 outs.
The HOME lineup he faced produced 3 runs on 6 hits and 1 HR, against a projected 4 runs / 8 hits (-1 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
Dean Kremer (MIN) threw 17 outs, 1 ER = 1.59 ERA against a projected 5.79 ERA (-4.2 ERA error)
Bullpen behind him: 6 ER over 4 outs.
The AWAY lineup he faced produced 7 runs on 9 hits and 3 HR, against a projected 5 runs / 8 hits (2 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| NYY | Will Warren (Starter) | 17 / 16 | 0 / 5.06 (-5.06) | 0 / 3 | 5 / 2 | 0 / 2 | 2 / 2 | 2.15 | 6 / 4 | 6.05 | venue away: 4.45 vs 3.86 ERA (worse here) · opp run factor 1.04 (average) · 29 prior appearances this season |
| NYY | Tim Hill (Middle Reliever (High Leverage)) | 3 / 2 | 9 / 13.5 (-4.50) | 1 / 1 | 1 / 1 | 1 / 0 | 0 / 1 | 0.26 | 0 / 1 | 0.48 | |
| MIN | Dean Kremer (Starter) | 17 / 14 | 1.59 / 5.79 (-4.20) | 1 / 3 | 2 / 6 | 1 / 3 | 1 / 1 | 2.08 | 5 / 5 | 4.24 | venue home: 5.2 vs 6.11 ERA (ok) · opp run factor 1.03 (strong) · 14 prior appearances this season |
| MIN | A.J. Minter (Middle Reliever (High Leverage)) | 0 / 4 | n/a / 20.25 | 3 / 3 | 3 / 4 | 1 / 0 | 0 / 1 | 0.17 | 0 / 1 | 0.88 | |
| MIN | Andrew Morris (Middle Reliever (High Leverage)) | 1 / 3 | 81 / 0 (+81.00) | 3 / 0 | 3 / 0 | 0 / 0 | 0 / 0 | 0.36 | 1 / 0 | 0.83 | |
| MIN | Jeff Hoffman (Setup Man) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0.37 | 1 / 1 | 1.48 |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| José Caballero (2B) | NYY | 4 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 2 / 0 | 0 / 0 | 0 / 1 | 1.4 | 0.28 weak | good day |
| Austin Wells (C) | NYY | 4 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | 0 / 0 | 2 / 1 | 1.4 | 0.288 below average | good day |
| Josh Bell (DH) | MIN | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 2 / 0 | 0 / 0 | 1 / 1 | 1.4 | 0.333 above average | projection too low |
| Kody Clemens (2B) | MIN | 5 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 0 / 0 | 1 / 1 | -1.4 | 0.337 above average | bad day |
| Ryan Jeffers (C) | MIN | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -1.11 | 0.357 elite | bad day |
| Luis García Jr. (1B) | NYY | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | -0.78 | 0.353 elite | bad day |
| Spencer Jones (CF) | NYY | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.331 above average | — |
| Cody Bellinger (LF) | NYY | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | -0.33 | 0.338 above average | — |
| Aaron Judge (RF) | NYY | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 3 / 1 | 1 / 1 | 0 / 1 | 2 / 1 | -0.33 | 0.403 elite | — |
| George Lombard Jr. (SS) | NYY | 4 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 2 / 1 | 0.31 | 0.265 weak | — |
| Emmanuel Rodriguez (LF) | MIN | 4 / 4 | 1 / 1 | 0 / 0 | 1 / 0 | 0 / 0 | 2 / 0 | 0 / 1 | 0 / 1 | 2 / 1 | 0.29 | 0.607 elite | — |
| Luke Keaschall (RF) | MIN | 2 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 3 / 1 | 0 / 0 | 0.19 | 0.315 average | — |
| Ben Rice (DH) | NYY | 3 / 4 | 2 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 2 / 1 | 1 / 1 | 1 / 1 | 0 / 1 | 0.16 | 0.375 elite | — |
| Brooks Lee (3B) | MIN | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 0 | 0 / 1 | 0.02 | 0.275 weak | — |
| Ryan McMahon (3B) | NYY | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.301 below average | — |
| Victor Caratini (1B) | MIN | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 | 0.318 average | — |
| Walker Jenkins (CF) | MIN | 4 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.255 weak | — |
| Ryan Kreidler (SS) | MIN | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.289 below average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -1.259 | positive favors home; negative favors away |
| Recent form | -0.851 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.005 | positive favors home; negative favors away |
| Composite | -1.255 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.19-4.35 | n/a | Base ML historical model prediction |
| variance_applied | 4-4 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 6-4 | 0.57 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 6-4 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 6-4 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 6-4 | n/a | Capped at max 12 realistic runs |
| simulation_result | 6-4 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.19-4.35 | 4-4 | 0.16 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-4 | 6-4 | 2 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 6-4 | 6-4 | -0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 6-4 | 6-4 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 6-4 | 6-4 | -0 | Capped at max 12 realistic runs |
| simulation_result | 6-4 | 6-4 | -0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| MIN | Ryan Jeffers | batter / C | worse | predicted_RBI 2.25 |
| NYY | Austin Wells | batter / C | worse | predicted_H 1.57 |
| NYY | Ryan McMahon | batter / 3B | boosted | predicted_H 1.44 |
| NYY | Luis García Jr. | batter / 1B | better | predicted_RBI 1.42 |
| MIN | Kody Clemens | batter / 2B | worse | predicted_AB -1.35 |
| NYY | Aaron Judge | batter / RF | better | predicted_BB 1.328 |
| MIN | Ryan Kreidler | batter / SS | worse | predicted_SO 1.325 |
| MIN | Walker Jenkins | batter / CF | better | predicted_AB -1.154 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | MIN pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | MIN |
| info | CURRENT_PITCHER_DUPLICATION | NYY pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | NYY |
| info | CURRENT_FINALIZED_MATCH_BOX | MIN model-prediction batting totals differ from final simulation box score (AB: current=33, sim=30; H: current=8, sim=3; 2B: current=2, sim=1; HR: current=1, sim=2; SO: current=7, sim=6; HBP: current=0, sim=1). | MIN |
| info | CURRENT_PLAYER_MATCH_BOX | MIN current finalized hitter lines are model predictions and differ from the simulation box score: Luke Keaschall: AB current=4 box=3, H current=1 box=0, R current=1 box=0, BB current=1 box=0; Ryan Jeffers: H current=1 box=2, HR current=0 box=1, RBI current=1 box=3, BB current=1 box=0; Emmanuel Rodriguez: AB current=4 box=3, H current=1 box=0; Victor Caratini: AB current=3 box=4, H current=1 box=0, SO current=0 box=1; Brooks Lee: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Josh Bell: H current=1 box=0, RBI current=1 box=0; Kody Clemens: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Walker Jenkins: AB current=3 box=2, H current=0 box=1, HR current=0 box=1, RBI current=0 box=1 | MIN |
| info | CURRENT_FINALIZED_MATCH_BOX | NYY model-prediction batting totals differ from final simulation box score (AB: current=32, sim=37; H: current=8, sim=10; HR: current=1, sim=3; RBI: current=4, sim=6; R: current=5, sim=6; BB: current=3, sim=2). | NYY |
| info | CURRENT_PLAYER_MATCH_BOX | NYY current finalized hitter lines are model predictions and differ from the simulation box score: Ben Rice: AB current=4 box=5, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Cody Bellinger: AB current=4 box=5, H current=1 box=2, RBI current=1 box=0, BB current=1 box=0; Aaron Judge: AB current=4 box=3, BB current=1 box=2, SO current=1 box=0; Luis García Jr.: RBI current=1 box=2, SO current=0 box=1; Spencer Jones: HR current=0 box=1, RBI current=0 box=1, R current=0 box=1; George Lombard Jr.: AB current=3 box=4, H current=1 box=0, R current=1 box=0, SO current=1 box=2; José Caballero: AB current=3 box=4, HR current=0 box=1, RBI current=0 box=1, R current=0 box=1; Austin Wells: AB current=3 box=4, H current=0 box=2 | NYY |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| SD | Casey Mize | 3 ER / 15 outs | 2 ER / 15 outs | -1 |
| COL | Tomoyuki Sugano | 3 ER / 14 outs | 6 ER / 15 outs | 3 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Starter miss: Tomoyuki Sugano (COL) posted 10.80 ERA vs projected 5.79 (6 ER in 15 outs); no credible venue, opponent-strength or experience signal explains it — an outlier start (variance).
What to do: Variance — no model change is warranted for this start.
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Casey Mize (SD) threw 15 outs, 2 ER = 3.6 ERA against a projected 5.4 ERA (-1.8 ERA error)
Bullpen behind him: 2 ER over 11 outs.
The HOME lineup he faced produced 7 runs on 14 hits and 1 HR, against a projected 4 runs / 9 hits (3 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
Tomoyuki Sugano (COL) threw 15 outs, 6 ER = 10.8 ERA against a projected 5.79 ERA (5.01 ERA error)
Bullpen behind him: 0 ER over 3 outs.
The AWAY lineup he faced produced 8 runs on 13 hits and 2 HR, against a projected 5 runs / 9 hits (3 runs vs projection).
Who did the damage to him:
Verdict: pitching: the starter gave up runs at a far worse rate than projected
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| SD | Casey Mize (Starter) | 15 / 15 | 3.6 / 5.4 | 2 / 3 | 8 / 3 | 0 / 1 | 2 / 0 | 1.13 | 0 / 4 | 3.58 | venue away: 4.25 vs 3.15 ERA (worse here) · opp run factor 0.93 (weak) · 23 prior appearances this season |
| SD | Adrian Morejon (Setup Man) | 3 / 3 | 9 / 0 (+9.00) | 1 / 0 | 2 / 0 | 0 / 0 | 0 / 0 | 0.28 | 0 / 2 | 1.21 | |
| SD | Bradgley Rodriguez (Middle Reliever (High Leverage)) | 5 / 3 | 5.4 / 9 (-3.60) | 1 / 1 | 2 / 2 | 1 / 0 | 0 / 0 | 0.21 | 0 / 1 | 1.19 | |
| SD | Mason Miller (Closer) | 3 / 3 | 0 / 9 (-9.00) | 0 / 1 | 1 / 3 | 0 / 0 | 0 / 1 | 0.4 | 2 / 2 | 1.83 | |
| COL | Tomoyuki Sugano (Starter) | 15 / 14 | 10.8 / 5.79 (+5.01) | 6 / 3 | 8 / 6 | 2 / 1 | 1 / 1 | 1.34 | 2 / 5 | 3.52 | venue home: 4.96 vs 5.64 ERA (ok) · opp run factor 0.97 (average) · 26 prior appearances this season |
| COL | Jordan Romano (Closer) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0.55 | 2 / 3 | 1.06 |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Cole Carrigg (CF) | COL | 5 / 4 | 2 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 1 | 0 / 0 | 1 / 1 | 1.09 | 0.311 average | no signal |
| Jake McCarthy (LF) | COL | 5 / 4 | 2 / 1 | 1 / 1 | 1 / 0 | 0 / 0 | 2 / 1 | 1 / 1 | 0 / 0 | 0 / 1 | 1.09 | 0.321 above average | projection too low |
| Luis Campusano (DH) | SD | 5 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 2 / 1 | -0.8 | 0.337 above average | bad day |
| Jake Cronenworth (2B) | SD | 3 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | 1 / 1 | 0.8 | 0.268 weak | good day |
| Hunter Goodman (C) | COL | 3 / 4 | 2 / 1 | 1 / 0 | 1 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 1 / 0 | 0 / 1 | 0.8 | 0.318 average | no signal |
| Kyle Karros (3B) | COL | 5 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0.78 | 0.337 above average | projection too low |
| Connor Norby (2B) | COL | 5 / 4 | 2 / 1 | 2 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 1 / 0 | 0 / 1 | 0 / 1 | 0.76 | 0.305 average | no signal |
| Dustin Harris (LF) | SD | 4 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 0 | 0 / 0 | 0.64 | 0.321 above average | projection too low |
| Jackson Merrill (CF) | SD | 5 / 4 | 3 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 0 / 0 | 1 / 1 | 0.63 | 0.347 elite | projection too low |
| Fernando Tatis Jr. (RF) | SD | 5 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | 2 / 1 | 1 / 1 | 0 / 0 | 1 / 1 | 0.62 | 0.376 elite | projection too low |
| Manny Machado (3B) | SD | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | 0.6 | 0.337 above average | projection too low |
| Adael Amador (DH) | COL | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 0 | 0 / 1 | 0.33 | 0.281 weak | — |
| Ezequiel Tovar (SS) | COL | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 1 / 0 | 0 / 1 | 0.33 | 0.279 weak | — |
| Ty France (1B) | SD | 5 / 4 | 3 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 1 | 0 / 0 | 1 / 1 | 0.32 | 0.335 above average | — |
| Mickey Moniak (RF) | COL | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 0 | 1 / 1 | -0.14 | 0.278 weak | — |
| TJ Rumfield (1B) | COL | 5 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0.14 | 0.335 above average | — |
| Xander Bogaerts (SS) | SD | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 1 / 1 | 0 / 0 | 0 | 0.318 average | — |
| Freddy Fermin (C) | SD | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 0 | 0.275 weak | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -1.366 | positive favors home; negative favors away |
| Recent form | -1.246 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.035 | positive favors home; negative favors away |
| Composite | -1.679 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 5.79-3.61 | n/a | Base ML historical model prediction |
| variance_applied | 6-4 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 7-5 | 0.58 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 8-5 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 8-5 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 8-5 | n/a | Capped at max 12 realistic runs |
| simulation_result | 8-5 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 5.79-3.61 | 6-4 | -0.172 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 6-4 | 7-5 | -0 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 7-5 | 8-5 | 1 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 8-5 | 8-5 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 8-5 | 8-5 | -0 | Capped at max 12 realistic runs |
| simulation_result | 8-5 | 8-5 | -0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| SD | Jake Cronenworth | batter / 2B | better | predicted_RBI 2.72 |
| SD | Manny Machado | batter / 3B | better | predicted_RBI 2.18 |
| COL | Connor Norby | batter / 2B | worse | predicted_SO 1.914 |
| SD | Dustin Harris | batter / LF | better | predicted_AB 1.88 |
| COL | Cole Carrigg | batter / CF | deboosted | predicted_RBI 1.494 |
| COL | Jake McCarthy | batter / LF | worse | predicted_RBI 1.33 |
| COL | Hunter Goodman | batter / C | worse | predicted_SO -1.328 |
| SD | Jackson Merrill | batter / CF | worse | predicted_AB -1.3 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | COL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | COL |
| info | CURRENT_PITCHER_DUPLICATION | SD pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | SD |
| info | CURRENT_FINALIZED_MATCH_BOX | COL model pitcher projections differ from final simulation pitching box score (ER: current=7, sim=8). | COL |
| info | CURRENT_FINALIZED_MATCH_BOX | COL model-prediction batting totals differ from final simulation box score (AB: current=34, sim=36; R: current=4, sim=5; BB: current=2, sim=1; SO: current=8, sim=11; HBP: current=0, sim=1). | COL |
| info | CURRENT_PLAYER_MATCH_BOX | COL current finalized hitter lines are model predictions and differ from the simulation box score: Hunter Goodman: H current=1 box=2, HR current=1 box=0, SO current=1 box=0; Cole Carrigg: H current=1 box=2, 2B current=1 box=0, HR current=0 box=1, RBI current=1 box=2; Connor Norby: AB current=4 box=5, H current=1 box=2, 2B current=0 box=2, R current=0 box=1; Mickey Moniak: RBI current=1 box=0, SO current=1 box=2; Adael Amador: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, HBP current=0 box=1; Jake McCarthy: AB current=4 box=5, 2B current=1 box=0, RBI current=1 box=2, SO current=1 box=2; TJ Rumfield: AB current=4 box=3, H current=1 box=0; Kyle Karros: R current=0 box=1 | COL |
| info | CURRENT_FINALIZED_MATCH_BOX | SD model-prediction batting totals differ from final simulation box score (AB: current=32, sim=38; H: current=9, sim=11; 2B: current=2, sim=0; 3B: current=0, sim=3; HR: current=1, sim=2; RBI: current=5, sim=8; R: current=5, sim=8; BB: current=3, sim=2). | SD |
| info | CURRENT_PLAYER_MATCH_BOX | SD current finalized hitter lines are model predictions and differ from the simulation box score: Ty France: HR current=1 box=0, RBI current=1 box=0, BB current=0 box=1; Fernando Tatis Jr.: AB current=4 box=5, H current=1 box=3, 2B current=1 box=0, 3B current=0 box=1; Luis Campusano: H current=1 box=0, RBI current=1 box=0, BB current=1 box=0, SO current=1 box=2; Manny Machado: AB current=4 box=5, H current=1 box=2, HR current=0 box=1, RBI current=1 box=3; Dustin Harris: AB current=3 box=5, H current=1 box=2, 3B current=0 box=1, RBI current=0 box=1; Jackson Merrill: 2B current=1 box=0, 3B current=0 box=1, RBI current=1 box=0; Xander Bogaerts: AB current=3 box=4, R current=0 box=1, BB current=1 box=0, SO current=0 box=2; Jake Cronenworth: AB current=3 box=4, HR current=0 box=1, RBI current=0 box=3, R current=0 box=1 | SD |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| SEA | Kade Anderson | 1 ER / 15 outs | 5 ER / 13 outs | 4 |
| LAA | Reid Detmers | 2 ER / 19 outs | 3 ER / 18 outs | 1 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Starter miss: Kade Anderson (SEA) posted 10.38 ERA vs projected 1.80 (5 ER in 13 outs). Thin prior record (4 prior appearances this season): high projection uncertainty.
What to do: Reduce game confidence for starters the feed has little on (scale by prior appearances); prefer priors and validate any run-param change in shadow.
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Kade Anderson (SEA) threw 13 outs, 5 ER = 10.38 ERA against a projected 1.8 ERA (8.58 ERA error) only 4 prior appearances in the covered season - the projection had little of his own record to stand on
Bullpen behind him: 0 ER over 0 outs.
The HOME lineup he faced produced 6 runs on 9 hits and 0 HR, against a projected 3 runs / 7 hits (3 runs vs projection).
Who did the damage to him:
Verdict: pitching: the starter gave up runs at a far worse rate than projected
HOME pitching
Reid Detmers (LAA) threw 18 outs, 3 ER = 4.5 ERA against a projected 2.84 ERA (1.66 ERA error)
Bullpen behind him: 0 ER over 7 outs.
The AWAY lineup he faced produced 4 runs on 8 hits and 2 HR, against a projected 5 runs / 7 hits (-1 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| SEA | Kade Anderson (Starter) | 13 / 15 | 10.38 / 1.8 (+8.58) | 5 / 1 | 7 / 5 | 0 / 1 | 0 / 0 | 1.99 | 5 / 5 | 3.81 | venue away: 4.15 vs 4.32 ERA (ok) · opp run factor 1.01 (weak) · thin sample: 4 prior appearances this season (high uncertainty) |
| LAA | Reid Detmers (Starter) | 18 / 19 | 4.5 / 2.84 | 3 / 2 | 7 / 4 | 1 / 0 | 1 / 2 | 0.92 | 8 / 7 | 8.03 | venue home: 3.21 vs 3.47 ERA (ok) · opp run factor 1.05 (weak) · 29 prior appearances this season |
| LAA | Ben Joyce (Closer) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 2 / 0 | 0.66 | 0 / 1 | 1.28 | |
| LAA | Ryan Watson (Setup Man) | 4 / 3 | 0 / 9 (-9.00) | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 0.23 | 2 / 2 | 1 |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Jose Siri (CF) | LAA | 4 / 4 | 3 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 2 / 0 | 0 / 0 | 0 / 1 | 1.25 | 0.305 average | no signal |
| J.P. Crawford (SS) | SEA | 5 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | 0 / 1 | 1 / 1 | 1.07 | 0.322 above average | projection too low |
| Christian Moore (2B) | LAA | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 3 / 1 | -0.8 | 0.245 weak | projection too high |
| Michael Arroyo (DH) | SEA | 3 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | 0.47 | 0.447 elite | — |
| Josh Naylor (1B) | SEA | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.316 average | — |
| Cole Young (2B) | SEA | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | -0.47 | 0.317 average | — |
| Weston Wilson (3B) | SEA | 3 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0.47 | 0.261 weak | — |
| Randy Arozarena (LF) | SEA | 4 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | 0.45 | 0.347 elite | — |
| Julio Rodríguez (CF) | SEA | 3 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 0 | 2 / 1 | -0.45 | 0.335 above average | — |
| Cal Raleigh (C) | SEA | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 3 / 1 | 1 / 1 | 0 / 1 | 2 / 2 | -0.33 | 0.312 average | — |
| Zach Neto (SS) | LAA | 4 / 4 | 2 / 1 | 0 / 0 | 1 / 0 | 0 / 1 | 1 / 1 | 2 / 1 | 0 / 1 | 1 / 2 | -0.17 | 0.31 average | — |
| Vaughn Grissom (1B) | LAA | 2 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 1 / 0 | 0 / 1 | 0.02 | 0.305 average | — |
| Dominic Canzone (RF) | SEA | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 0 / 0 | 2 / 1 | 0 | 0.352 elite | — |
| Mike Trout (DH) | LAA | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 1 / 1 | 0 | 0.377 elite | — |
| Kyren Paris (LF) | LAA | 2 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.225 weak | — |
| Wade Meckler (RF) | LAA | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 1 | 0 | 0.314 average | — |
| Travis d'Arnaud (C) | LAA | 4 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.244 weak | — |
| Denzer Guzman (3B) | LAA | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.267 weak | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.258 | positive favors home; negative favors away |
| Recent form | -0.326 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.036 | positive favors home; negative favors away |
| Composite | -0.123 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 3.45-5.4 | n/a | Base ML historical model prediction |
| variance_applied | 3-5 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-6 | 0.528 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 5-6 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 5-6 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 5-6 | n/a | Capped at max 12 realistic runs |
| simulation_result | 5-6 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 3.45-5.4 | 3-5 | 0.054 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 3-5 | 5-6 | -1 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 5-6 | 5-6 | 0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 5-6 | 5-6 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 5-6 | 5-6 | 0 | Capped at max 12 realistic runs |
| simulation_result | 5-6 | 5-6 | 0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| SEA | Cal Raleigh | batter / C | worse | predicted_SO 2.693 |
| LAA | Kyren Paris | batter / LF | better | predicted_H 2 |
| LAA | Zach Neto | batter / SS | worse | predicted_AB -1.96 |
| SEA | Julio Rodríguez | batter / CF | better | predicted_H 1.66 |
| SEA | Cole Young | batter / 2B | worse | predicted_H 1.66 |
| SEA | Josh Naylor | batter / 1B | worse | predicted_AB -1.53 |
| SEA | Michael Arroyo | batter / DH | worse | predicted_AB 1.5 |
| SEA | J.P. Crawford | batter / SS | better | predicted_RBI 1.5 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | LAA pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | LAA |
| info | CURRENT_PITCHER_DUPLICATION | SEA pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | SEA |
| info | CURRENT_FINALIZED_MATCH_BOX | LAA model-prediction batting totals differ from final simulation box score (AB: current=33, sim=32; H: current=7, sim=8; 2B: current=1, sim=0; RBI: current=4, sim=6; R: current=3, sim=6; BB: current=3, sim=2; SO: current=10, sim=8; HBP: current=0, sim=2). | LAA |
| info | CURRENT_PLAYER_MATCH_BOX | LAA current finalized hitter lines are model predictions and differ from the simulation box score: Mike Trout: BB current=1 box=0; Jose Siri: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, SO current=1 box=2; Vaughn Grissom: 2B current=1 box=0, RBI current=1 box=2, R current=0 box=1, SO current=1 box=0; Christian Moore: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Kyren Paris: AB current=3 box=4, H current=0 box=2, RBI current=0 box=2, R current=0 box=1; Wade Meckler: AB current=3 box=4, R current=1 box=0; Travis d'Arnaud: AB current=3 box=4, H current=0 box=1, HR current=0 box=1, RBI current=0 box=1; Denzer Guzman: AB current=4 box=3, H current=1 box=0, RBI current=0 box=1, R current=0 box=1 | LAA |
| info | CURRENT_FINALIZED_MATCH_BOX | SEA model-prediction batting totals differ from final simulation box score (AB: current=33, sim=36; H: current=7, sim=9; 2B: current=1, sim=3; RBI: current=4, sim=5; BB: current=3, sim=4; SO: current=10, sim=11; HBP: current=0, sim=1). | SEA |
| info | CURRENT_PLAYER_MATCH_BOX | SEA current finalized hitter lines are model predictions and differ from the simulation box score: Dominic Canzone: AB current=4 box=3, 2B current=0 box=1, R current=0 box=1, BB current=0 box=1; Cal Raleigh: AB current=4 box=5, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Randy Arozarena: AB current=4 box=5, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Michael Arroyo: AB current=3 box=4, R current=1 box=0; Julio Rodríguez: AB current=4 box=5, H current=1 box=3, HR current=0 box=1, RBI current=1 box=2; J.P. Crawford: H current=1 box=2, 2B current=0 box=1, RBI current=0 box=2, R current=0 box=1; Josh Naylor: AB current=4 box=3, H current=1 box=0, BB current=0 box=1, SO current=1 box=0; Cole Young: AB current=3 box=4, H current=1 box=2 | SEA |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| SF | Landen Roupp | 1 ER / 16 outs | 2 ER / 13 outs | 1 |
| STL | Quinn Mathews | 2 ER / 15 outs | 1 ER / 20 outs | -1 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Landen Roupp (SF) threw 13 outs, 2 ER = 4.15 ERA against a projected 1.69 ERA (2.46 ERA error)
Bullpen behind him: 0 ER over 11 outs.
The HOME lineup he faced produced 2 runs on 8 hits and 0 HR, against a projected 5 runs / 8 hits (-3 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
HOME pitching
Quinn Mathews (STL) threw 20 outs, 1 ER = 1.35 ERA against a projected 3.6 ERA (-2.25 ERA error) only 6 prior appearances in the covered season - the projection had little of his own record to stand on
Bullpen behind him: 0 ER over 7 outs.
The AWAY lineup he faced produced 1 runs on 5 hits and 0 HR, against a projected 5 runs / 8 hits (-4 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| SF | Landen Roupp (Starter) | 13 / 16 | 4.15 / 1.69 | 2 / 1 | 5 / 4 | 0 / 1 | 3 / 3 | 2.7 | 4 / 3 | 4.39 | venue away: 4.28 vs 3.69 ERA (worse here) · opp run factor 1 (average) · 28 prior appearances this season |
| SF | Trent Harris (Setup Man) | 3 / 4 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0.35 | 1 / 1 | 1.4 | |
| SF | Carson Seymour (Middle Reliever (High Leverage)) | 3 / 0 | 0 / n/a | 0 / 1 | 1 / 3 | 0 / 0 | 0 / 0 | 0.67 | 0 / 2 | 0.89 | |
| SF | Joel Kuhnel (Reliever) | 5 / 0 | 0 / n/a | 0 / 2 | 0 / 2 | 0 / 0 | 0 / 1 | n/a | 1 / 1 | n/a | |
| STL | Quinn Mathews (Starter) | 20 / 15 | 1.35 / 3.6 | 1 / 2 | 4 / 5 | 0 / 0 | 2 / 0 | 2.01 | 8 / 4 | 4.93 | venue home: 1.59 vs 4.68 ERA (ok) · opp run factor 0.96 (weak) · 6 prior appearances this season |
| STL | Justin Bruihl (Middle Reliever (High Leverage)) | 1 / 3 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0.31 | 0 / 0 | 0.85 | |
| STL | Riley O'Brien (Closer) | 3 / 7 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | 0.5 | 2 / 1 | 1.07 | |
| STL | Ryne Stanek (Middle Reliever (High Leverage)) | 3 / 2 | 0 / 0 | 0 / 0 | 1 / 2 | 0 / 0 | 1 / 0 | 0.39 | 2 / 0 | 1.09 |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Joshua Baez (LF) | STL | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | -1.4 | 0.316 average | no signal |
| Shay Whitcomb (2B) | SF | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | -0.93 | 0.27 weak | projection too high |
| Leonardo Bernal (C) | STL | 4 / 4 | 3 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 0.92 | 0.372 elite | projection too low |
| Scott Bandura (RF) | SF | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 2 / 1 | -0.47 | 0.209 weak | — |
| Christian Koss (SS) | SF | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 2 / 1 | -0.47 | 0.255 weak | — |
| Thomas Saggese (2B) | STL | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 0.47 | 0.314 average | — |
| Iván Herrera (DH) | STL | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 0 / 1 | -0.47 | 0.331 above average | — |
| Nathan Church (CF) | STL | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | -0.47 | 0.289 below average | — |
| Turner Hill (DH) | SF | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 1 / 1 | -0.33 | 0.316 average | — |
| Jonah Cox (CF) | SF | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0 / 1 | 2 / 1 | -0.33 | 0.259 weak | — |
| Bryce Eldridge (1B) | SF | 3 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 1 / 1 | -0.31 | 0.354 elite | — |
| Grant McCray (LF) | SF | 4 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 2 / 1 | 0.31 | 0.31 average | — |
| Alec Burleson (1B) | STL | 3 / 4 | 2 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 1 / 1 | 1 / 1 | 0.16 | 0.375 elite | — |
| Andrew Knizner (C) | SF | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | -0.14 | 0.295 below average | — |
| Masyn Winn (SS) | STL | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | -0.14 | 0.298 below average | — |
| Jordan Walker (RF) | STL | 3 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 0 | 1 / 1 | 0.02 | 0.343 elite | — |
| Brett Harris (3B) | SF | 2 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 | 0.311 average | — |
| Nolan Gorman (3B) | STL | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0 | 0.279 weak | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.42 | positive favors home; negative favors away |
| Recent form | -0.238 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.036 | positive favors home; negative favors away |
| Composite | 0.43 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.39-4.42 | n/a | Base ML historical model prediction |
| variance_applied | 4-4 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 0.505 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by winner_starter_is_below_average, projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-5 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-5 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-5 | n/a | Capped at max 12 realistic runs |
| simulation_result | 4-5 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.39-4.42 | 4-4 | -0.03 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-4 | 4-5 | 1 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by winner_starter_is_below_average, projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-5 | 4-5 | 0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-5 | 4-5 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-5 | 4-5 | 0 | Capped at max 12 realistic runs |
| simulation_result | 4-5 | 4-5 | 0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| STL | Quinn Mathews | pitcher / Starter | worse | predicted_H 3 |
| SF | Brett Harris | batter / 3B | worse | predicted_AB 2.5 |
| STL | Masyn Winn | batter / SS | better | predicted_RBI 2.5 |
| SF | Shay Whitcomb | batter / 2B | better | predicted_AB 2.333 |
| SF | Scott Bandura | batter / RF | deboosted | predicted_AB 2 |
| SF | Joel Kuhnel | pitcher / Reliever | worse | predicted_ER 2 |
| STL | George Soriano | pitcher / Setup Man | deboosted | predicted_H -2 |
| STL | Thomas Saggese | batter / 2B | worse | predicted_AB 1.925 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | SF pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | SF |
| info | CURRENT_PITCHER_DUPLICATION | STL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | STL |
| info | CURRENT_FINALIZED_MATCH_BOX | SF model-prediction batting totals differ from final simulation box score (AB: current=31, sim=40; H: current=8, sim=10; 2B: current=1, sim=3; HR: current=1, sim=0; R: current=5, sim=4; BB: current=3, sim=2; SO: current=8, sim=5). | SF |
| info | CURRENT_PLAYER_MATCH_BOX | SF current finalized hitter lines are model predictions and differ from the simulation box score: Bryce Eldridge: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Shay Whitcomb: AB current=4 box=5, HR current=1 box=0, SO current=1 box=0; Turner Hill: H current=1 box=2, RBI current=1 box=2, R current=0 box=1, SO current=1 box=0; Scott Bandura: AB current=3 box=5, 2B current=0 box=1, R current=1 box=0; Grant McCray: AB current=3 box=4, H current=1 box=2, RBI current=0 box=1, R current=0 box=1; Jonah Cox: AB current=4 box=5, 2B current=0 box=1, RBI current=1 box=0, BB current=1 box=0; Christian Koss: AB current=3 box=4, 2B current=0 box=1, R current=1 box=0; Andrew Knizner: AB current=3 box=4, SO current=1 box=0 | SF |
| info | CURRENT_FINALIZED_MATCH_BOX | STL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=41; H: current=8, sim=11; 2B: current=2, sim=3; HR: current=1, sim=2; RBI: current=4, sim=5; BB: current=3, sim=5). | STL |
| info | CURRENT_PLAYER_MATCH_BOX | STL current finalized hitter lines are model predictions and differ from the simulation box score: Thomas Saggese: AB current=4 box=5, R current=0 box=1, BB current=0 box=1; Leonardo Bernal: AB current=4 box=5, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Joshua Baez: AB current=4 box=5, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Alec Burleson: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Jordan Walker: AB current=4 box=5, RBI current=1 box=0, R current=1 box=0, SO current=1 box=0; Iván Herrera: AB current=4 box=5, H current=1 box=2, 2B current=0 box=1, BB current=1 box=0; Nolan Gorman: H current=0 box=2, 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1; Nathan Church: AB current=3 box=4, HR current=0 box=1, RBI current=0 box=1, R current=0 box=1 | STL |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Each candidate fix, and exactly which games it would help versus hurt. A lever that repairs one game and breaks two is visible here before it is proposed.
Compared against packet 20260913. Last recorded change: v4.30.0 (2026-09-08) Hitter shrinkage is derived from the between-hitter spread rather than fitted to slate error, so an established extreme profile is no longer flattened toward the league.
| Metric | Prior | Current | Δ | Result |
|---|---|---|---|---|
| brier_score | 0.2425 | 0.2411 | -0.001373 | improved |
| accuracy | 0.6083 | 0.6333 | +0.025 | improved |
| team_run_mae | 2.5125 | 2.5083 | -0.0042 | improved |
| total_run_mae | 3.7917 | 3.8167 | +0.025 | regressed |
| calibration_error | 0.0977 | 0.1244 | +0.0267 | regressed |
| starter_er_mae | 1.7676 | 1.7778 | +0.0102 | regressed |
| starter_outs_mae | 3.2365 | 3.2644 | +0.0279 | regressed |
| Parameter | Change | Expected effect | Risk | Evidence |
|---|---|---|---|---|
| score.variance_multiplier | 1.85 → 1.95 | total_run_mae decrease | low risk | metric.total_run_mae, pipeline.largest_team_run_regression, errors.miss_reasons |
All seven source-manifest entries were reviewed as declared:
| Source | Status | Declared purpose |
|---|---|---|
prediction_review_20260914.json | Loaded | Official outcomes and scoring errors |
PREDICTION_SYSTEM_DEEP_AUDIT_20260914.json | Loaded | Probability, provenance, starter, and decision contracts |
continuous_learning_daily_20260914.json | Loaded | Stage quality, calibration, lineage, score distribution, and starter comparisons |
detailed_20260914.html | Loaded | Full game and simulation rendering |
20260914_ultra_detailed_player_audit.html | Loaded | Player-level prediction trace |
audit_report_20260914.html | Loaded | Invariant findings |
audit_report_20260914_integrity_revision.html | Missing | Post-Luna remediation proof for immutable revision artifacts |
The missing integrity-revision artifact is the only explicit source-manifest gap. It does not invalidate the game outcomes or structural audits, but it prevents verification of the claimed post-remediation immutable-revision proof.
The slate contained 10 games, and all 10 were reviewed:
ATL@CHC, BAL@NYM, CHW@CLE, DET@TOR, LAD@CIN, MIA@ARI, NYY@MIN, SD@COL, SEA@LAA, and SF@STL.
Coverage was complete for the ordinary prediction artifacts:
The aggregate structural audit reports 0 critical, 0 error, 0 warning, and 74 informational findings. Every game-level structural audit passed with zero defects.
BAL@NYM and MIA@ARI have unexplained calibrated-to-published changes of at least two percentage points. This is explicitly registered as critical. It is not yet evidence that the governor was bypassed.ATL@CHC has a published-minus-calibrated delta of -1.1176 percentage points, marked nonmaterial and noncritical. The register’s critical threshold is ≥2 percentage points.CHW@CLE lacks a settled projection line for Sean Newcomb; MIA@ARI lacks one for Corbin Burnes. Therefore, “10/10 starter comparisons” means the game had a starter-comparison record, not that every starter had a complete projected line.---
BAL@NYM, CHW@CLE, MIA@ARIThe winner result was acceptable, but it was materially better than the score and probability quality. Correct winners must not be treated as evidence that the score forecasts, confidence levels, or internal causal pipeline were sound.
The model correctly selected seven winners:
ATL@CHCDET@TORLAD@CINNYY@MINSD@COLSEA@LAASF@STLIt missed:
BAL@NYM: strong 0.26 home edge, wrong sideCHW@CLE: 0.01 home edge, toss-up, wrong sideMIA@ARI: 0.03 away edge, toss-up, wrong sideThe strongest winner call was NYY@MIN, with a 0.14 away edge, strong negative home composite evidence, and a correct 8–3 prediction direction. However, the model’s top-confidence selection lost on this slate: BAL@NYM was the top-confidence miss. The loss streak for the top-confidence pick is currently 1 slate.
Calibration was poor on this slate:
The register correctly classifies this as high, not critical: the evidence shows poor single-slate alignment, but the sample is too small to justify changing calibration weights immediately. The high-raw cluster contained three games and went 2/3, but its empirical hit rates were only approximately 0.536–0.569 despite calibrated probabilities of 0.6705–0.7259. This is a warning against high raw confidence, but not a complete rolling calibration curve.
Score accuracy was substantially weaker than winner accuracy:
BAL@NYM: team-run error 8, total bias +8LAD@CIN: team-run error 6, total bias +6MIA@ARI: team-run error 6, total bias -6SF@STL: team-run error 6, total bias +6The validated run models explain almost none of holdout run variance. This is a high model risk and a persistent 11-slate issue, not a critical evidence-contract failure.
Starter projections were mixed:
Starter errors were often variance rather than a clear systematic defect. However, SEA@LAA provides a credible process concern: Kade Anderson had only four prior appearances and produced a 10.38 ERA against a 1.80 projection. The registered recommendation to reduce confidence for thin-history starters is directionally reasonable, but the current cross-slate evidence does not establish a global starter-ERA bias. The cross-slate starter-ERA pattern is explicitly marked nonpersistent: only 6 of 12 slates shared the sign, with z = 0.32.
Artifact integrity was strong for the loaded artifacts:
However, integrity is not completely closed because:
unexplained_probability_publication_deltaBAL@NYM, MIA@ARIThis is a contract/provenance failure, not necessarily a model-quality failure. The data show:
BAL@NYM: calibrated/governed 0.725; published home probability 0.627507.MIA@ARI: calibrated/governed 0.5676; published home probability 0.517426.The transformation may be a legitimate confidence-control step, but it is not recorded in the lineage.
single_slate_calibration_instabilityweak_run_model_signalcomplete_slate_audit_coveragesimulation_inert_on_slate---
The signed confidence edge below is the published home-minus-away edge. For away picks, the published pick probability is 1 - published_home_probability.
Historical ML 4.27–4.61 → variance 4–5 → enhanced 4–7 → Savant 4–7 → fundamental review 4–7 → capped 4–7 → simulation 4–7 → published 5–6.
---
Both starters outperformed the run projections, but the game’s principal failure was the much lower-than-expected overall run environment.
Historical 4.27–4.61 → variance 4–5 → enhanced 4–7 → Savant approximately 4.03–7.50 → fundamental 4–7 → capped 4–7 → simulation 4–7 → published 4–7.
run_environment_over; total projected runs 11 versus actual 3.wrong_conviction_side; the system backed NYM with a strong 0.26 edge.---
actual_era and formal starter comparison are missing.Historical 4.55–4.38 → variance 5–4 → enhanced 4–5, with margin-recency and one-run-margin controls → Savant approximately 3.81–4.98 → fundamental 4–5 → capped 4–5 → simulation 4–5.
toss_up_variance.lean_side_miss; the edge toward CLE was only 0.0113.---
Historical 4.55–4.38 → variance 5–4 → enhanced 4–5 → Savant 3.81–4.98 → fundamental 4–5 → capped 4–5 → simulation 4–5.
The documented hitter deviations were modest. Dillon Dingler was -0.93 runs, while Spencer Torkelson was +0.78.
toss_up_went_our_way.---
A 0.16 away edge is moderate, not near coin-flip territory.
Both starters were better than their projections, especially Lodolo relative to an unusually high projected ERA.
Historical approximately 5–4 → variance 6–4 → enhanced 8–3 → Savant approximately 7.78–2.83 → fundamental 8–3 → capped 8–3 → simulation 8–3.
right_winner_wrong_score.---
Historical 4.80–4.71 → variance 5–5 → enhanced 5–4 → Savant approximately 5.49–4.19 → fundamental 5–4 → capped 5–4 → simulation 5–4.
ARI hitters were systematically under-projected in the result:
This was a high-variance offensive game, with both teams exceeding many individual projections.
run_environment_under; actual total 15 versus projected 9.toss_up_variance.---
The 0.14 away edge is moderate and should not be described as a near coin flip.
Both starters outperformed projections.
Historical approximately 4–5 → variance 5–5 → enhanced 6–4 → Savant approximately 6.20–4.15 → fundamental 6–4 → capped 6–4 → simulation 6–4.
context.venue_adjustment_weight.strong_correct_call.---
Sugano was the principal pitching miss.
Historical approximately 5–5 → variance 6–5 → enhanced 8–5 → Savant approximately 7.74–4.67 → fundamental 8–5 → capped 8–5 → simulation 8–5.
strong_correct_call.---
Historical approximately 4–4 → variance 5–4 → enhanced 5–6 → Savant approximately 5.23–6.04 → fundamental 5–6 → capped 5–6 → simulation 5–6.
solid_correct_call.---
Historical approximately 4–5 → variance 4–5 → enhanced 4–5 → Savant approximately 3.85–4.99 → fundamental 4–5 → capped 4–5 → simulation 4–5.
toss_up_went_our_way.---
| Game | Bad input | Bad weighting | Calibration | Starter error | Offense/bullpen miss | Run-environment miss | Irreducible variance |
|---|---|---|---|---|---|---|---|
| BAL@NYM | Incomplete explanation of publication transformation | Yes, conviction escalation | Yes, strong 0.26 edge lost | Mostly variance; both starters better | NYM offense -6 versus projection | Primary; 11 projected runs vs 3 actual | Yes |
| CHW@CLE | Missing settled Newcomb line | Yes, enhanced stage reversed side | Low-confidence toss-up | Newcomb line unavailable; Williams +1 ER | CHW offense +1, CLE offense -3 | Secondary, only -1 total bias | Primary toss-up variance |
| MIA@ARI | Burnes starter line incomplete | Yes, ARI offense underweighted | Toss-up | Alcantara close; Burnes incomplete | ARI offense +4; bullpen contributed | Primary; 9 projected runs vs 15 actual | Yes |
A confidence edge of 0.12, where present on other games, is moderate—not a near coin flip. In this slate, the 0.14 and 0.16 edges on NYY@MIN, LAD@CIN, and SD@COL were meaningful moderate edges, whereas CHW@CLE and SF@STL were approximately 0.01 toss-ups.
| Stage | Winner accuracy | Winner hits | Team-run MAE | Total-run MAE | Margin MAE | Change versus historical ML |
|---|---|---|---|---|---|---|
| Historical ML | 60% | 6/10 | 2.0828 | 3.3433 | 1.8811 | Baseline |
| Variance applied | 50% | 5/10 | 1.9500 | 3.3000 | 1.7000 | Margin/team-run improved; winner regressed |
| Enhanced prediction | 70% | 7/10 | 2.1000 | 3.4000 | 2.0000 | Winner improved; runs/margin worsened |
| Embedded Savant environment | 60% | 6/10 | 2.1500 | 3.3000 | 2.3000 | Winner and margin regressed |
| Fundamental edge review | 70% | 7/10 | 2.1000 | 3.4000 | 2.2000 | Winner recovered; margin remained worse |
| Capped target | 70% | 7/10 | 2.1000 | 3.4000 | 2.2000 | No change |
| Simulation result | 70% | 7/10 | 2.1000 | 3.4000 | 2.2000 | No change |
| Published final | 70% | 7/10 | 2.1000 | 3.4000 | 2.2000 | No change |
Important transition findings:
historical_ml → variance_applied: winner accuracy fell from 6/10 to 5/10, with four direction changes to ties and SF@STL explicitly regressing.variance_applied → enhanced_prediction: winner accuracy recovered to 7/10; CHW@CLE regressed, while DET@TOR, NYY@MIN, and SF@STL improved.enhanced_prediction → embedded_savant_run_environment: ATL@CHC moved CHC to a tie and winner accuracy fell to 6/10.embedded_savant → fundamental_edge_target_review: ATL@CHC recovered to CHC and winner accuracy returned to 7/10.The recovery at the fundamental stage does not erase the intermediate Savant-stage regression. The pipeline had a genuine intermediate winner-direction failure even though the final published winner was restored.
The simulation’s zero-flip result is especially important: it did not independently validate or correct any winner on this slate.
---
score.variance_multiplier / score.variance_floorBAL@NYM, where a 0.26-confidence pick lost and the forecast was severely overconfident in the projected run environment.player.pitcher.v4 form weights / player.pitcher_prior_gamesATL@CHC, CHW@CLE, LAD@CIN, NYY@MIN, SD@COL, SEA@LAA.DET@TOR and SF@STL, where starter ER error was only 1; heavier reweighting could disturb already reasonable projections.recent.* / season.* run-mean weightingBAL@NYM, CHW@CLE, LAD@CIN, MIA@ARI, SF@STL.DET@TOR, SD@COL, and SEA@LAA, where team-run error was only 2, 2, and 1.BAL@NYM; that would worsen calibration risk after the 0.26-confidence miss.CHW@CLE; its published edge was only 0.0113 and the outcome was explicitly classified as toss-up variance.MIA@ARI; only 21 of 55 material player deviations were supported by the hitter’s own season contact quality.LAD@CIN or SD@COL to claim the run model is sound; both had substantial score error despite correct direction.---
Across the structural audit summaries:
Every per-game structural audit passed. No structural invariant failure was recorded in the game artifacts.
The broader forensic findings are nevertheless material:
unexplained_probability_publication_delta
BAL@NYM, MIA@ARIsingle_slate_calibration_instability
weak_run_model_signal
complete_slate_audit_coverage
simulation_inert_on_slate
MIA@ARI, where the control trace and lineage show different intermediate values.The clean forecast artifact does not prove the underlying model was correct. It only establishes that the saved artifact was not corrupted in the ordinary structural sense.
The required chain is:
raw model → calibrated → governor → score coherence/recency → published
CHW@CLE: published probability matches calibrated/governed value; recency guardrail applied.DET@TOR: same.LAD@CIN: score coherence followed by matchup-recency guardrail.NYY@MIN: same.SD@COL: same.SEA@LAA: same, though the detailed trace and lineage should still be reconciled numerically.SF@STL: same.ATL@CHC: numerical delta is small and marked nonmaterial, but the text says no recorded transformation explains it.BAL@NYM: raw 0.6845 → calibrated 0.725 → governor 0.725 → score coherence 0.725012, but published home probability 0.627507. The 9.75-point drop is not recorded in the lineage. Starter-experience shrinkage appears in the detailed trace, but the lineage does not label it as the complete publication transformation.MIA@ARI: raw 0.5242 → calibrated 0.5676 → governor 0.5676 → score coherence 0.567632, but published home probability 0.517426. The 5.02-point drop is unexplained in the lineage. The detailed trace additionally reports inconsistent pre/post values around the starter-experience shrink.No bypass should be asserted until these transformations are traced, but these are genuine contract defects that block promotion.
---
The trend file contains 11 prior/current slates, with 10 prior slates loaded. The current slate is therefore not isolated for persistent findings.
| Finding | Consecutive-slate count | Present now? | Interpretation |
|---|---|---|---|
high_raw_probability_cluster | 0 | No | One occurrence in window; not persistent |
pipeline_winner_instability | 0 | No | Two occurrences in window, but not current |
score_margin_compression | 0 | No | One occurrence in window; not persistent |
simulation_inert_on_slate | 11 | Yes | Established persistent failure |
single_slate_calibration_instability | 1 | Yes | Current and recurring in 5/11 window slates, but only one consecutive slate |
weak_run_model_signal | 11 | Yes | Established persistent failure |
The two 11-slate findings are escalated findings and must be treated as established failures, not as single-slate noise.
simulation.allow_scoreThe self-assessment identifies a likely root cause: the simulation uses the same draws for target-realization search and win-probability estimation, and exits early after finding a target-realizing play. With approximately two selected draws, the calculated win rate cannot function as an independent probability. The recommended fix is code/diagnostic work in the simulation distribution builder and draw-loop early exit, not a forced nightly parameter move.
training.xgb.n_estimatorstraining.xgb.max_depthtraining.xgb.learning_rateThe registered evidence is strong:
The recommended remedy is not nightly hyperparameter adjustment. The self-assessment proposes adding market no-vig probability where legitimately sourced, park/weather environment, bullpen rest/fatigue, and platoon-adjusted lineup quality, followed by same-fingerprint holdout testing and a model-schema version bump.
single_slate_calibration_instability:
confidence.empirical_max_weight, confidence.base_cap, confidence.moderate_cap.This is concerning, but the causal register correctly says not to change calibration weights from one slate alone. The self-assessment’s auto-action proposal to lower caps is therefore best treated as a bounded shadow experiment, not an unmonitored promotion.
margin_bias: improving, mean -1.4185. The series ends at -0.4.mean_team_run_error_on_losses: regressing, mean 5.6132. Current value 6.333.weighted_calibration_error: regressing, mean 0.1579. Current value 0.2812.winner_accuracy: improving, mean 0.6185. Current value 0.7000.These trends show an important divergence: winner accuracy and margin bias are improving, while calibration and loss-score error are worsening.
The two explicit cross-slate bias findings remain nonactionable:
They should not be treated as established persistent biases.
---
Recommendations are ranked by persistence, scope, expected metrics, affected games, and regression risk.
simulation.allow_score is listed, but the finding explicitly says parameter actionability is false.BAL@NYM, CHW@CLE, and MIA@ARI.training.xgb.n_estimators, training.xgb.max_depth, training.xgb.learning_rate, but the finding marks parameter actionability false.BAL@NYM, LAD@CIN, MIA@ARI, and SF@STL.DET@TOR, SD@COL, and SEA@LAA if promoted without gating.confidence.base_cap.confidence.base_cap by a small amount, for example 0.02, in shadow only.BAL@NYM, where the published 0.6275 home probability still overstated the true side despite the starter-experience shrink. It could also help high-raw clusters such as LAD@CIN and SD@COL by reducing overstatement, although those winners were correct.NYY@MIN.score.variance_multiplier.BAL@NYM most clearly; the lever tension explicitly identifies it as helped by wider distributions.DET@TOR, SD@COL, and SEA@LAA.SEA@LAA, plus thin-history starters in BAL@NYM and SF@STL.player.pitcher_prior_games.SEA@LAA most directly; also future games analogous to BAL@NYM and SF@STL.DET@TOR and SF@STL had accurate starter projections.MIA@ARI until its probability lineage and Burnes starter record are reconciled.BAL@NYM and MIA@ARI.score.variance_floor as a substitute for fixing the near-zero run-model feature signal.---
BAL@NYM;CHW@CLE;MIA@ARI.Do not promote any model or probability change. First reconcile the complete pick-side probability lineage for BAL@NYM and MIA@ARI, while independently validating the simulation distribution code in shadow.
That is the safest immediate action because it addresses the only critical contract failure and the strongest persistent operational failure before allowing calibration or variance adjustments to mask a provenance or no-op simulation defect.