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_20260901.json | n/a |
| forensic deep audit | loaded | probability, provenance, starter and decision contracts | /app/output/reports/PREDICTION_SYSTEM_DEEP_AUDIT_20260901.json | n/a |
| continuous learning | loaded | pipeline-stage quality, calibration, probability lineage | /app/output/learning/continuous_learning_daily_20260901.json | n/a |
| game artifacts | loaded | per-game model trace and structural audit source | /app/output/games | 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 |
|---|---|---|---|---|
| HIGH | artifact_integrity | Canonical artifact warning requires reconciliation structural audit totals: {'critical': 0, 'error': 0, 'warning': 1, 'info': 108} | slate-wide | Do thisFix the flagged stat or presentation contract before treating this slate as clean evidence. Don't concludeA warning flags a display or contract issue; it does not prove the model picked the wrong side. |
| HIGH | score_distribution | Published margins are compressed relative to realized margins 13/15 predictions were ≤2 runs; 9/15 actual margins were ≥4; mean predicted margin 1.67 vs actual 4.20 | CHW@HOU, DET@MIN, MIL@CHC, NYM@TB, PHI@ARI, STL@LAD, TOR@CLE | Do thisCheck whether predicted margins are too narrow across several recent out-of-sample slates (measuring tail coverage and margin MAE) before widening the score spread. Don't concludeA single blowout game is not a reason to widen every score prediction. |
| HIGH | calibration | Published confidence buckets were poorly aligned on this slate weighted absolute calibration error 0.2476 across 15 games | ATL@WAS, BAL@COL, CHW@HOU, DET@MIN, MIA@KC, MIL@CHC, NYM@TB, NYY@LAA, OAK@TEX, PHI@ARI, SD@CIN, SEA@BOS, SF@PIT, STL@LAD, TOR@CLE | 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.0361/0.0227/0.0280 | ATL@WAS, BAL@COL, CHW@HOU, DET@MIN, MIA@KC, MIL@CHC, NYM@TB, NYY@LAA, OAK@TEX, PHI@ARI, SD@CIN, SEA@BOS, SF@PIT, STL@LAD, TOR@CLE | 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. |
| MEDIUM | calibration | Most high-raw picks lost before/after shrinkage 0/4 games with raw pick probability ≥0.65 won | BAL@COL, MIL@CHC, SD@CIN, STL@LAD | Do thisTrack how often high-raw-probability picks lose across multiple slates, and keep the raw to calibrated to published lineage. Don't concludeThis one slate is not enough to justify a new per-bucket shrinkage rule. |
| INFO | coverage | Every settled game received structural QA 15/15 games structurally audited | ATL@WAS, BAL@COL, CHW@HOU, DET@MIN, MIA@KC, MIL@CHC, NYM@TB, NYY@LAA, OAK@TEX, PHI@ARI, SD@CIN, SEA@BOS, SF@PIT, STL@LAD, TOR@CLE | 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 | probability_lineage | Material calibrated-to-published movements have recorded lineage 9 material movement(s), all explained by named score-coherence and/or recency transformations | ATL@WAS, CHW@HOU, DET@MIN, MIA@KC, MIL@CHC, PHI@ARI, SD@CIN, SEA@BOS, STL@LAD | Do thisKeep showing every probability layer and the named transformation between them. Don't concludeA published probability above the calibrated one is not a governor bypass when a recorded transformation explains it. |
| INFO | simulation | Simulation produced no winner-direction intervention on this slate flip candidates 0; published flips 0 | ATL@WAS, BAL@COL, CHW@HOU, DET@MIN, MIA@KC, MIL@CHC, NYM@TB, NYY@LAA, OAK@TEX, PHI@ARI, SD@CIN, SEA@BOS, SF@PIT, STL@LAD, TOR@CLE | 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 | 5 consecutive · 5 in window | simulation.allow_score | confirm the simulation module is running, not silently no-oping | simulation_inert_on_slate has persisted 5 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 | 5 consecutive · 5 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 5 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 | 1 | 2/5 | yes | param |
| pipeline_winner_instability | 0 | 2/5 | no | code/diagnostic |
| score_margin_compression | 2 | 2/5 | yes | param |
| simulation_inert_on_slate | 5 | 5/5 | yes | code/diagnostic |
| single_slate_calibration_instability | 2 | 4/5 | yes | param |
| weak_run_model_signal | 5 | 5/5 | yes | code/diagnostic |
| Metric | Direction | Series (old → new) |
|---|---|---|
| winner_accuracy | regressing | [0.4667, 0.9412, 0.5, 0.6667, 0.4667] |
| weighted_calibration_error | regressing | [0.2179, 0.3961, 0.0693, 0.1661, 0.2476] |
| margin_bias | regressing | [-1.333, -1.882, -2.786, -3.5, -2.533] |
| team_run_error_on_losses | regressing | [5.0, 3.0, 7.0, 8.25, 7.125] |
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 | 7/15 | 46.7% | 3.098 | 4.689 | 4.177 |
| variance_applied | 6/15 | 40% | 3.067 | 4.667 | 4.133 |
| enhanced_prediction | 6/15 | 40% | 3.267 | 4.667 | 4.933 |
| embedded_savant_run_environment | 6/15 | 40% | 3.167 | 4.467 | 4.867 |
| fundamental_edge_target_review | 7/15 | 46.7% | 3.133 | 4.533 | 4.8 |
| capped_target | 7/15 | 46.7% | 3.133 | 4.533 | 4.8 |
| simulation_result | 7/15 | 46.7% | 3.133 | 4.533 | 4.8 |
| published_final | 7/15 | 46.7% | 3.133 | 4.533 | 4.8 |
| Transition | Δ accuracy | Δ hits | Δ team-run MAE | Δ margin MAE | Games whose winner/tie changed |
|---|---|---|---|---|---|
| historical_ml → variance_applied | -0.0667 | -1 | -0.031 | -0.0436 | ATL@WAS: WAS → TIE; MIA@KC: KC → TIE; SD@CIN: SD → TIE; STL@LAD: LAD → TIE |
| variance_applied → enhanced_prediction | 0 | 0 | 0.2 | 0.8 | ATL@WAS: TIE → ATL; MIA@KC: TIE → KC; NYM@TB: NYM → TB; SD@CIN: TIE → SD; SEA@BOS: SEA → BOS; STL@LAD: TIE → LAD |
| enhanced_prediction → embedded_savant_run_environment | 0 | 0 | -0.1 | -0.0666 | TOR@CLE: TOR → TIE |
| embedded_savant_run_environment → fundamental_edge_target_review | 0.0667 | 1 | -0.0334 | -0.0667 | TOR@CLE: TIE → CLE |
| 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@WAS | miss | 0.5085 | 0.5082 | 0.5082 | 0.5466 | 0.5317 | score coherence followed by matchup-recency guardrail |
| BAL@COL | miss | 0.7515 | 0.7373 | 0.7373 | 0.7461 | 0.7461 | score_coherence aligned probability to the published score margin |
| CHW@HOU | hit | 0.5085 | 0.5082 | 0.5082 | 0.5466 | 0.53 | score coherence followed by matchup-recency guardrail |
| DET@MIN | miss | 0.5032 | 0.505 | 0.505 | 0.545 | 0.53 | score coherence followed by matchup-recency guardrail |
| MIA@KC | miss | 0.6275 | 0.6227 | 0.6227 | 0.6464 | 0.6464 | score_coherence aligned probability to the published score margin |
| MIL@CHC | miss | 0.7934 | 0.6442 | 0.6442 | 0.6986 | 0.6986 | score_coherence aligned probability to the published score margin |
| NYM@TB | hit | 0.5085 | 0.5082 | 0.5082 | 0.5466 | 0.5269 | score coherence followed by matchup-recency guardrail |
| NYY@LAA | hit | 0.534 | 0.5332 | 0.5332 | 0.5591 | 0.54 | score coherence followed by matchup-recency guardrail |
| OAK@TEX | hit | 0.551 | 0.5499 | 0.5499 | 0.5674 | 0.5487 | published probability matches the calibrated/governed value |
| PHI@ARI | hit | 0.585 | 0.5816 | 0.5816 | 0.5833 | 0.5602 | score coherence followed by matchup-recency guardrail |
| SD@CIN | miss | 0.689 | 0.6778 | 0.6778 | 0.6739 | 0.6 | score coherence followed by matchup-recency guardrail |
| SEA@BOS | miss | 0.6328 | 0.6273 | 0.6273 | 0.6486 | 0.53 | score coherence followed by matchup-recency guardrail |
| SF@PIT | hit | 0.5615 | 0.56 | 0.56 | 0.5725 | 0.5445 | score coherence followed by matchup-recency guardrail |
| STL@LAD | miss | 0.6793 | 0.6696 | 0.6696 | 0.6698 | 0.58 | score coherence followed by matchup-recency guardrail |
| TOR@CLE | hit | 0.546 | 0.545 | 0.545 | 0.565 | 0.5552 | no recorded transformation explains the publication delta |
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 |
|---|---|---|---|---|---|---|
| 30 | 9 | 3 | 2 | 16 | 1.48 | 1.07 |
no artifact on this slate records an applied trained winner blend (regenerate the slate to populate it)
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.11 over 4 slates (sign shared by 0.50 of them, z = -0.27).
starters beat their projection: the run model credits opposing offenses with more than they produced.
Hold: no change: this bias is not separable from slate-to-slate noise yet
2 of 4 slates share the sign, mean -0.11 +/- 0.4 standard error: not separable from noise
lineup runs actual minus projected
Mean -0.26 over 4 slates (sign shared by 0.75 of them, z = -1.07).
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
3 of 4 slates share the sign, mean -0.26 +/- 0.24 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 |
|---|---|---|---|---|---|---|
| 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 |
| 20260901 | 15 | 0.467 | — | — | ||
| 20260831 | 12 | 0.667 | — | — | ||
| 20260830 | 14 | 0.500 | — | — | ||
| 20260829 | 17 | 0.941 | — | — | ||
| 20260828 | 15 | 0.467 | — | — |
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@WAS | 2 | 4 | -2 |
| BAL@COL | 3 | 2 | 1 |
| CHW@HOU | 1 | 4 | -3 |
| DET@MIN | 1 | 13 | -12 |
| MIA@KC | 2 | 3 | -1 |
| MIL@CHC | 2 | 5 | -3 |
| NYM@TB | 1 | 4 | -3 |
| NYY@LAA | 2 | 4 | -2 |
| OAK@TEX | 1 | 3 | -2 |
| PHI@ARI | 1 | 6 | -5 |
| SD@CIN | 3 | 1 | 2 |
| SEA@BOS | 2 | 3 | -1 |
| SF@PIT | 1 | 1 | 0 |
| STL@LAD | 2 | 5 | -3 |
| TOR@CLE | 1 | 5 | -4 |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| ATL | AJ Smith-Shawver | 3 ER / 13 outs | 5 ER / 12 outs | 2 |
| WAS | Jake Irvin | 2 ER / 15 outs | 2 ER / 12 outs | 0 |
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: AJ Smith-Shawver (ATL) posted 11.25 ERA vs projected 6.23 (5 ER in 12 outs). Thin prior record (3 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
AJ Smith-Shawver (ATL) threw 12 outs, 5 ER = 11.25 ERA against a projected 6.23 ERA (5.02 ERA error) only 3 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 8 runs on 11 hits and 1 HR, against a projected 4 runs / 8 hits (4 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
Jake Irvin (WAS) threw 12 outs, 2 ER = 4.5 ERA against a projected 3.6 ERA (0.9 ERA error)
Bullpen behind him: 3 ER over 6 outs.
The AWAY lineup he faced produced 5 runs on 8 hits and 2 HR, against a projected 5 runs / 10 hits (0 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)
| Team | Pitcher | Outs | ERA | ER | H | HR | BB | SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|
| ATL | AJ Smith-Shawver (Starter) | 12 / 13 | 11.25 / 6.23 (+5.02) | 5 / 3 | 6 / 6 | 1 / 0 | 3 / 2 | 5 / 2 | venue away: 6.23 vs 5.4 ERA (ok) · opp run factor 1 (strong) · thin sample: 3 prior appearances this season (high uncertainty) |
| WAS | Jake Irvin (Starter) | 12 / 15 | 4.5 / 3.6 | 2 / 2 | 5 / 5 | 1 / 0 | 1 / 1 | 5 / 7 | venue home: 7.04 vs 4.76 ERA (worse here) · opp run factor 1.05 (strong) · 17 prior appearances this season |
| WAS | Clayton Beeter (Closer) | 3 / 3 | 27 / 0 (+27.00) | 3 / 0 | 3 / 2 | 1 / 0 | 0 / 0 | 0 / 2 | |
| WAS | Orlando Ribalta (Setup Man) | 3 / 3 | 0 / 9 (-9.00) | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 2 / 1 |
Hitters: actual / projected (sorted by run impact vs projection)
| Team | Batter | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| WAS | Yohandy Morales (DH) | 5 / 3 | 3 / 1 | 1 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 2 / 0 | 0 / 0 | 2 / 1 | 2.18 | 0.398 elite | projection too low |
| WAS | Daylen Lile (LF) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 2 / 1 | 2 / 1 | -1.07 | 0.329 above average | bad day |
| ATL | Ha-Seong Kim (SS) | 3 / 3 | 3 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0.94 | 0.216 weak | good day |
| WAS | Harry Ford (C) | 4 / 3 | 2 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 1 | 0.94 | 0.264 weak | good day |
| ATL | Ozzie Albies (DH) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 0.93 | 0.284 below average | good day |
| ATL | Ronald Acuña Jr. (RF) | 4 / 5 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 2 / 1 | -0.8 | 0.362 elite | bad day |
| ATL | Austin Riley (3B) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 1 | -0.8 | 0.298 below average | projection too high |
| ATL | Michael Harris II (CF) | 4 / 5 | 1 / 2 | 0 / 1 | 0 / 0 | 1 / 1 | 2 / 1 | 1 / 1 | 0 / 0 | 1 / 1 | -0.78 | 0.341 elite | bad day |
| WAS | Brady House (3B) | 3 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 3 / 1 | 0 / 0 | 1 / 0 | 1 / 1 | 0.64 | 0.336 above average | projection too low |
| WAS | CJ Abrams (SS) | 4 / 4 | 2 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 2 / 1 | 1 / 1 | 1 / 0 | 1 / 1 | 0.49 | 0.328 above average | — |
| ATL | Mauricio Dubón (2B) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | -0.47 | 0.302 below average | — |
| WAS | Abimelec Ortiz (1B) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.294 below average | — |
| WAS | Jacob Young (CF) | 4 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 0 / 0 | 1 / 1 | 0.47 | 0.319 average | — |
| WAS | Dylan Crews (RF) | 4 / 5 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 0 | 2 / 1 | -0.45 | 0.307 average | — |
| ATL | Drake Baldwin (C) | 4 / 5 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | 0.31 | 0.367 elite | — |
| ATL | Brewer Hicklen (LF) | 3 / 3 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 1 | 2 / 1 | -0.31 | 0.368 elite | — |
| ATL | Matt Olson (1B) | 4 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 0 | 1 / 1 | 0.31 | 0.355 elite | — |
| WAS | Jorbit Vivas (2B) | 3 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 0 / 0 | 0.31 | 0.298 below average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.602 | positive favors home; negative favors away |
| Recent form | -0.318 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.043 | positive favors home; negative favors away |
| Composite | -0.865 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.77-4.83 | n/a | Base ML historical model prediction |
| variance_applied | 5-5 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 6-5 | 0.532 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by winner_starter_is_below_average, matchup_recency_guardrail) |
| embedded_savant_run_environment | 7-5 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 7-5 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 7-5 | n/a | Capped at max 12 realistic runs |
| simulation_result | 7-5 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.77-4.83 | 5-5 | 0.062 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-5 | 6-5 | 1 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by winner_starter_is_below_average, matchup_recency_guardrail) |
| embedded_savant_run_environment | 6-5 | 7-5 | 1 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 7-5 | 7-5 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 7-5 | 7-5 | -0 | Capped at max 12 realistic runs |
| simulation_result | 7-5 | 7-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 |
|---|---|---|---|---|
| ATL | Drake Baldwin | batter / C | better | predicted_RBI 2.24 |
| ATL | Ronald Acuña Jr. | batter / RF | better | predicted_H 1.82 |
| WAS | CJ Abrams | batter / SS | deboosted | predicted_2B 1.802 |
| WAS | Abimelec Ortiz | batter / 1B | worse | predicted_AB 1.778 |
| WAS | Yohandy Morales | batter / DH | worse | predicted_AB 1.742 |
| WAS | Harry Ford | batter / C | worse | predicted_BB 1.591 |
| ATL | Matt Olson | batter / 1B | better | predicted_RBI 1.42 |
| WAS | Brady House | batter / 3B | better | predicted_RBI 1.34 |
| 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 | WAS pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | WAS |
| info | CURRENT_FINALIZED_MATCH_BOX | ATL model-prediction batting totals differ from final simulation box score (AB: current=37, sim=38; H: current=10, sim=11; 2B: current=2, sim=0; HR: current=1, sim=3; RBI: current=5, sim=7; R: current=5, sim=7; BB: current=3, sim=2; SO: current=8, sim=11). | ATL |
| info | CURRENT_PLAYER_MATCH_BOX | ATL current finalized hitter lines are model predictions and differ from the simulation box score: Drake Baldwin: H current=1 box=2, HR current=0 box=1, RBI current=1 box=3; Mauricio Dubón: H current=1 box=0, RBI current=1 box=0, R current=0 box=1, SO current=0 box=1; Ozzie Albies: H current=1 box=0; Michael Harris II: 2B current=1 box=0, HR current=1 box=0, RBI current=1 box=0, SO current=1 box=2; Brewer Hicklen: 2B current=1 box=0, RBI current=1 box=0, SO current=1 box=2; Matt Olson: HR current=0 box=1, RBI current=1 box=2, BB current=0 box=1, SO current=1 box=2; Ronald Acuña Jr.: H current=1 box=3, HR current=0 box=1, RBI current=0 box=1, BB current=1 box=0; Ha-Seong Kim: AB current=3 box=4, H current=1 box=0, SO current=1 box=2 | ATL |
| info | CURRENT_FINALIZED_MATCH_BOX | WAS model-prediction batting totals differ from final simulation box score (AB: current=32, sim=38; H: current=8, sim=11; 2B: current=2, sim=5; 3B: current=0, sim=2; HR: current=1, sim=0; R: current=4, sim=5; BB: current=3, sim=4; SO: current=8, sim=4). | WAS |
| info | CURRENT_PLAYER_MATCH_BOX | WAS current finalized hitter lines are model predictions and differ from the simulation box score: Brady House: H current=1 box=2, 2B current=0 box=1, RBI current=1 box=2, R current=0 box=1; Yohandy Morales: AB current=3 box=5, H current=1 box=0, RBI current=1 box=0, SO current=1 box=2; Daylen Lile: AB current=4 box=5, H current=1 box=2, 2B current=0 box=1, 3B current=0 box=1; Dylan Crews: H current=1 box=2, 2B current=1 box=0; CJ Abrams: AB current=4 box=5, H current=1 box=2, 2B current=1 box=2, RBI current=1 box=0; Jorbit Vivas: AB current=3 box=4, 3B current=0 box=1, BB current=1 box=0; Abimelec Ortiz: AB current=3 box=5, 2B current=0 box=1, SO current=1 box=0; Harry Ford: AB current=3 box=2, BB current=1 box=2, SO current=1 box=0 | WAS |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| BAL | Kyle Bradish | 3 ER / 16 outs | 2 ER / 15 outs | -1 |
| COL | Gabriel Hughes | 5 ER / 13 outs | 1 ER / 14 outs | -4 |
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: Gabriel Hughes (COL) posted 1.93 ERA vs projected 10.38 (1 ER in 14 outs); he faced a strong offense (opponent run factor 1.08, bucket average).
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
Kyle Bradish (BAL) threw 15 outs, 2 ER = 3.6 ERA against a projected 5.06 ERA (-1.46 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The HOME lineup he faced produced 3 runs on 7 hits and 1 HR, against a projected 3 runs / 7 hits (0 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
HOME pitching
Gabriel Hughes (COL) threw 14 outs, 1 ER = 1.93 ERA against a projected 10.38 ERA (-8.45 ERA error) only 10 prior appearances in the covered season - the projection had little of his own record to stand on
Bullpen behind him: 1 ER over 7 outs.
The AWAY lineup he faced produced 2 runs on 7 hits and 1 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
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)
| Team | Pitcher | Outs | ERA | ER | H | HR | BB | SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|
| BAL | Kyle Bradish (Starter) | 15 / 16 | 3.6 / 5.06 | 2 / 3 | 6 / 6 | 1 / 1 | 2 / 2 | 4 / 2 | venue away: 4.5 vs 3.46 ERA (worse here) · opp run factor 1.04 (average) · 26 prior appearances this season |
| COL | Gabriel Hughes (Starter) | 14 / 13 | 1.93 / 10.38 (-8.45) | 1 / 5 | 4 / 7 | 0 / 1 | 2 / 0 | 4 / 9 | venue home: 4.79 vs 9 ERA (ok) · opp run factor 1.08 (average) · 10 prior appearances this season |
| COL | Brennan Bernardino (Setup Man) | 1 / 4 | 0 / 0 | 0 / 0 | 0 / 2 | 0 / 0 | 0 / 0 | 0 / 3 | |
| COL | Jaden Hill (Middle Reliever (High Leverage)) | 3 / 3 | 9 / 9 | 1 / 1 | 1 / 1 | 1 / 1 | 0 / 0 | 1 / 1 | |
| COL | Jordan Romano (Closer) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 2 |
Hitters: actual / projected (sorted by run impact vs projection)
| Team | Batter | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| BAL | Jackson Holliday (2B) | 5 / 5 | 3 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 1 | 0 / 0 | 1 / 1 | 1.87 | 0.303 below average | good day |
| COL | Hunter Goodman (DH) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 3 / 1 | -1.73 | 0.324 above average | bad day |
| COL | Zac Veen (LF) | 1 / 3 | 1 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 0 / 1 | 1.42 | 0.299 below average | good day |
| COL | Cole Carrigg (SS) | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | -1.11 | 0.323 above average | bad day |
| COL | Brett Sullivan (C) | 3 / 3 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 1.11 | 0.286 below average | good day |
| BAL | Pete Alonso (DH) | 3 / 5 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | 1 / 2 | -0.93 | 0.392 elite | bad day |
| COL | TJ Rumfield (1B) | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 1 / 0 | 1 / 1 | 1 / 1 | 0.93 | 0.334 above average | projection too low |
| BAL | Gunnar Henderson (SS) | 4 / 5 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | -0.8 | 0.316 average | no signal |
| BAL | Carlos Narváez (C) | 1 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 0 / 1 | 0.8 | 0.265 weak | good day |
| BAL | Leody Taveras (RF) | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 3 / 1 | -0.47 | 0.273 weak | — |
| BAL | Colton Cowser (CF) | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.321 above average | — |
| COL | Jake McCarthy (CF) | 5 / 4 | 2 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 1 | 0.47 | 0.319 average | — |
| COL | Connor Norby (2B) | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.301 below average | — |
| BAL | Dylan Beavers (LF) | 4 / 3 | 1 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | -0.33 | 0.304 below average | — |
| BAL | Samuel Basallo (1B) | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 0 | 1 / 1 | -0.14 | 0.322 above average | — |
| BAL | Christian Encarnacion-Strand (3B) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.343 elite | — |
| COL | Mickey Moniak (RF) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 0 | 0.281 weak | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -1.087 | positive favors home; negative favors away |
| Recent form | -1.418 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.04 | positive favors home; negative favors away |
| Composite | -1.581 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 5.44-4.39 | n/a | Base ML historical model prediction |
| variance_applied | 5-4 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 7-4 | 0.746 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 7-4 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 7-4 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 7-4 | n/a | Capped at max 12 realistic runs |
| simulation_result | 7-4 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 5.44-4.39 | 5-4 | -0.054 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-4 | 7-4 | 2 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 7-4 | 7-4 | -0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 7-4 | 7-4 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 7-4 | 7-4 | -0 | Capped at max 12 realistic runs |
| simulation_result | 7-4 | 7-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 |
|---|---|---|---|---|
| BAL | Gunnar Henderson | batter / SS | better | predicted_H 1.95 |
| BAL | Christian Encarnacion-Strand | batter / 3B | worse | predicted_AB 1.629 |
| COL | Brett Sullivan | batter / C | better | predicted_H 1.28 |
| BAL | Jackson Holliday | batter / 2B | boosted | predicted_H 1.27 |
| BAL | Pete Alonso | batter / DH | boosted | predicted_AB 1.244 |
| BAL | Colton Cowser | batter / CF | better | predicted_AB 1.24 |
| COL | Connor Norby | batter / 2B | better | predicted_H 1.21 |
| COL | Jake McCarthy | batter / CF | worse | predicted_AB 1.154 |
| 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 | 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_FINALIZED_MATCH_BOX | BAL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=38; H: current=8, sim=11; 2B: current=1, sim=4; HR: current=1, sim=2; RBI: current=5, sim=7; R: current=5, sim=7; BB: current=3, sim=2; SO: current=10, sim=16). | BAL |
| info | CURRENT_PLAYER_MATCH_BOX | BAL current finalized hitter lines are model predictions and differ from the simulation box score: Pete Alonso: 2B current=0 box=1, HR current=1 box=0, BB current=1 box=0; Dylan Beavers: H current=1 box=0, 2B current=1 box=0, R current=1 box=0, SO current=1 box=2; Samuel Basallo: AB current=3 box=4, RBI current=1 box=0, R current=0 box=1, SO current=1 box=2; Leody Taveras: 2B current=0 box=1, BB current=0 box=1; Jackson Holliday: H current=1 box=2, RBI current=0 box=1, SO current=1 box=2; Christian Encarnacion-Strand: AB current=3 box=5, HR current=0 box=1, RBI current=0 box=1, R current=0 box=1; Colton Cowser: AB current=3 box=4, R current=0 box=1, SO current=1 box=2; Gunnar Henderson: H current=1 box=3, 2B current=0 box=2, HR current=0 box=1, RBI current=1 box=2 | BAL |
| info | CURRENT_FINALIZED_MATCH_BOX | COL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=34; 2B: current=2, sim=3; BB: current=3, sim=2; SO: current=9, sim=5; SF: 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: Jake McCarthy: AB current=4 box=5, 2B current=1 box=0, HR current=0 box=1; Mickey Moniak: H current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Hunter Goodman: HR current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Cole Carrigg: H current=1 box=2, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Willi Castro: AB current=4 box=3, H current=1 box=0, RBI current=0 box=1, SF current=0 box=1; Connor Norby: AB current=3 box=4, H current=1 box=2, 2B current=0 box=1, RBI current=0 box=1; Brett Sullivan: H current=1 box=2, 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1; Zac Veen: BB current=0 box=1, SO current=1 box=0 | COL |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| CHW | Sean Burke | 4 ER / 15 outs | 0 ER / 17 outs | -4 |
| HOU | Ronel Blanco | 4 ER / 13 outs | 0 ER / 12 outs | -4 |
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: Ronel Blanco (HOU) posted 0.00 ERA vs projected 8.31 (0 ER in 12 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
Sean Burke (CHW) threw 17 outs, 0 ER = 0 ERA against a projected 7.2 ERA (-7.2 ERA error)
Bullpen behind him: 0 ER over 4 outs.
The HOME lineup he faced produced 1 runs on 3 hits and 1 HR, against a projected 4 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
Ronel Blanco (HOU) threw 12 outs, 0 ER = 0 ERA against a projected 8.31 ERA (-8.31 ERA error) only 5 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 AWAY lineup he faced produced 5 runs on 7 hits and 0 HR, against a projected 5 runs / 7 hits (0 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)
| Team | Pitcher | Outs | ERA | ER | H | HR | BB | SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|
| CHW | Sean Burke (Starter) | 17 / 15 | 0 / 7.2 (-7.20) | 0 / 4 | 1 / 7 | 0 / 0 | 4 / 1 | 6 / 4 | venue away: 3.04 vs 3.99 ERA (ok) · opp run factor 0.97 (average) · 27 prior appearances this season |
| CHW | Bryan Hudson (Middle Reliever (High Leverage)) | 4 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | |
| HOU | Ronel Blanco (Starter) | 12 / 13 | 0 / 8.31 (-8.31) | 0 / 4 | 3 / 5 | 0 / 1 | 3 / 3 | 3 / 4 | venue home: 6.75 vs 7.2 ERA (ok) · opp run factor 1.02 (average) · 5 prior appearances this season |
Hitters: actual / projected (sorted by run impact vs projection)
| Team | Batter | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| HOU | Taylor Trammell (CF) | 3 / 3 | 2 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 1.58 | 0.285 below average | good day |
| CHW | Munetaka Murakami (1B) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 1 / 1 | 3 / 2 | -1.4 | 0.35 elite | bad day |
| HOU | Yordan Alvarez (DH) | 2 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 2 / 1 | 2 / 1 | -1.07 | 0.45 elite | bad day |
| HOU | LaMonte Wade Jr. (LF) | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 1 | -0.8 | 0.278 weak | projection too high |
| CHW | Drew Romo (C) | 2 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 1 | 0.66 | 0.262 weak | good day |
| HOU | Isaac Paredes (3B) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | 0 / 1 | 0 / 0 | 0.6 | 0.32 average | no signal |
| CHW | Miguel Vargas (3B) | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 1 | 0 / 1 | 0.47 | 0.386 elite | — |
| HOU | Yainer Diaz (C) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 2 / 0 | -0.47 | 0.304 below average | — |
| HOU | Christian Walker (1B) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 3 / 1 | -0.47 | 0.3 below average | — |
| HOU | Cam Smith (RF) | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.319 average | — |
| HOU | Jeremy Peña (SS) | 3 / 5 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 0 | 1 / 1 | -0.45 | 0.326 above average | — |
| CHW | Colson Montgomery (SS) | 4 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 2 / 1 | 1 / 1 | 1 / 1 | 2 / 1 | -0.15 | 0.307 average | — |
| CHW | Sam Antonacci (LF) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 0 | 1 / 0 | -0.14 | 0.342 elite | — |
| CHW | Tristan Peters (CF) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | -0.14 | 0.319 average | — |
| CHW | Chase Meidroth (2B) | 4 / 4 | 2 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0.14 | 0.292 below average | — |
| HOU | Jose Altuve (2B) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 1 / 1 | -0.14 | 0.272 weak | — |
| CHW | Andrew Benintendi (DH) | 5 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 0 | 0 / 0 | 1 / 1 | 0 | 0.31 average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.363 | positive favors home; negative favors away |
| Recent form | 0.283 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.048 | positive favors home; negative favors away |
| Composite | -0.415 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 5.04-3.45 | n/a | Base ML historical model prediction |
| variance_applied | 5-3 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 6-5 | 0.53 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 6-5 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 6-5 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 6-5 | n/a | Capped at max 12 realistic runs |
| simulation_result | 6-5 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 5.04-3.45 | 5-3 | 0.417 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-3 | 6-5 | -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 | 6-5 | 6-5 | -0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 6-5 | 6-5 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 6-5 | 6-5 | -0 | Capped at max 12 realistic runs |
| simulation_result | 6-5 | 6-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 |
|---|---|---|---|---|
| CHW | Andrew Benintendi | batter / DH | better | predicted_SO 3.2 |
| CHW | Chase Meidroth | batter / 2B | better | predicted_SO 2.062 |
| HOU | Jose Altuve | batter / 2B | better | predicted_H 2.01 |
| HOU | Ronel Blanco | pitcher / Starter | worse | predicted_ER 2 |
| HOU | Bryan Abreu | pitcher / Middle Reliever (High Leverage) | better | predicted_ER -2 |
| HOU | LaMonte Wade Jr. | batter / LF | better | predicted_BB 1.579 |
| CHW | Randal Grichuk | batter / RF | better | predicted_AB 1.5 |
| CHW | Colson Montgomery | batter / SS | worse | predicted_SO -1.434 |
| 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 | HOU pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | HOU |
| info | CURRENT_FINALIZED_MATCH_BOX | CHW model-prediction batting totals differ from final simulation box score (AB: current=31, sim=38; H: current=8, sim=11; RBI: current=5, sim=6; R: current=5, sim=6). | 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=3 box=4, H current=1 box=2, BB current=0 box=1; Munetaka Murakami: H current=1 box=2, RBI current=1 box=2, SO current=2 box=1; Randal Grichuk: AB current=3 box=4, R current=0 box=1, BB current=0 box=1, SO current=1 box=0; Tristan Peters: AB current=3 box=4, H current=1 box=2, 2B current=0 box=1, RBI current=0 box=1; Miguel Vargas: AB current=4 box=5, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Colson Montgomery: HR current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=1 box=0; Andrew Benintendi: AB current=3 box=5, R current=0 box=1, SO current=1 box=4; Drew Romo: AB current=3 box=4 | CHW |
| info | CURRENT_FINALIZED_MATCH_BOX | HOU model-prediction batting totals differ from final simulation box score (AB: current=34, sim=35; H: current=8, sim=9; 2B: current=1, sim=2; HR: current=1, sim=0; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=2; SF: current=0, sim=1). | HOU |
| info | CURRENT_PLAYER_MATCH_BOX | HOU current finalized hitter lines are model predictions and differ from the simulation box score: Yordan Alvarez: AB current=4 box=5, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Jeremy Peña: 2B current=1 box=0, RBI current=1 box=0, SO current=1 box=2; Jose Altuve: H current=1 box=3, 2B current=0 box=1, RBI current=0 box=2, SO current=1 box=0; Isaac Paredes: AB current=4 box=5, H current=1 box=0, BB current=1 box=0; LaMonte Wade Jr.: AB current=3 box=2, 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1; Yainer Diaz: SO current=0 box=1; Christian Walker: AB current=4 box=3, R current=0 box=1, SO current=1 box=2, SF current=0 box=1; Taylor Trammell: SO current=1 box=2, HBP current=0 box=1 | HOU |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| DET | Troy Melton | 2 ER / 18 outs | 5 ER / 16 outs | 3 |
| MIN | Andrew Morris | 1 ER / 14 outs | 1 ER / 3 outs | 0 |
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: Andrew Morris (MIN) posted 9.00 ERA vs projected 1.93 (1 ER in 3 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
Troy Melton (DET) threw 16 outs, 5 ER = 8.44 ERA against a projected 3 ERA (5.44 ERA error)
Bullpen behind him: 5 ER over 1 outs.
The HOME lineup he faced produced 13 runs on 12 hits and 3 HR, against a projected 6 runs / 9 hits (7 runs vs projection).
Who did the damage to him:
Verdict: both: the starter was hit hard AND the lineup underproduced
HOME pitching
Andrew Morris (MIN) threw 3 outs, 1 ER = 9 ERA against a projected 1.93 ERA (7.07 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The AWAY lineup he faced produced 2 runs on 6 hits and 0 HR, against a projected 5 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
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)
| Team | Pitcher | Outs | ERA | ER | H | HR | BB | SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|
| DET | Troy Melton (Starter) | 16 / 18 | 8.44 / 3 (+5.44) | 5 / 2 | 6 / 2 | 2 / 0 | 1 / 4 | 4 / 6 | venue away: 1.4 vs 2.37 ERA (ok) · opp run factor 0.97 (average) · 16 prior appearances this season |
| DET | Kyle Finnegan (Middle Reliever (High Leverage)) | 1 / 3 | 135 / 0 (+135.00) | 5 / 0 | 3 / 0 | 1 / 0 | 2 / 0 | 0 / 0 | |
| MIN | Andrew Morris (Starter) | 3 / 14 | 9 / 1.93 (+7.07) | 1 / 1 | 2 / 1 | 0 / 0 | 0 / 1 | 0 / 5 | venue home: 9 vs 0 ERA (ok) · opp run factor 1 (average) · 53 prior appearances this season |
Hitters: actual / projected (sorted by run impact vs projection)
| Team | Batter | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| MIN | Royce Lewis (1B) | 4 / 4 | 3 / 1 | 1 / 0 | 0 / 0 | 1 / 0 | 3 / 0 | 2 / 0 | 1 / 0 | 0 / 1 | 2.51 | 0.316 average | no signal |
| MIN | Brooks Lee (3B) | 3 / 5 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | -1.4 | 0.274 weak | projection too high |
| MIN | Kody Clemens (2B) | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 2 / 1 | 1 / 0 | 1 / 1 | 1.26 | 0.341 elite | projection too low |
| DET | Riley Greene (LF) | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0 / 1 | 2 / 1 | -1.11 | 0.367 elite | bad day |
| DET | Dillon Dingler (C) | 4 / 5 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 0 / 0 | 0 / 1 | -0.93 | 0.344 elite | bad day |
| DET | Javier Báez (RF) | 4 / 3 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 0 | -0.78 | 0.258 weak | projection too high |
| DET | Spencer Torkelson (1B) | 3 / 3 | 1 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0.78 | 0.31 average | no signal |
| MIN | Kaelen Culpepper (SS) | 5 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 3 / 0 | 1 / 1 | 0 / 0 | 0 / 1 | 0.78 | 0.32 average | no signal |
| MIN | Walker Jenkins (CF) | 4 / 3 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 0 | 1 / 1 | 0 / 0 | -0.78 | 0.253 weak | projection too high |
| MIN | Ryan Jeffers (C) | 4 / 4 | 2 / 1 | 0 / 0 | 1 / 0 | 1 / 1 | 3 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | 0.76 | 0.356 elite | projection too low |
| MIN | Josh Bell (DH) | 3 / 5 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 1 | 2 / 0 | 2 / 1 | 0.66 | 0.333 above average | projection too low |
| DET | Kevin McGonigle (DH) | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | -0.33 | 0.35 elite | — |
| MIN | Trevor Larnach (LF) | 2 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 1 / 0 | 0 / 1 | 0.33 | 0.329 above average | — |
| DET | Hao-Yu Lee (3B) | 4 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0.31 | 0.301 below average | — |
| MIN | Luke Keaschall (RF) | 5 / 4 | 2 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 2 / 0 | 1 / 1 | 0 / 1 | 0 / 0 | 0.14 | 0.315 average | — |
| DET | Gleyber Torres (2B) | 2 / 5 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 1 | 0 | 0.327 above average | — |
| DET | Max Clark (CF) | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 2 / 1 | 0 | 0.321 above average | — |
| DET | John Peck (SS) | 4 / 4 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.379 elite | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.297 | positive favors home; negative favors away |
| Recent form | 0.534 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.025 | positive favors home; negative favors away |
| Composite | -0.265 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 5.07-3.72 | n/a | Base ML historical model prediction |
| variance_applied | 5-4 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-3 | 0.53 | 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-3 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-3 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-3 | n/a | Capped at max 12 realistic runs |
| simulation_result | 4-3 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 5.07-3.72 | 5-4 | -0.351 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-4 | 4-3 | -0 | 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-3 | 4-3 | -0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-3 | 4-3 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-3 | 4-3 | -0 | Capped at max 12 realistic runs |
| simulation_result | 4-3 | 4-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 |
|---|---|---|---|---|
| MIN | Kody Clemens | batter / 2B | worse | predicted_SO 2.075 |
| DET | John Peck | batter / SS | deboosted | predicted_RBI 1.86 |
| MIN | Walker Jenkins | batter / CF | worse | predicted_RBI 1.47 |
| DET | Hao-Yu Lee | batter / 3B | worse | predicted_SO 1.302 |
| MIN | Brooks Lee | batter / 3B | worse | predicted_H -1.09 |
| DET | Dillon Dingler | batter / C | worse | predicted_H -1.02 |
| DET | Troy Melton | pitcher / Starter | better | predicted_ER -1 |
| DET | Kenley Jansen | pitcher / Closer | worse | predicted_ER 1 |
| 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 | 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_FINALIZED_MATCH_BOX | DET model-prediction batting totals differ from final simulation box score (AB: current=35, sim=32; H: current=7, sim=5; 2B: current=2, sim=1; 3B: current=0, sim=1; RBI: current=3, sim=4; R: current=5, sim=4; BB: current=3, sim=2; SO: current=8, sim=10). | DET |
| info | CURRENT_PLAYER_MATCH_BOX | DET current finalized hitter lines are model predictions and differ from the simulation box score: Kevin McGonigle: 2B current=0 box=1, BB current=1 box=0; Hao-Yu Lee: H current=1 box=0, BB current=0 box=1, SO current=1 box=2; Dillon Dingler: AB current=5 box=4, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Riley Greene: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, R current=1 box=0; Javier Báez: H current=1 box=0, 2B current=1 box=0, R current=1 box=0, SO current=0 box=1; Gleyber Torres: AB current=5 box=4, RBI current=0 box=1, BB current=1 box=0; Spencer Torkelson: AB current=3 box=4, SO current=1 box=2; Max Clark: RBI current=1 box=0, R current=0 box=1 | DET |
| info | CURRENT_FINALIZED_MATCH_BOX | MIN model-prediction batting totals differ from final simulation box score (AB: current=37, sim=30; H: current=9, sim=3; 2B: current=2, sim=0; HR: current=2, sim=0; RBI: current=5, sim=3; R: current=6, sim=3; BB: current=3, sim=4; 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: H current=1 box=0, 2B current=1 box=0, R current=1 box=0, BB current=1 box=0; Kody Clemens: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Ryan Jeffers: HR current=1 box=0, BB current=1 box=0, SO current=1 box=0; Trevor Larnach: AB current=4 box=3, H current=1 box=0, BB current=0 box=1; Josh Bell: AB current=5 box=4, RBI current=1 box=0, SO current=1 box=0; Brooks Lee: AB current=5 box=4, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Royce Lewis: AB current=4 box=3, H current=1 box=0, SO current=1 box=0, HBP current=0 box=1; Kaelen Culpepper: AB current=4 box=3, H current=1 box=0, R current=1 box=0, BB current=0 box=1 | MIN |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| MIA | Tyler Phillips | 4 ER / 15 outs | 0 ER / 15 outs | -4 |
| KC | Randy Dobnak | 1 ER / 17 outs | 6 ER / 18 outs | 5 |
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: Randy Dobnak (KC) posted 9.00 ERA vs projected 1.59 (6 ER in 18 outs); he is materially worse pitching home (2.94 ERA there vs 1.14 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
Tyler Phillips (MIA) threw 15 outs, 0 ER = 0 ERA against a projected 7.2 ERA (-7.2 ERA error)
Bullpen behind him: 1 ER over 6 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
Randy Dobnak (KC) threw 18 outs, 6 ER = 9 ERA against a projected 1.59 ERA (7.41 ERA error) only 10 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 AWAY lineup he faced produced 6 runs on 8 hits and 2 HR, against a projected 4 runs / 8 hits (2 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)
| Team | Pitcher | Outs | ERA | ER | H | HR | BB | SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|
| MIA | Tyler Phillips (Starter) | 15 / 15 | 0 / 7.2 (-7.20) | 0 / 4 | 1 / 6 | 0 / 1 | 2 / 2 | 4 / 4 | venue away: 6.83 vs 2.72 ERA (worse here) · opp run factor 0.98 (weak) · 32 prior appearances this season |
| MIA | Calvin Faucher (Closer) | 3 / 6 | 0 / 4.5 (-4.50) | 0 / 1 | 1 / 1 | 0 / 0 | 0 / 2 | 0 / 1 | |
| MIA | Tyler Zuber (Setup Man) | 3 / 3 | 9 / 0 (+9.00) | 1 / 0 | 2 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | |
| KC | Randy Dobnak (Starter) | 18 / 17 | 9 / 1.59 (+7.41) | 6 / 1 | 7 / 1 | 2 / 0 | 2 / 1 | 6 / 5 | venue home: 2.94 vs 1.14 ERA (worse here) · opp run factor 0.93 (average) · 10 prior appearances this season |
Hitters: actual / projected (sorted by run impact vs projection)
| Team | Batter | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| MIA | Graham Pauley (3B) | 4 / 3 | 2 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 4 / 0 | 2 / 0 | 0 / 0 | 1 / 1 | 2.49 | 0.225 weak | good day |
| MIA | Heriberto Hernández (LF) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | 2 / 1 | -1.4 | 0.353 elite | bad day |
| KC | Nick Loftin (2B) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | 0 / 0 | 2 / 0 | 0.93 | 0.297 below average | good day |
| MIA | Jakob Marsee (CF) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | -0.8 | 0.305 average | no signal |
| KC | Bobby Witt Jr. (SS) | 3 / 5 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | -0.64 | 0.383 elite | bad day |
| KC | Carter Jensen (C) | 4 / 5 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | -0.48 | 0.304 below average | — |
| KC | Salvador Perez (DH) | 4 / 5 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.308 average | — |
| KC | Josh Rojas (3B) | 4 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0.47 | 0.217 weak | — |
| KC | Vinnie Pasquantino (1B) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 1 / 1 | -0.47 | 0.325 above average | — |
| KC | Kyle Isbel (CF) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.264 weak | — |
| KC | Jac Caglianone (RF) | 3 / 5 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 0 | 1 / 1 | -0.45 | 0.357 elite | — |
| KC | Isaac Collins (LF) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 1 | 0.33 | 0.296 below average | — |
| MIA | Kyle Stowers (DH) | 4 / 5 | 1 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 1 | 0 / 1 | 2 / 2 | 0.29 | 0.335 above average | — |
| MIA | Javier Sanoja (2B) | 4 / 3 | 2 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0.16 | 0.287 below average | — |
| MIA | Griffin Conine (1B) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 0 | 1 / 1 | -0.14 | 0.373 elite | — |
| MIA | Otto Lopez (SS) | 3 / 5 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 0 | 0 / 1 | 0 | 0.324 above average | — |
| MIA | Owen Caissie (RF) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | 0 | 0.297 below average | — |
| MIA | Joe Mack (C) | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | 0 | 0.289 below average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.27 | positive favors home; negative favors away |
| Recent form | 0.648 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.052 | positive favors home; negative favors away |
| Composite | 0.488 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.84-5 | n/a | Base ML historical model prediction |
| variance_applied | 5-5 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 3-5 | 0.646 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 3-5 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 3-5 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 3-5 | n/a | Capped at max 12 realistic runs |
| simulation_result | 3-5 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.84-5 | 5-5 | -0.163 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-5 | 3-5 | 2 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 3-5 | 3-5 | 0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 3-5 | 3-5 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 3-5 | 3-5 | 0 | Capped at max 12 realistic runs |
| simulation_result | 3-5 | 3-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 |
|---|---|---|---|---|
| MIA | Graham Pauley | batter / 3B | worse | predicted_SO 2.341 |
| KC | Salvador Perez | batter / DH | worse | predicted_AB -1.89 |
| KC | Carter Jensen | batter / C | worse | predicted_AB -1.73 |
| KC | Bobby Witt Jr. | batter / SS | better | predicted_AB -1.65 |
| KC | Jac Caglianone | batter / RF | worse | predicted_H -1.48 |
| MIA | Heriberto Hernández | batter / LF | better | predicted_RBI 1.43 |
| KC | Kyle Isbel | batter / CF | worse | predicted_AB -1.43 |
| MIA | Kyle Stowers | batter / DH | worse | predicted_SO -1.337 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | KC pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | KC |
| 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 | KC model-prediction batting totals differ from final simulation box score (AB: current=36, sim=29; H: current=8, sim=7; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=4; SO: current=7, sim=6; SF: current=0, sim=2). | KC |
| info | CURRENT_PLAYER_MATCH_BOX | KC current finalized hitter lines are model predictions and differ from the simulation box score: Carter Jensen: AB current=5 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Bobby Witt Jr.: AB current=5 box=3, RBI current=0 box=2, SO current=1 box=0; Nick Loftin: H current=1 box=0, BB current=0 box=1; Jac Caglianone: AB current=5 box=4, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Salvador Perez: AB current=5 box=3, HR current=0 box=1, RBI current=1 box=2, R current=0 box=1; Josh Rojas: AB current=3 box=4, SO current=0 box=1; Vinnie Pasquantino: 2B current=0 box=1, RBI current=1 box=0, BB current=1 box=0, SO current=1 box=2; Isaac Collins: H current=0 box=1, R current=0 box=1, BB current=0 box=1, SO current=1 box=0 | KC |
| info | CURRENT_FINALIZED_MATCH_BOX | MIA model-prediction batting totals differ from final simulation box score (AB: current=31, sim=32; H: current=8, sim=5; 2B: current=2, sim=0; RBI: current=4, sim=3; R: current=4, sim=3; BB: current=3, sim=4). | 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=5 box=3, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Griffin Conine: H current=1 box=0, RBI current=1 box=0, BB current=0 box=1, SO current=1 box=0; Otto Lopez: AB current=5 box=4, H current=1 box=2, RBI current=1 box=0, SO current=1 box=0; Heriberto Hernández: AB current=3 box=4, HR current=1 box=0, RBI current=1 box=2, BB current=1 box=0; Jakob Marsee: H current=1 box=0, R current=1 box=0; Javier Sanoja: AB current=3 box=4, 2B current=1 box=0, SO current=0 box=1; Owen Caissie: AB current=3 box=4, HR current=0 box=1, RBI current=0 box=1, R current=0 box=1; Graham Pauley: AB current=3 box=4, SO current=1 box=3 | MIA |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| MIL | Robert Gasser | 5 ER / 15 outs | 2 ER / 13 outs | -3 |
| CHC | Matthew Boyd | 4 ER / 18 outs | 3 ER / 16 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: Robert Gasser (MIL) posted 4.15 ERA vs projected 9.00 (2 ER in 13 outs); he is materially worse pitching away (5.59 ERA there vs 4.05 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
Robert Gasser (MIL) threw 13 outs, 2 ER = 4.15 ERA against a projected 9 ERA (-4.85 ERA error)
Bullpen behind him: 0 ER over 3 outs.
The HOME lineup he faced produced 4 runs on 6 hits and 0 HR, against a projected 5 runs / 10 hits (-1 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
Matthew Boyd (CHC) threw 16 outs, 3 ER = 5.06 ERA against a projected 6 ERA (-0.94 ERA error)
Bullpen behind him: 2 ER over 2 outs.
The AWAY lineup he faced produced 8 runs on 12 hits and 2 HR, against a projected 5 runs / 9 hits (3 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)
| Team | Pitcher | Outs | ERA | ER | H | HR | BB | SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|
| MIL | Robert Gasser (Starter) | 13 / 15 | 4.15 / 9 (-4.85) | 2 / 5 | 3 / 8 | 0 / 1 | 2 / 1 | 4 / 4 | venue away: 5.59 vs 4.05 ERA (worse here) · opp run factor 1.09 (strong) · 16 prior appearances this season |
| MIL | Aaron Ashby (Setup Man) | 3 / 2 | 0 / 40.5 (-40.50) | 0 / 3 | 0 / 4 | 0 / 0 | 0 / 1 | 1 / 1 | |
| CHC | Matthew Boyd (Starter) | 16 / 18 | 5.06 / 6 | 3 / 4 | 7 / 3 | 0 / 2 | 1 / 3 | 3 / 8 | venue home: 5.44 vs 2.83 ERA (worse here) · opp run factor 1.11 (strong) · 17 prior appearances this season |
| CHC | Ryan Zeferjahn (Middle Reliever (High Leverage)) | 2 / 3 | 27 / 9 (+18.00) | 2 / 1 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 0 |
Hitters: actual / projected (sorted by run impact vs projection)
| Team | Batter | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CHC | Pete Crow-Armstrong (CF) | 4 / 6 | 0 / 2 | 0 / 1 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 3 / 1 | -2.51 | 0.369 elite | bad day |
| MIL | Joey Ortiz (3B) | 4 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 1.4 | 0.295 below average | good day |
| CHC | Alex Bregman (3B) | 4 / 5 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 0 / 1 | 1 / 1 | -1.26 | 0.318 average | no signal |
| MIL | William Contreras (C) | 5 / 4 | 2 / 1 | 2 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 2 / 1 | 0 / 0 | 1 / 0 | 1.09 | 0.333 above average | projection too low |
| CHC | Matt Shaw (2B) | 3 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 1 / 1 | 0.64 | 0.307 average | no signal |
| MIL | Christian Yelich (DH) | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | 2 / 1 | 2 / 1 | 1 / 1 | 0 / 1 | 0.62 | 0.314 average | no signal |
| MIL | Brice Turang (2B) | 4 / 5 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 1 | 0 / 1 | 0.47 | 0.335 above average | — |
| CHC | Carson Kelly (C) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 1 | -0.47 | 0.311 average | — |
| MIL | Jackson Chourio (LF) | 5 / 5 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 0 / 0 | 1 / 1 | -0.46 | 0.334 above average | — |
| CHC | Seiya Suzuki (RF) | 2 / 5 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 2 / 1 | 1 / 1 | -0.45 | 0.339 above average | — |
| CHC | Tyrone Taylor (LF) | 2 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0.31 | 0.319 average | — |
| MIL | Jake Bauers (RF) | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 3 / 1 | 1 / 1 | 0.19 | 0.373 elite | — |
| MIL | Andrew Vaughn (1B) | 3 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | -0.02 | 0.336 above average | — |
| CHC | Michael Busch (1B) | 4 / 5 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 1 / 1 | -0.02 | 0.328 above average | — |
| MIL | Luis Lara (CF) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | 0 | 0.313 average | — |
| MIL | Cooper Pratt (SS) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.313 average | — |
| CHC | Nico Hoerner (SS) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 | 0.324 above average | — |
| CHC | BJ Murray Jr. (DH) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.08 weak | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.009 | positive favors home; negative favors away |
| Recent form | 0.482 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.023 | positive favors home; negative favors away |
| Composite | 0.425 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.47-4.63 | n/a | Base ML historical model prediction |
| variance_applied | 4-5 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-8 | 0.699 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 6-8 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 6-8 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 6-8 | n/a | Capped at max 12 realistic runs |
| simulation_result | 6-8 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.47-4.63 | 4-5 | 0.846 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 5-8 | 2 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 5-8 | 6-8 | -1 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 6-8 | 6-8 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 6-8 | 6-8 | 0 | Capped at max 12 realistic runs |
| simulation_result | 6-8 | 6-8 | 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 |
|---|---|---|---|---|
| CHC | Tyrone Taylor | batter / LF | better | predicted_RBI 3.37 |
| MIL | Jackson Chourio | batter / LF | better | predicted_RBI 2.28 |
| CHC | Seiya Suzuki | batter / RF | worse | predicted_AB -2.24 |
| MIL | Christian Yelich | batter / DH | worse | predicted_SO 1.86 |
| CHC | Nico Hoerner | batter / SS | better | predicted_RBI 1.534 |
| CHC | Pete Crow-Armstrong | batter / CF | worse | predicted_AB -1.53 |
| CHC | Alex Bregman | batter / 3B | worse | predicted_RBI -1.5 |
| CHC | Matt Shaw | batter / 2B | worse | predicted_SO 1.471 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| 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_PITCHER_DUPLICATION | MIL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | MIL |
| info | CURRENT_FINALIZED_MATCH_BOX | CHC model pitcher projections differ from final simulation pitching box score (H: current=6, sim=8; HR: current=2, sim=4). | CHC |
| info | CURRENT_FINALIZED_MATCH_BOX | CHC model-prediction batting totals differ from final simulation box score (AB: current=38, sim=37; H: current=10, sim=13; 2B: current=2, sim=3; HR: current=2, sim=1; RBI: current=6, sim=8; R: current=5, sim=8; BB: current=4, sim=3; SO: current=7, sim=8). | CHC |
| info | CURRENT_PLAYER_MATCH_BOX | CHC current finalized hitter lines are model predictions and differ from the simulation box score: Pete Crow-Armstrong: AB current=6 box=4, 2B current=1 box=0, HR current=1 box=0; Tyrone Taylor: AB current=3 box=5, H current=1 box=2, 2B current=0 box=1, HR current=0 box=1; Nico Hoerner: H current=1 box=2, 2B current=0 box=1, RBI current=0 box=2, R current=0 box=1; Alex Bregman: H current=1 box=2, HR current=1 box=0, RBI current=1 box=0, BB current=1 box=0; BJ Murray Jr.: AB current=3 box=4, R current=0 box=1, SO current=1 box=2; Matt Shaw: AB current=3 box=4, H current=1 box=0, R current=1 box=0, SO current=1 box=2; Seiya Suzuki: AB current=5 box=3, H current=1 box=2, 2B current=1 box=0, RBI current=1 box=0; Michael Busch: AB current=5 box=4, R current=0 box=1, BB current=1 box=0, SO current=1 box=0 | CHC |
| info | CURRENT_FINALIZED_MATCH_BOX | MIL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=34; H: current=9, sim=8; 2B: current=1, sim=0; 3B: current=0, sim=1; HR: current=1, sim=4; RBI: current=5, sim=6; R: current=5, sim=6; BB: current=4, sim=3). | MIL |
| info | CURRENT_PLAYER_MATCH_BOX | MIL current finalized hitter lines are model predictions and differ from the simulation box score: Jake Bauers: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=1 box=0; Andrew Vaughn: 3B current=0 box=1, R current=0 box=1; Jackson Chourio: H current=1 box=2, HR current=1 box=2, RBI current=1 box=3, SO current=1 box=0; Brice Turang: RBI current=1 box=0, BB current=1 box=0, SO current=1 box=2; Joey Ortiz: RBI current=0 box=1, R current=0 box=1, SF current=0 box=1; William Contreras: HR current=0 box=1; Christian Yelich: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Luis Lara: HR current=0 box=1, RBI current=0 box=1, R current=0 box=1, BB current=0 box=1 | MIL |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| NYM | Sean Manaea | 2 ER / 18 outs | 5 ER / 17 outs | 3 |
| TB | Freddy Peralta | 4 ER / 16 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: Freddy Peralta (TB) posted 1.50 ERA vs projected 6.75 (1 ER in 18 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
Sean Manaea (NYM) threw 17 outs, 5 ER = 7.94 ERA against a projected 3 ERA (4.94 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The HOME lineup he faced produced 6 runs on 13 hits and 1 HR, against a projected 5 runs / 9 hits (1 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
Freddy Peralta (TB) threw 18 outs, 1 ER = 1.5 ERA against a projected 6.75 ERA (-5.25 ERA error)
Bullpen behind him: 1 ER over 9 outs.
The AWAY lineup he faced produced 2 runs on 3 hits and 1 HR, against a projected 3 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)
| Team | Pitcher | Outs | ERA | ER | H | HR | BB | SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|
| NYM | Sean Manaea (Starter) | 17 / 18 | 7.94 / 3 (+4.94) | 5 / 2 | 11 / 5 | 1 / 0 | 1 / 3 | 2 / 6 | venue away: 4.08 vs 4.13 ERA (ok) · opp run factor 1.07 (average) · 28 prior appearances this season |
| TB | Freddy Peralta (Starter) | 18 / 16 | 1.5 / 6.75 (-5.25) | 1 / 4 | 3 / 5 | 1 / 2 | 0 / 2 | 7 / 5 | venue home: 4.09 vs 6.19 ERA (ok) · opp run factor 0.94 (weak) · 27 prior appearances this season |
| TB | Tyler Wells (Middle Reliever (High Leverage)) | 5 / 4 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | |
| TB | Kevin Kelly (Setup Man) | 3 / 3 | 0 / 9 (-9.00) | 0 / 1 | 0 / 2 | 0 / 1 | 0 / 0 | 2 / 0 | |
| TB | Garrett Cleavinger (Middle Reliever (High Leverage)) | 1 / 1 | 27 / 0 (+27.00) | 1 / 0 | 0 / 1 | 0 / 0 | 3 / 0 | 0 / 1 |
Hitters: actual / projected (sorted by run impact vs projection)
| Team | Batter | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| NYM | Juan Soto (DH) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | -1.73 | 0.416 elite | bad day |
| TB | Yandy Díaz (DH) | 4 / 5 | 2 / 1 | 1 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 2 / 1 | 1 / 1 | 1 / 1 | 1.71 | 0.355 elite | projection too low |
| TB | Ryan Vilade (1B) | 5 / 3 | 2 / 1 | 0 / 0 | 1 / 0 | 0 / 0 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1.09 | 0.334 above average | projection too low |
| TB | Victor Mesa Jr. (RF) | 4 / 3 | 3 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 0 | 0 / 1 | 0.94 | 0.311 average | no signal |
| NYM | Francisco Lindor (SS) | 3 / 5 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 1 / 1 | 1 / 1 | 1 / 1 | 0.93 | 0.338 above average | projection too low |
| TB | Junior Caminero (3B) | 5 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | -0.79 | 0.363 elite | bad day |
| TB | Jonny DeLuca (CF) | 3 / 3 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 1 | -0.78 | 0.265 weak | projection too high |
| TB | Nick Fortes (C) | 4 / 3 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 0 / 0 | 1 / 0 | 0.78 | 0.277 weak | good day |
| NYM | A.J. Ewing (CF) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 2 / 1 | -0.47 | 0.317 average | — |
| NYM | Francisco Alvarez (C) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.326 above average | — |
| TB | Jorge Mateo (2B) | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | -0.47 | 0.303 below average | — |
| NYM | Jared Young (1B) | 3 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 1 / 0 | 2 / 1 | -0.45 | 0.309 average | — |
| TB | Taylor Walls (SS) | 2 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | -0.02 | 0.249 weak | — |
| NYM | Carson Benge (RF) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | 0 | 0.336 above average | — |
| NYM | Brett Baty (2B) | 2 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.306 average | — |
| NYM | Nick Morabito (LF) | 1 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 2 | 0 | 0.298 below average | — |
| NYM | Bo Bichette (3B) | 4 / 5 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.325 above average | — |
| TB | Chandler Simpson (LF) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 0 | 0 | 0.261 weak | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.794 | positive favors home; negative favors away |
| Recent form | 0.086 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.134 | positive favors home; negative favors away |
| Composite | 0.932 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 5.31-4.12 | n/a | Base ML historical model prediction |
| variance_applied | 5-4 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-6 | 0.527 | 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 | 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 | 5.31-4.12 | 5-4 | 0.194 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-4 | 5-6 | 2 | 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 | 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 |
|---|---|---|---|---|
| NYM | Bo Bichette | batter / 3B | better | predicted_RBI 2.55 |
| TB | Ryan Vilade | batter / 1B | better | predicted_AB 2.301 |
| NYM | Brett Baty | batter / 2B | worse | predicted_BB 1.719 |
| TB | Yandy Díaz | batter / DH | better | predicted_H 1.65 |
| TB | Jorge Mateo | batter / 2B | worse | predicted_AB 1.417 |
| NYM | Nick Morabito | batter / LF | better | predicted_AB 1.25 |
| TB | Junior Caminero | batter / 3B | better | predicted_AB -1.25 |
| TB | Victor Mesa Jr. | batter / RF | worse | predicted_SO 1.184 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| 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_PITCHER_DUPLICATION | TB pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | TB |
| info | CURRENT_FINALIZED_MATCH_BOX | NYM model-prediction batting totals differ from final simulation box score (AB: current=36, sim=35; H: current=7, sim=8; HR: current=1, sim=3; RBI: current=3, sim=5; R: current=3, sim=5; SO: current=10, sim=8). | NYM |
| info | CURRENT_PLAYER_MATCH_BOX | NYM current finalized hitter lines are model predictions and differ from the simulation box score: Juan Soto: HR current=1 box=0; Carson Benge: SO current=1 box=0; Brett Baty: AB current=3 box=2, BB current=0 box=2, SO current=1 box=0; Francisco Lindor: H current=1 box=0, R current=1 box=0, BB current=1 box=0, SO current=1 box=2; A.J. Ewing: BB current=1 box=0, SO current=1 box=2; Nick Morabito: AB current=3 box=4, H current=0 box=1, HR current=0 box=1, RBI current=0 box=1; Jared Young: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Francisco Alvarez: RBI current=1 box=0, R current=0 box=1 | NYM |
| info | CURRENT_FINALIZED_MATCH_BOX | TB model-prediction batting totals differ from final simulation box score (AB: current=31, sim=34; H: current=9, sim=10; 3B: current=0, sim=1; HR: current=1, sim=2; RBI: current=4, sim=6; R: current=5, sim=6; BB: current=3, sim=5; HBP: current=0, sim=1). | TB |
| info | CURRENT_PLAYER_MATCH_BOX | TB current finalized hitter lines are model predictions and differ from the simulation box score: Ryan Vilade: AB current=3 box=5, HR current=0 box=1, RBI current=1 box=2, R current=0 box=1; Jorge Mateo: AB current=3 box=4; Jonny DeLuca: AB current=3 box=4, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Junior Caminero: AB current=4 box=3, SO current=1 box=0, HBP current=0 box=1; Yandy Díaz: AB current=5 box=4, H current=1 box=3, RBI current=1 box=2, SO current=1 box=0; Nick Fortes: 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1, BB current=0 box=1; Chandler Simpson: AB current=4 box=3, H current=1 box=2, R current=0 box=1, BB current=0 box=1; Victor Mesa Jr.: AB current=3 box=4, H current=1 box=0, SO current=1 box=2 | TB |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
No large single-factor errors.
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| NYY | Gerrit Cole | 1 ER / 18 outs | 3 ER / 16 outs | 2 |
| LAA | Grayson Rodriguez | 3 ER / 15 outs | 4 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: Gerrit Cole (NYY) posted 5.06 ERA vs projected 1.50 (3 ER in 16 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
Gerrit Cole (NYY) threw 16 outs, 3 ER = 5.06 ERA against a projected 1.5 ERA (3.56 ERA error)
Bullpen behind him: 0 ER over 8 outs.
The HOME lineup he faced produced 3 runs on 9 hits and 0 HR, against a projected 3 runs / 7 hits (0 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
Grayson Rodriguez (LAA) threw 18 outs, 4 ER = 6 ERA against a projected 5.4 ERA (0.6 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The AWAY lineup he faced produced 7 runs on 14 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)
| Team | Pitcher | Outs | ERA | ER | H | HR | BB | SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|
| NYY | Gerrit Cole (Starter) | 16 / 18 | 5.06 / 1.5 (+3.56) | 3 / 1 | 8 / 9 | 0 / 1 | 1 / 0 | 5 / 6 | venue away: 3.04 vs 3.35 ERA (ok) · opp run factor 0.98 (weak) · 17 prior appearances this season |
| NYY | Brent Headrick (Setup Man) | 4 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | |
| NYY | Paul Blackburn (Middle Reliever (High Leverage)) | 4 / 3 | 0 / 18 (-18.00) | 0 / 2 | 1 / 1 | 0 / 0 | 0 / 4 | 2 / 0 | |
| LAA | Grayson Rodriguez (Starter) | 18 / 15 | 6 / 5.4 | 4 / 3 | 7 / 4 | 2 / 0 | 2 / 3 | 7 / 8 | venue home: 7.78 vs 3.9 ERA (worse here) · opp run factor 1.01 (average) · 15 prior appearances this season |
Hitters: actual / projected (sorted by run impact vs projection)
| Team | Batter | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| NYY | Spencer Jones (RF) | 3 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 3 / 1 | 2 / 0 | 2 / 0 | 1 / 1 | 2.06 | 0.329 above average | projection too low |
| NYY | Jazz Chisholm Jr. (2B) | 5 / 3 | 3 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 2 / 1 | 0 / 0 | 2 / 1 | 1.87 | 0.294 below average | good day |
| NYY | Ben Rice (DH) | 5 / 5 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 0 / 1 | 3 / 1 | -1.26 | 0.378 elite | bad day |
| LAA | Mike Trout (CF) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 2 / 1 | -0.8 | 0.376 elite | bad day |
| NYY | Luis García Jr. (1B) | 5 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 1 | 0.78 | 0.348 elite | projection too low |
| LAA | Vaughn Grissom (1B) | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 2 / 1 | -0.78 | 0.316 average | no signal |
| NYY | Ryan McMahon (3B) | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 1 | 0.66 | 0.308 average | no signal |
| LAA | Christian Moore (2B) | 4 / 4 | 1 / 1 | 0 / 0 | 1 / 0 | 0 / 0 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0.62 | 0.238 weak | good day |
| LAA | Wade Meckler (LF) | 4 / 3 | 3 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 0 / 1 | 0 / 1 | 0.61 | 0.312 average | no signal |
| LAA | Zach Neto (SS) | 4 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 0 / 1 | 1 / 1 | -0.48 | 0.305 average | — |
| NYY | José Caballero (SS) | 5 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 3 / 1 | -0.47 | 0.28 weak | — |
| LAA | Tyler Heineman (C) | 3 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0.47 | 0.243 weak | — |
| LAA | Josh Lowe (RF) | 1 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0.33 | 0.29 below average | — |
| NYY | Cody Bellinger (LF) | 5 / 4 | 3 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 1 | 0 / 1 | 1 / 0 | 0.3 | 0.342 elite | — |
| NYY | Trent Grisham (CF) | 5 / 4 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0 / 1 | 2 / 1 | 0.14 | 0.337 above average | — |
| NYY | Austin Wells (C) | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.291 below average | — |
| LAA | Moisés Ballesteros (DH) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | 0 | 0.291 below average | — |
| LAA | Oswald Peraza (3B) | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.271 weak | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -1.225 | positive favors home; negative favors away |
| Recent form | -0.49 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.034 | positive favors home; negative favors away |
| Composite | -1.232 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.3-2.98 | n/a | Base ML historical model prediction |
| variance_applied | 4-3 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-4 | 0.54 | 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.3-2.98 | 4-3 | -0.324 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-3 | 5-4 | -0 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 5-4 | 6-4 | 1 | 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 |
|---|---|---|---|---|
| NYY | Gerrit Cole | pitcher / Starter | better | predicted_SO 3 |
| NYY | Trent Grisham | batter / CF | worse | predicted_AB -2.3 |
| NYY | Ben Rice | batter / DH | better | predicted_RBI 2.21 |
| NYY | José Caballero | batter / SS | worse | predicted_SO 2.143 |
| LAA | Moisés Ballesteros | batter / DH | better | predicted_H 2.14 |
| NYY | Spencer Jones | batter / RF | better | predicted_AB 2.081 |
| LAA | Josh Lowe | batter / RF | worse | predicted_AB 2.034 |
| NYY | Brent Headrick | pitcher / Setup Man | worse | predicted_SO -2 |
| 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 | 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 | LAA model-prediction batting totals differ from final simulation box score (AB: current=32, sim=38; H: current=7, sim=11; R: current=3, sim=4; BB: current=3, sim=6; SO: current=9, sim=6). | LAA |
| info | CURRENT_PLAYER_MATCH_BOX | LAA current finalized hitter lines are model predictions and differ from the simulation box score: Vaughn Grissom: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, BB current=0 box=1; Wade Meckler: AB current=3 box=4, H current=1 box=2, SO current=1 box=0; Moisés Ballesteros: AB current=4 box=5, H current=1 box=3, HR current=0 box=1, RBI current=0 box=2; Josh Lowe: AB current=3 box=5, H current=0 box=2, RBI current=0 box=1, R current=0 box=1; Oswald Peraza: AB current=3 box=5, H current=1 box=0, SO current=1 box=3; Mike Trout: AB current=4 box=3, 2B current=0 box=1, RBI current=1 box=0, R current=1 box=0; Christian Moore: R current=0 box=1, BB current=0 box=1, SO current=1 box=0; Zach Neto: HR current=1 box=0, RBI current=1 box=0, R current=1 box=0 | LAA |
| info | CURRENT_FINALIZED_MATCH_BOX | NYY model-prediction batting totals differ from final simulation box score (AB: current=32, sim=33; H: current=8, sim=6; 2B: current=1, sim=2; RBI: current=5, sim=6; R: current=5, sim=6; BB: current=3, sim=7; SO: current=8, sim=13). | NYY |
| info | CURRENT_PLAYER_MATCH_BOX | NYY current finalized hitter lines are model predictions and differ from the simulation box score: Spencer Jones: AB current=3 box=5, H current=1 box=2, 2B current=0 box=2, RBI current=1 box=0; Cody Bellinger: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Jazz Chisholm Jr.: H current=1 box=0, R current=1 box=0, BB current=0 box=1, SO current=1 box=2; Ben Rice: H current=1 box=2, RBI current=1 box=3, BB current=1 box=0, SO current=1 box=3; Luis García Jr.: AB current=4 box=5, RBI current=1 box=2, SO current=1 box=2; Ryan McMahon: RBI current=0 box=1, R current=0 box=1, BB current=0 box=1; Trent Grisham: AB current=4 box=2, BB current=1 box=2; Austin Wells: H current=1 box=0, RBI current=1 box=0, BB current=0 box=1 | NYY |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| OAK | Brady Basso | 4 ER / 13 outs | 2 ER / 7 outs | -2 |
| TEX | MacKenzie Gore | 3 ER / 16 outs | 1 ER / 16 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: MacKenzie Gore (TEX) posted 1.69 ERA vs projected 5.06 (1 ER in 16 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
Brady Basso (OAK) threw 7 outs, 2 ER = 7.71 ERA against a projected 8.31 ERA (-0.6 ERA error)
Bullpen behind him: 1 ER over 3 outs.
The HOME lineup he faced produced 7 runs on 11 hits and 0 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
HOME pitching
MacKenzie Gore (TEX) threw 16 outs, 1 ER = 1.69 ERA against a projected 5.06 ERA (-3.37 ERA error)
Bullpen behind him: 0 ER over 4 outs.
The AWAY lineup he faced produced 3 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
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)
| Team | Pitcher | Outs | ERA | ER | H | HR | BB | SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|
| OAK | Brady Basso (Starter) | 7 / 13 | 7.71 / 8.31 | 2 / 4 | 4 / 5 | 0 / 0 | 0 / 0 | 2 / 4 | opp run factor 0.98 (weak) · 20 prior appearances this season |
| OAK | Luis Medina (Middle Reliever (High Leverage)) | 3 / 5 | 9 / 0 (+9.00) | 1 / 0 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | |
| TEX | MacKenzie Gore (Starter) | 16 / 16 | 1.69 / 5.06 (-3.37) | 1 / 3 | 5 / 3 | 0 / 0 | 4 / 3 | 4 / 4 | venue home: 2.99 vs 5.62 ERA (ok) · opp run factor 0.98 (weak) · 28 prior appearances this season |
| TEX | Jacob Latz (Closer) | 2 / 4 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 2 / 1 | |
| TEX | Chase Silseth (Middle Reliever (High Leverage)) | 2 / 3 | 0 / 9 (-9.00) | 0 / 1 | 0 / 2 | 0 / 0 | 1 / 0 | 2 / 1 |
Hitters: actual / projected (sorted by run impact vs projection)
| Team | Batter | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| TEX | Brandon Nimmo (RF) | 5 / 4 | 4 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 5 / 1 | 0 / 1 | 0 / 0 | 0 / 1 | 1.72 | 0.353 elite | projection too low |
| TEX | Justin Foscue (DH) | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | -1.4 | 0.331 above average | bad day |
| OAK | Jeff McNeil (2B) | 4 / 4 | 2 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 1.09 | 0.307 average | no signal |
| TEX | Corey Seager (SS) | 3 / 4 | 2 / 1 | 2 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 3 / 1 | 1 / 1 | 1 / 1 | 1.09 | 0.351 elite | projection too low |
| TEX | Jake Burger (1B) | 3 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | -0.78 | 0.312 average | no signal |
| TEX | Elias Díaz (C) | 3 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 2 / 1 | 0.64 | 0.278 weak | good day |
| OAK | Zack Gelof (LF) | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 2 / 1 | 2 / 1 | 1 / 1 | -0.6 | 0.316 average | no signal |
| OAK | Tommy White (1B) | 0 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | -0.47 | 0.298 below average | — |
| OAK | Jonah Heim (C) | 5 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0.47 | 0.292 below average | — |
| TEX | Evan Carter (CF) | 3 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | 0.47 | 0.28 weak | — |
| TEX | Ezequiel Duran (2B) | 2 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 2 / 1 | 1 / 1 | -0.45 | 0.306 average | — |
| TEX | Wyatt Langford (LF) | 5 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0 / 1 | 1 / 1 | 0.45 | 0.313 average | — |
| OAK | Henry Bolte (DH) | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 3 / 1 | 0.33 | 0.311 average | — |
| OAK | Lawrence Butler (RF) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -0.33 | 0.324 above average | — |
| OAK | Alika Williams (SS) | 2 / 3 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.31 | 0.245 weak | — |
| OAK | Max Muncy (3B) | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | -0.14 | 0.293 below average | — |
| OAK | Denzel Clarke (CF) | 2 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.2 weak | — |
| TEX | Cody Freeman (3B) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 0 | 0.231 weak | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.941 | positive favors home; negative favors away |
| Recent form | 0.242 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.003 | positive favors home; negative favors away |
| Composite | 0.763 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 3.79-4.83 | 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.549 | 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 | 3.79-4.83 | 4-5 | -0.049 | 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 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 |
|---|---|---|---|---|
| OAK | Zack Gelof | batter / LF | worse | predicted_RBI 1.542 |
| TEX | Justin Foscue | batter / DH | better | predicted_AB 1.5 |
| TEX | Jake Burger | batter / 1B | better | predicted_RBI 1.48 |
| OAK | Henry Bolte | batter / DH | worse | predicted_AB 1.451 |
| OAK | Alika Williams | batter / SS | better | predicted_SO 1.298 |
| TEX | Corey Seager | batter / SS | worse | predicted_H 1.09 |
| OAK | Jonah Heim | batter / C | worse | predicted_AB -1.02 |
| OAK | Tommy White | batter / 1B | worse | predicted_H -0.974 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | OAK pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | OAK |
| info | CURRENT_PITCHER_DUPLICATION | TEX pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | TEX |
| info | CURRENT_FINALIZED_MATCH_BOX | OAK model-prediction batting totals differ from final simulation box score (AB: current=32, sim=34; H: current=8, sim=7; 3B: current=0, sim=1; HR: current=1, sim=0; RBI: current=3, sim=4; BB: current=2, sim=3). | OAK |
| info | CURRENT_PLAYER_MATCH_BOX | OAK current finalized hitter lines are model predictions and differ from the simulation box score: Henry Bolte: AB current=4 box=5, H current=1 box=0, R current=1 box=0; Zack Gelof: H current=1 box=2, HR current=1 box=0, RBI current=1 box=2, BB current=1 box=0; Tommy White: AB current=4 box=3, H current=1 box=0, R current=1 box=0, BB current=0 box=1; Max Muncy: AB current=3 box=4, 3B current=0 box=1; Jonah Heim: AB current=4 box=3, H current=1 box=0, BB current=0 box=1; Alika Williams: AB current=3 box=4, RBI current=0 box=1, R current=0 box=1, SO current=1 box=2; Lawrence Butler: AB current=3 box=4, BB current=1 box=0; Jeff McNeil: RBI current=1 box=0, SO current=1 box=0 | OAK |
| info | CURRENT_FINALIZED_MATCH_BOX | TEX model-prediction batting totals differ from final simulation box score (AB: current=32, sim=30; H: current=8, sim=7; RBI: current=4, sim=5; BB: current=3, sim=1; SO: current=8, sim=4; SF: current=0, sim=1). | TEX |
| info | CURRENT_PLAYER_MATCH_BOX | TEX current finalized hitter lines are model predictions and differ from the simulation box score: Justin Foscue: AB current=3 box=4, 2B current=0 box=1, HR current=1 box=0, RBI current=0 box=1; Ezequiel Duran: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, BB current=1 box=0; Wyatt Langford: R current=1 box=0, BB current=1 box=0, SO current=1 box=0; Brandon Nimmo: 2B current=0 box=1, SO current=1 box=0; Corey Seager: H current=1 box=2, BB current=1 box=0, SO current=1 box=0; Jake Burger: AB current=4 box=3, H current=1 box=2, 2B current=1 box=0, HR current=0 box=1; Cody Freeman: AB current=3 box=2, H current=1 box=0, RBI current=1 box=0, BB current=0 box=1; Elias Díaz: H current=1 box=0, SO current=1 box=0 | TEX |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| PHI | Jesús Luzardo | 1 ER / 20 outs | 1 ER / 20 outs | 0 |
| ARI | Eduardo Rodriguez | 1 ER / 18 outs | 3 ER / 15 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: Eduardo Rodriguez (ARI) posted 5.40 ERA vs projected 1.50 (3 ER in 15 outs); he faced a strong offense (opponent run factor 1.11, bucket average).
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
Jesús Luzardo (PHI) threw 20 outs, 1 ER = 1.35 ERA against a projected 1.35 ERA (0 ERA error)
Bullpen behind him: 0 ER over 4 outs.
The HOME lineup he faced produced 0 runs on 3 hits and 0 HR, against a projected 4 runs / 6 hits (-4 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
Eduardo Rodriguez (ARI) threw 15 outs, 3 ER = 5.4 ERA against a projected 1.5 ERA (3.9 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The AWAY lineup he faced produced 6 runs on 12 hits and 0 HR, against a projected 4 runs / 9 hits (2 runs vs projection).
Who did the damage to him:
Verdict: both: the starter was hit hard AND the lineup underproduced
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)
| Team | Pitcher | Outs | ERA | ER | H | HR | BB | SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|
| PHI | Jesús Luzardo (Starter) | 20 / 20 | 1.35 / 1.35 | 1 / 1 | 6 / 5 | 1 / 0 | 1 / 4 | 6 / 9 | venue away: 1.79 vs 4.52 ERA (ok) · opp run factor 1.02 (average) · 27 prior appearances this season |
| PHI | Jonathan Bowlan (Setup Man) | 4 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 2 | |
| ARI | Eduardo Rodriguez (Starter) | 15 / 18 | 5.4 / 1.5 (+3.90) | 3 / 1 | 8 / 5 | 0 / 1 | 3 / 1 | 3 / 4 | venue home: 2.47 vs 2.54 ERA (ok) · opp run factor 1.11 (average) · 27 prior appearances this season |
Hitters: actual / projected (sorted by run impact vs projection)
| Team | Batter | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| PHI | Kyle Schwarber (DH) | 3 / 5 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 1 | 1 / 1 | 2 / 1 | -1.4 | 0.365 elite | bad day |
| ARI | Corbin Carroll (RF) | 4 / 5 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 3 / 1 | -1.4 | 0.342 elite | bad day |
| PHI | Alec Bohm (1B) | 4 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 0 | 1 / 0 | 2 / 1 | 1.11 | 0.323 above average | projection too low |
| ARI | Gabriel Moreno (C) | 4 / 5 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -1.11 | 0.366 elite | bad day |
| PHI | Bryce Harper (RF) | 4 / 4 | 4 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 1 / 1 | 0 / 1 | 1.1 | 0.393 elite | projection too low |
| PHI | Luis Arraez (2B) | 4 / 5 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0.8 | 0.307 average | no signal |
| ARI | Geraldo Perdomo (SS) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | -0.8 | 0.327 above average | bad day |
| PHI | Bryson Stott (3B) | 3 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 1 | 0 / 1 | -0.78 | 0.327 above average | bad day |
| ARI | Nolan Arenado (3B) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | -0.47 | 0.282 weak | — |
| ARI | Tim Tawa (1B) | 4 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0.47 | 0.304 below average | — |
| ARI | Ketel Marte (DH) | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | -0.33 | 0.349 elite | — |
| ARI | Ryan Waldschmidt (LF) | 2 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 0.33 | 0.304 below average | — |
| PHI | Trea Turner (SS) | 5 / 5 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 0 / 0 | 0 / 1 | 0.31 | 0.294 below average | — |
| PHI | Edmundo Sosa (LF) | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.333 above average | — |
| PHI | J.T. Realmuto (C) | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 0 | 1 / 1 | 0 | 0.323 above average | — |
| PHI | Derek Hill (CF) | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.282 weak | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.393 | positive favors home; negative favors away |
| Recent form | -0.648 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.086 | positive favors home; negative favors away |
| Composite | -0.746 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.98-3.78 | n/a | Base ML historical model prediction |
| variance_applied | 5-4 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-3 | 0.56 | 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-3 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-3 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-3 | n/a | Capped at max 12 realistic runs |
| simulation_result | 4-3 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.98-3.78 | 5-4 | -0.199 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-4 | 4-3 | -0 | 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-3 | 4-3 | -0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-3 | 4-3 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-3 | 4-3 | -0 | Capped at max 12 realistic runs |
| simulation_result | 4-3 | 4-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 |
|---|---|---|---|---|
| ARI | Ketel Marte | batter / DH | worse | predicted_SO 2.339 |
| ARI | Ryan Waldschmidt | batter / LF | deboosted | predicted_H 2.129 |
| PHI | Jesús Luzardo | pitcher / Starter | neutral | predicted_SO 2 |
| ARI | Jordan Lawlar | batter / CF | worse | predicted_2B 1.895 |
| ARI | Ildemaro Vargas | batter / 2B | worse | predicted_SO 1.617 |
| PHI | Derek Hill | batter / CF | worse | predicted_AB 1.5 |
| ARI | Geraldo Perdomo | batter / SS | worse | predicted_SO 1.463 |
| ARI | Gabriel Moreno | batter / C | worse | predicted_SO 1.37 |
| 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 | PHI pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | PHI |
| info | CURRENT_FINALIZED_MATCH_BOX | ARI model-prediction batting totals differ from final simulation box score (2B: current=1, sim=3; HR: current=1, sim=0; RBI: current=4, sim=3; R: current=4, sim=3; BB: current=3, sim=5; SO: current=7, sim=12; HBP: current=0, sim=1). | ARI |
| info | CURRENT_PLAYER_MATCH_BOX | ARI current finalized hitter lines are model predictions and differ from the simulation box score: Ketel Marte: RBI current=1 box=0, R current=1 box=0, SO current=1 box=3; Gabriel Moreno: AB current=5 box=4, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Ildemaro Vargas: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, SO current=0 box=2; Corbin Carroll: AB current=5 box=4, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Nolan Arenado: H current=1 box=0, R current=1 box=0, BB current=0 box=1, SO current=1 box=2; Ryan Waldschmidt: AB current=3 box=4, H current=1 box=3, RBI current=0 box=1, R current=0 box=1; Geraldo Perdomo: AB current=4 box=5, H current=1 box=0, BB current=1 box=0, SO current=0 box=2; Jordan Lawlar: AB current=3 box=4, H current=1 box=2, 2B current=0 box=2, RBI current=0 box=1 | ARI |
| info | CURRENT_FINALIZED_MATCH_BOX | PHI model-prediction batting totals differ from final simulation box score (AB: current=37, sim=36; 2B: current=2, sim=3; HR: current=1, sim=2; RBI: current=6, sim=4; BB: current=3, sim=2; SO: current=9, sim=4; HBP: current=0, sim=1). | PHI |
| info | CURRENT_PLAYER_MATCH_BOX | PHI current finalized hitter lines are model predictions and differ from the simulation box score: Bryce Harper: H current=1 box=2, 2B current=1 box=0, HR current=0 box=1, BB current=1 box=0; Alec Bohm: 2B current=0 box=1, R current=0 box=1; Trea Turner: AB current=5 box=4, H current=1 box=0, R current=1 box=0, BB current=0 box=1; Bryson Stott: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, SO current=1 box=0; Kyle Schwarber: BB current=1 box=0; Luis Arraez: AB current=5 box=4, H current=1 box=2, 2B current=0 box=1, RBI current=0 box=1; Edmundo Sosa: AB current=3 box=4, RBI current=1 box=0, SO current=1 box=0; J.T. Realmuto: H current=1 box=2, 2B current=0 box=1, RBI current=1 box=0, R current=1 box=0 | PHI |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| SD | Randy Vásquez | 3 ER / 15 outs | 2 ER / 14 outs | -1 |
| CIN | Nick Lodolo | 6 ER / 12 outs | 2 ER / 18 outs | -4 |
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 3.00 ERA vs projected 13.50 (2 ER in 18 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
Randy Vásquez (SD) threw 14 outs, 2 ER = 3.86 ERA against a projected 5.4 ERA (-1.54 ERA error)
Bullpen behind him: 2 ER over 9 outs.
The HOME lineup he faced produced 4 runs on 8 hits and 0 HR, against a projected 5 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
Nick Lodolo (CIN) threw 18 outs, 2 ER = 3 ERA against a projected 13.5 ERA (-10.5 ERA error)
Bullpen behind him: 1 ER over 9 outs.
The AWAY lineup he faced produced 3 runs on 7 hits and 2 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
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)
| Team | Pitcher | Outs | ERA | ER | H | HR | BB | SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|
| SD | Randy Vásquez (Starter) | 14 / 15 | 3.86 / 5.4 | 2 / 3 | 5 / 2 | 0 / 0 | 1 / 0 | 3 / 5 | venue away: 3.44 vs 4.13 ERA (ok) · opp run factor 1.09 (weak) · 26 prior appearances this season |
| SD | Adrian Morejon (Setup Man) | 2 / 4 | 27 / 0 (+27.00) | 2 / 0 | 2 / 0 | 0 / 0 | 2 / 2 | 0 / 0 | |
| SD | Bradgley Rodriguez (Middle Reliever (High Leverage)) | 4 / 3 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 1 | 2 / 0 | |
| SD | Yuki Matsui (Middle Reliever (High Leverage)) | 3 / 2 | 0 / 13.5 (-13.50) | 0 / 1 | 0 / 3 | 0 / 0 | 1 / 0 | 2 / 2 | |
| CIN | Nick Lodolo (Starter) | 18 / 12 | 3 / 13.5 (-10.50) | 2 / 6 | 5 / 6 | 1 / 1 | 2 / 2 | 5 / 2 | venue home: 4.7 vs 6 ERA (ok) · opp run factor 1.01 (average) · 16 prior appearances this season |
| CIN | Brock Burke (Middle Reliever (High Leverage)) | 3 / 3 | 0 / 9 (-9.00) | 0 / 1 | 1 / 0 | 0 / 0 | 1 / 3 | 2 / 3 | |
| CIN | Emilio Pagán (Closer) | 3 / 3 | 9 / 0 (+9.00) | 1 / 0 | 1 / 1 | 1 / 0 | 0 / 0 | 1 / 2 | |
| CIN | Luis Mey (Middle Reliever) | 3 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 1 |
Hitters: actual / projected (sorted by run impact vs projection)
| Team | Batter | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| SD | Fernando Tatis Jr. (2B) | 5 / 4 | 2 / 1 | 0 / 1 | 0 / 0 | 2 / 0 | 2 / 0 | 2 / 1 | 0 / 0 | 1 / 1 | 2.02 | 0.374 elite | projection too low |
| SD | Jase Bowen (RF) | 3 / 3 | 1 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 1.09 | 0.265 weak | good day |
| CIN | Sal Stewart (1B) | 4 / 5 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | -0.79 | 0.351 elite | bad day |
| CIN | Héctor Rodríguez (RF) | 4 / 3 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 0 / 0 | 2 / 1 | 0.78 | 0.275 weak | good day |
| SD | Samad Taylor (LF) | 4 / 3 | 2 / 1 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 1 / 1 | 0.76 | 0.309 average | no signal |
| CIN | Edwin Arroyo (3B) | 2 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 0 / 1 | 0.64 | 0.291 below average | good day |
| SD | Austin Hays (DH) | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.27 weak | — |
| SD | Manny Machado (3B) | 2 / 5 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 1 / 1 | 1 / 1 | -0.47 | 0.333 above average | — |
| SD | Ty France (1B) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.331 above average | — |
| SD | Freddy Fermin (C) | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | -0.47 | 0.273 weak | — |
| CIN | JJ Bleday (LF) | 4 / 5 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 1 | 1 / 1 | -0.33 | 0.349 elite | — |
| CIN | Elly De La Cruz (DH) | 3 / 5 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 1 | 1 / 1 | -0.31 | 0.364 elite | — |
| SD | Jackson Merrill (CF) | 4 / 5 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | -0.15 | 0.336 above average | — |
| SD | Xander Bogaerts (SS) | 2 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 2 / 1 | 0 / 1 | -0.14 | 0.321 above average | — |
| CIN | Matt McLain (SS) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 1 / 1 | -0.14 | 0.307 average | — |
| CIN | TJ Friedl (CF) | 1 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | -0.14 | 0.248 weak | — |
| CIN | Juan Brito (2B) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | 0 | 0.242 weak | — |
| CIN | Jose Trevino (C) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.222 weak | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.843 | positive favors home; negative favors away |
| Recent form | -0.699 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.076 | positive favors home; negative favors away |
| Composite | -1.01 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.46-3.81 | 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.6 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 7-4 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 7-4 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 7-4 | n/a | Capped at max 12 realistic runs |
| simulation_result | 7-4 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.46-3.81 | 4-4 | -0.652 | 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 | 7-4 | 1 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 7-4 | 7-4 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 7-4 | 7-4 | -0 | Capped at max 12 realistic runs |
| simulation_result | 7-4 | 7-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 |
|---|---|---|---|---|
| SD | Xander Bogaerts | batter / SS | better | predicted_RBI 3.53 |
| CIN | Héctor Rodríguez | batter / RF | better | predicted_RBI 2.55 |
| SD | Ty France | batter / 1B | better | predicted_RBI 2.26 |
| SD | Austin Hays | batter / DH | worse | predicted_BB 1.955 |
| CIN | Juan Brito | batter / 2B | worse | predicted_SO 1.867 |
| SD | Samad Taylor | batter / LF | deboosted | predicted_AB 1.704 |
| SD | Jase Bowen | batter / RF | better | predicted_AB 1.5 |
| SD | Jackson Merrill | batter / CF | worse | predicted_H -1.41 |
| 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 | 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 | CIN model pitcher projections differ from final simulation pitching box score (H: current=7, sim=8; BB: current=6, sim=7; HR: current=1, sim=2). | CIN |
| info | CURRENT_FINALIZED_MATCH_BOX | CIN model-prediction batting totals differ from final simulation box score (H: current=8, sim=6; HR: current=1, sim=0; R: current=5, sim=4; SO: current=9, sim=8). | CIN |
| info | CURRENT_PLAYER_MATCH_BOX | CIN current finalized hitter lines are model predictions and differ from the simulation box score: Héctor Rodríguez: AB current=3 box=4, 2B current=0 box=1, RBI current=1 box=3, SO current=1 box=0; Elly De La Cruz: AB current=5 box=3, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Matt McLain: AB current=3 box=4, R current=1 box=0; Juan Brito: AB current=3 box=4, R current=1 box=0, SO current=1 box=3; Jose Trevino: R current=0 box=1, BB current=0 box=1; Edwin Arroyo: AB current=3 box=4, H current=1 box=2, R current=0 box=1, SO current=1 box=2; JJ Bleday: AB current=5 box=4, H current=1 box=0, RBI current=1 box=0, BB current=1 box=0; Sal Stewart: AB current=5 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0 | CIN |
| info | CURRENT_FINALIZED_MATCH_BOX | SD model-prediction batting totals differ from final simulation box score (AB: current=34, sim=35; 2B: current=1, sim=0; 3B: current=0, sim=2; HR: current=1, sim=2; RBI: current=4, sim=7; R: current=4, sim=7; BB: current=3, sim=7; SO: current=8, sim=9). | SD |
| info | CURRENT_PLAYER_MATCH_BOX | SD current finalized hitter lines are model predictions and differ from the simulation box score: Fernando Tatis Jr.: H current=1 box=0, 2B current=1 box=0, R current=1 box=0, BB current=0 box=1; Jackson Merrill: AB current=5 box=4, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Samad Taylor: AB current=3 box=5, H current=1 box=2, 3B current=0 box=1, BB current=1 box=0; Austin Hays: AB current=3 box=2, H current=1 box=0, R current=0 box=1, BB current=0 box=2; Manny Machado: AB current=5 box=4, RBI current=1 box=0; Ty France: H current=1 box=2, 3B current=0 box=1, HR current=0 box=1, RBI current=1 box=3; Jase Bowen: AB current=3 box=4, H current=0 box=1, R current=0 box=1, SO current=1 box=2; Xander Bogaerts: HR current=0 box=1, RBI current=1 box=4, R current=0 box=1, SO current=1 box=0 | SD |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| SEA | Bryan Woo | 1 ER / 17 outs | 1 ER / 18 outs | 0 |
| BOS | Jedixson Paez | 2 ER / 9 outs | 8 ER / 11 outs | 6 |
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: Jedixson Paez (BOS) posted 19.64 ERA vs projected 6.00 (8 ER in 11 outs). Thin prior record (3 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
Bryan Woo (SEA) threw 18 outs, 1 ER = 1.5 ERA against a projected 1.59 ERA (-0.09 ERA error)
Bullpen behind him: 0 ER over 4 outs.
The HOME lineup he faced produced 5 runs on 9 hits and 1 HR, against a projected 5 runs / 8 hits (0 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
Jedixson Paez (BOS) threw 11 outs, 8 ER = 19.64 ERA against a projected 6 ERA (13.64 ERA error) only 3 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 9 runs on 14 hits and 3 HR, against a projected 5 runs / 7 hits (4 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)
| Team | Pitcher | Outs | ERA | ER | H | HR | BB | SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|
| SEA | Bryan Woo (Starter) | 18 / 17 | 1.5 / 1.59 | 1 / 1 | 5 / 3 | 1 / 0 | 1 / 2 | 7 / 5 | venue away: 5.96 vs 2.63 ERA (worse here) · opp run factor 0.99 (average) · 25 prior appearances this season |
| SEA | José A. Ferrer (Setup Man) | 4 / 3 | 0 / 36 (-36.00) | 0 / 4 | 2 / 4 | 0 / 2 | 0 / 0 | 1 / 0 | |
| BOS | Jedixson Paez (Starter) | 11 / 9 | 19.64 / 6 (+13.64) | 8 / 2 | 10 / 6 | 2 / 1 | 2 / 2 | 3 / 2 | opp run factor 1 (weak) · thin sample: 3 prior appearances this season (high uncertainty) |
| BOS | Greg Weissert (Middle Reliever (High Leverage)) | 3 / 2 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 0 | 1 / 1 |
Hitters: actual / projected (sorted by run impact vs projection)
| Team | Batter | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| SEA | Lazaro Montes (DH) | 4 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 2 / 1 | 1 / 0 | 1 / 1 | 1.73 | 0.27 weak | good day |
| SEA | Brock Rodden (3B) | 3 / 3 | 2 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 2 / 0 | 1 / 1 | 1.6 | 0.231 weak | good day |
| SEA | Cole Young (2B) | 4 / 4 | 2 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 0 | 1 / 1 | 1.27 | 0.316 average | no signal |
| SEA | Cal Raleigh (C) | 5 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -0.95 | 0.315 average | no signal |
| SEA | Dominic Canzone (RF) | 5 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 0 | 0 / 0 | 1 / 1 | 0.93 | 0.356 elite | projection too low |
| SEA | Josh Naylor (1B) | 5 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 0 | 0 / 0 | 0.78 | 0.313 average | no signal |
| SEA | J.P. Crawford (SS) | 3 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0.78 | 0.327 above average | projection too low |
| BOS | Trevor Story (SS) | 4 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0.78 | 0.251 weak | good day |
| BOS | Nick Sogard (2B) | 3 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | -0.64 | 0.327 above average | bad day |
| BOS | Wilyer Abreu (DH) | 5 / 4 | 2 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 1 / 1 | 0.47 | 0.347 elite | — |
| BOS | Ceddanne Rafaela (CF) | 3 / 5 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.282 weak | — |
| SEA | Julio Rodríguez (CF) | 5 / 5 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 0 | 1 / 1 | 0.31 | 0.336 above average | — |
| SEA | Randy Arozarena (LF) | 5 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | 3 / 1 | 1 / 1 | 0 / 1 | 2 / 1 | 0.29 | 0.349 elite | — |
| BOS | Roman Anthony (RF) | 5 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 1 / 1 | 0.14 | 0.361 elite | — |
| BOS | Connor Wong (C) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 1 | -0.14 | 0.286 below average | — |
| BOS | Mickey Gasper (1B) | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 2 / 1 | 1 / 1 | 1 / 0 | 0 | 0.372 elite | — |
| BOS | Caleb Durbin (3B) | 4 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | 0 | 0.288 below average | — |
| BOS | Jarren Duran (LF) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.296 below average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.954 | positive favors home; negative favors away |
| Recent form | 0.551 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.005 | positive favors home; negative favors away |
| Composite | 1.01 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 6.19-0.95 | n/a | Base ML historical model prediction |
| variance_applied | 6-1 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 3-5 | 0.53 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by winner_starter_is_below_average, starter_quality_favours_the_other_side, matchup_recency_guardrail, season_quality_guardrail) |
| embedded_savant_run_environment | 3-5 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 3-5 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 3-5 | n/a | Capped at max 12 realistic runs |
| simulation_result | 3-5 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 6.19-0.95 | 6-1 | 0.239 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 6-1 | 3-5 | 7 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by winner_starter_is_below_average, starter_quality_favours_the_other_side, matchup_recency_guardrail, season_quality_guardrail) |
| embedded_savant_run_environment | 3-5 | 3-5 | 0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 3-5 | 3-5 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 3-5 | 3-5 | 0 | Capped at max 12 realistic runs |
| simulation_result | 3-5 | 3-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 |
|---|---|---|---|---|
| SEA | Lazaro Montes | batter / DH | better | predicted_RBI 2.554 |
| SEA | Cal Raleigh | batter / C | worse | predicted_AB -2.45 |
| SEA | Bryan Woo | pitcher / Starter | neutral | predicted_SO 2 |
| SEA | Dominic Canzone | batter / RF | worse | predicted_AB 1.833 |
| BOS | Caleb Durbin | batter / 3B | boosted | predicted_RBI 1.63 |
| BOS | Mickey Gasper | batter / 1B | better | predicted_RBI 1.556 |
| SEA | Randy Arozarena | batter / LF | worse | predicted_H -1.33 |
| SEA | Josh Naylor | batter / 1B | worse | predicted_AB -1.23 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | BOS pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | BOS |
| 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 | BOS model-prediction batting totals differ from final simulation box score (AB: current=34, sim=36; H: current=8, sim=9; 2B: current=2, sim=3; HR: current=1, sim=2; RBI: current=4, sim=5; SO: current=8, sim=6). | BOS |
| info | CURRENT_PLAYER_MATCH_BOX | BOS current finalized hitter lines are model predictions and differ from the simulation box score: Roman Anthony: H current=1 box=0, R current=1 box=0, SO current=1 box=0; Mickey Gasper: AB current=3 box=4, RBI current=1 box=2, SO current=0 box=1; Wilyer Abreu: 2B current=1 box=0, SO current=1 box=2; Nick Sogard: RBI current=0 box=1, BB current=1 box=0, SO current=1 box=0; Caleb Durbin: H current=0 box=2, HR current=0 box=1, RBI current=0 box=2, BB current=0 box=1; Ceddanne Rafaela: 2B current=0 box=1, RBI current=1 box=0, R current=0 box=1, SO current=1 box=0; Jarren Duran: RBI current=1 box=0, SO current=1 box=0; Trevor Story: 2B current=0 box=1, RBI current=1 box=0 | BOS |
| info | CURRENT_FINALIZED_MATCH_BOX | SEA model pitcher projections differ from final simulation pitching box score (H: current=7, sim=9). | SEA |
| info | CURRENT_FINALIZED_MATCH_BOX | SEA model-prediction batting totals differ from final simulation box score (AB: current=34, sim=35; H: current=7, sim=9; RBI: current=4, sim=3; R: current=5, sim=3; SO: current=8, sim=3; SF: 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=3 box=5, H current=1 box=2, 2B current=0 box=1, RBI current=1 box=0; Cal Raleigh: AB current=4 box=2, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Julio Rodríguez: RBI current=1 box=0, R current=1 box=0, SO current=1 box=0; Lazaro Montes: AB current=3 box=4, HR current=0 box=1, RBI current=0 box=3, SO current=1 box=0; Josh Naylor: AB current=4 box=3, BB current=0 box=1; Randy Arozarena: AB current=4 box=5, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Brock Rodden: H current=0 box=1, BB current=0 box=1; Cole Young: H current=0 box=1, R current=1 box=0, SO current=1 box=0 | SEA |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| SF | Logan Webb | 2 ER / 18 outs | 9 ER / 6 outs | 7 |
| PIT | Paul Skenes | 1 ER / 16 outs | 5 ER / 14 outs | 4 |
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: Logan Webb (SF) posted 40.50 ERA vs projected 3.00 (9 ER in 6 outs); he is materially worse pitching away (4.17 ERA there vs 3.39 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
Logan Webb (SF) threw 6 outs, 9 ER = 40.5 ERA against a projected 3 ERA (37.5 ERA error)
Bullpen behind him: 0 ER over 3 outs.
The HOME lineup he faced produced 13 runs on 19 hits and 1 HR, against a projected 4 runs / 8 hits (9 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
Paul Skenes (PIT) threw 14 outs, 5 ER = 9.64 ERA against a projected 1.69 ERA (7.95 ERA error)
Bullpen behind him: 2 ER over 7 outs.
The AWAY lineup he faced produced 10 runs on 13 hits and 1 HR, against a projected 3 runs / 6 hits (7 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)
| Team | Pitcher | Outs | ERA | ER | H | HR | BB | SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|
| SF | Logan Webb (Starter) | 6 / 18 | 40.5 / 3 (+37.50) | 9 / 2 | 9 / 6 | 0 / 0 | 2 / 0 | 1 / 8 | venue away: 4.17 vs 3.39 ERA (worse here) · opp run factor 0.92 (strong) · 24 prior appearances this season |
| SF | Trent Harris (Middle Reliever (High Leverage)) | 3 / 3 | 0 / 18 (-18.00) | 0 / 2 | 1 / 2 | 0 / 2 | 1 / 0 | 2 / 0 | |
| PIT | Paul Skenes (Starter) | 14 / 16 | 9.64 / 1.69 (+7.95) | 5 / 1 | 8 / 2 | 1 / 0 | 3 / 0 | 4 / 6 | venue home: 3.59 vs 4.01 ERA (ok) · opp run factor 1.1 (weak) · 27 prior appearances this season |
| PIT | Gregory Soto (Middle Reliever (High Leverage)) | 2 / 4 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | |
| PIT | Luke Weaver (Setup Man) | 2 / 3 | 27 / 9 (+18.00) | 2 / 1 | 2 / 1 | 0 / 0 | 1 / 0 | 0 / 1 | |
| PIT | Mason Montgomery (Closer) | 3 / 4 | 0 / 20.25 (-20.25) | 0 / 3 | 2 / 3 | 0 / 1 | 0 / 1 | 0 / 1 |
Hitters: actual / projected (sorted by run impact vs projection)
| Team | Batter | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| PIT | Brandon Lowe (2B) | 6 / 4 | 4 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 3 / 1 | 0 / 0 | 0 / 1 | 2.34 | 0.322 above average | projection too low |
| SF | Drew Cavanaugh (C) | 5 / 3 | 3 / 0 | 2 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | 2.03 | 0.324 above average | projection too low |
| PIT | Jacob Gonzalez (SS) | 2 / 3 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | 0 / 1 | 1.11 | 0.306 average | no signal |
| PIT | Nick Gonzales (DH) | 5 / 4 | 3 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 0.94 | 0.327 above average | projection too low |
| PIT | Henry Davis (C) | 3 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 1 / 0 | 1 / 0 | 1 / 1 | 0.8 | 0.286 below average | good day |
| SF | Turner Hill (LF) | 5 / 3 | 4 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 2 / 0 | 0 / 1 | 1 / 1 | 0.77 | 0.346 elite | projection too low |
| SF | Osleivis Basabe (2B) | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 2 / 0 | 1 / 1 | 0.66 | 0.283 weak | good day |
| PIT | Bryan Reynolds (LF) | 5 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 3 / 1 | 0 / 1 | 0 / 1 | -0.64 | 0.36 elite | bad day |
| SF | Christian Koss (SS) | 5 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 0 / 0 | 1 / 1 | 0.47 | 0.24 weak | — |
| SF | Shay Whitcomb (3B) | 3 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0.47 | 0.251 weak | — |
| PIT | Spencer Horwitz (1B) | 6 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 1 / 0 | 0 / 0 | 3 / 1 | 0.47 | 0.312 average | — |
| SF | Rafael Devers (1B) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 3 / 1 | 1 / 1 | 2 / 1 | 1 / 1 | 0.33 | 0.34 elite | — |
| PIT | Esmerlyn Valdez (RF) | 5 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 3 / 1 | -0.33 | 0.331 above average | — |
| PIT | Jared Triolo (3B) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | 0 / 1 | 0.33 | 0.289 below average | — |
| PIT | Oneil Cruz (CF) | 6 / 5 | 4 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 4 / 1 | 1 / 1 | 0 / 1 | 1 / 1 | 0.15 | 0.352 elite | — |
| SF | Jung Hoo Lee (RF) | 5 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 1 / 0 | 0 / 0 | -0.14 | 0.315 average | — |
| SF | Bryce Eldridge (DH) | 4 / 5 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 2 / 1 | 1 / 1 | 0.02 | 0.357 elite | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.44 | positive favors home; negative favors away |
| Recent form | -0.353 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.172 | positive favors home; negative favors away |
| Composite | -0.043 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.28-6.15 | n/a | Base ML historical model prediction |
| variance_applied | 4-6 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-6 | 0.545 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail, season_quality_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 | 4.28-6.15 | 4-6 | 0.128 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-6 | 5-6 | -1 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail, season_quality_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 |
|---|---|---|---|---|
| SF | Turner Hill | batter / LF | worse | predicted_SO 1.583 |
| PIT | Spencer Horwitz | batter / 1B | better | predicted_RBI 1.57 |
| SF | Bryce Eldridge | batter / DH | worse | predicted_H -1.54 |
| PIT | Esmerlyn Valdez | batter / RF | worse | predicted_SO -1.468 |
| SF | Drew Gilbert | batter / CF | boosted | predicted_SO 1.433 |
| SF | Drew Cavanaugh | batter / C | worse | predicted_AB 1.385 |
| SF | Rafael Devers | batter / 1B | better | predicted_RBI 1.36 |
| PIT | Jared Triolo | batter / 3B | better | predicted_SO 1.326 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | PIT pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | PIT |
| 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_FINALIZED_MATCH_BOX | PIT model-prediction batting totals differ from final simulation box score (AB: current=33, sim=36; H: current=8, sim=11; 2B: current=1, sim=3; HR: current=1, sim=2; RBI: current=4, sim=6; R: current=4, sim=6; BB: current=3, sim=1). | PIT |
| info | CURRENT_PLAYER_MATCH_BOX | PIT current finalized hitter lines are model predictions and differ from the simulation box score: Nick Gonzales: H current=1 box=2, 2B current=0 box=1, RBI current=1 box=0, R current=0 box=1; Oneil Cruz: AB current=5 box=4, H current=1 box=2, HR current=1 box=0, BB current=1 box=0; Esmerlyn Valdez: AB current=3 box=4, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Spencer Horwitz: AB current=4 box=5, HR current=0 box=1, RBI current=0 box=2, R current=0 box=1; Jared Triolo: AB current=3 box=4, H current=1 box=2, HR current=0 box=1, RBI current=0 box=1; Brandon Lowe: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Bryan Reynolds: H current=1 box=2, RBI current=0 box=1, BB current=1 box=0, SO current=1 box=0; Henry Davis: AB current=3 box=4, H current=0 box=1, 2B current=0 box=1, RBI current=0 box=1 | PIT |
| info | CURRENT_FINALIZED_MATCH_BOX | SF model-prediction batting totals differ from final simulation box score (AB: current=31, sim=32; H: current=7, sim=6; 3B: current=0, sim=1; R: current=4, sim=5; BB: current=3, sim=1; SF: current=0, sim=1). | SF |
| info | CURRENT_PLAYER_MATCH_BOX | SF current finalized hitter lines are model predictions and differ from the simulation box score: Turner Hill: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, SO current=1 box=2; Bryce Eldridge: AB current=5 box=4, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Osleivis Basabe: AB current=3 box=4, H current=1 box=2, 2B current=0 box=1, RBI current=0 box=1; Jung Hoo Lee: 2B current=0 box=1; Drew Gilbert: AB current=3 box=4, 3B current=0 box=1, SO current=1 box=2; Christian Koss: H current=1 box=0, SO current=1 box=0; Rafael Devers: AB current=4 box=3, RBI current=1 box=2, BB current=1 box=0, SO current=1 box=0; Drew Cavanaugh: AB current=3 box=4, H current=0 box=1, R current=0 box=1, SO current=1 box=2 | SF |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| STL | Michael McGreevy | 3 ER / 17 outs | 4 ER / 15 outs | 1 |
| LAD | Eric Lauer | 5 ER / 16 outs | 7 ER / 9 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: Eric Lauer (LAD) posted 21.00 ERA vs projected 8.44 (7 ER in 9 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
Michael McGreevy (STL) threw 15 outs, 4 ER = 7.2 ERA against a projected 4.76 ERA (2.44 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The HOME lineup he faced produced 7 runs on 8 hits and 0 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
HOME pitching
Eric Lauer (LAD) threw 9 outs, 7 ER = 21 ERA against a projected 8.44 ERA (12.56 ERA error)
Bullpen behind him: 1 ER over 3 outs.
The AWAY lineup he faced produced 13 runs on 12 hits and 5 HR, against a projected 4 runs / 7 hits (9 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)
| Team | Pitcher | Outs | ERA | ER | H | HR | BB | SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|
| STL | Michael McGreevy (Starter) | 15 / 17 | 7.2 / 4.76 | 4 / 3 | 5 / 6 | 0 / 1 | 2 / 1 | 4 / 7 | venue away: 3.66 vs 4.06 ERA (ok) · opp run factor 1.03 (strong) · 26 prior appearances this season |
| LAD | Eric Lauer (Starter) | 9 / 16 | 21 / 8.44 (+12.56) | 7 / 5 | 8 / 6 | 2 / 1 | 1 / 2 | 2 / 2 | venue home: 3.57 vs 6 ERA (ok) · opp run factor 1.03 (average) · 21 prior appearances this season |
| LAD | Alex Vesia (Middle Reliever (High Leverage)) | 3 / 0 | 9 / n/a | 1 / 0 | 1 / 1 | 1 / 0 | 0 / 0 | 1 / 3 |
Hitters: actual / projected (sorted by run impact vs projection)
| Team | Batter | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| STL | Thomas Saggese (SS) | 3 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 2 / 0 | 3 / 0 | 3 / 0 | 1 / 0 | 0 / 1 | 2.66 | 0.311 average | no signal |
| LAD | Mookie Betts (SS) | 3 / 5 | 2 / 1 | 2 / 0 | 0 / 0 | 0 / 0 | 4 / 1 | 1 / 0 | 2 / 0 | 0 / 0 | 1.75 | 0.329 above average | projection too low |
| STL | Ramón Urías (3B) | 2 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 1 | 1 / 0 | 1 / 1 | 1.73 | 0.309 average | no signal |
| STL | Joshua Baez (LF) | 3 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 2 / 0 | 0 / 0 | 1 / 1 | 1.4 | 0.329 above average | projection too low |
| STL | Alec Burleson (1B) | 5 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -1.11 | 0.37 elite | bad day |
| LAD | Tommy Edman (CF) | 5 / 4 | 3 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 0 / 0 | 0 / 1 | 0.94 | 0.316 average | no signal |
| LAD | Shohei Ohtani (DH) | 2 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 2 / 1 | 1 / 1 | 0 / 1 | -0.93 | 0.401 elite | bad day |
| STL | Jordan Walker (RF) | 5 / 5 | 3 / 1 | 1 / 0 | 0 / 0 | 1 / 1 | 2 / 1 | 2 / 1 | 0 / 1 | 2 / 1 | 0.92 | 0.349 elite | projection too low |
| LAD | Freddie Freeman (1B) | 2 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 2 / 1 | -0.78 | 0.374 elite | bad day |
| STL | Iván Herrera (DH) | 4 / 5 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 2 / 1 | 1 / 1 | 2 / 1 | 0.47 | 0.333 above average | — |
| LAD | Max Muncy (3B) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.348 elite | — |
| LAD | Kyle Tucker (RF) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | -0.47 | 0.327 above average | — |
| LAD | Alex Freeland (2B) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 0 / 1 | 0.33 | 0.289 below average | — |
| LAD | Will Smith (C) | 5 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 1 / 0 | 0 / 1 | 0 / 1 | -0.02 | 0.377 elite | — |
| STL | José Fermín (2B) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 | 0.291 below average | — |
| STL | Leonardo Bernal (C) | 5 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 1 / 0 | 0 / 0 | 2 / 1 | 0 | 0.377 elite | — |
| STL | Nathan Church (CF) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 0 | 0.283 weak | — |
| LAD | Teoscar Hernández (LF) | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 2 / 1 | 0 | 0.323 above average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 1.131 | positive favors home; negative favors away |
| Recent form | 0.543 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.006 | positive favors home; negative favors away |
| Composite | 1.132 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.21-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-6 | 0.58 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 5-7 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 5-7 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 5-7 | n/a | Capped at max 12 realistic runs |
| simulation_result | 5-7 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.21-4.42 | 4-4 | -0.205 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-4 | 4-6 | 2 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-6 | 5-7 | 0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 5-7 | 5-7 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 5-7 | 5-7 | 0 | Capped at max 12 realistic runs |
| simulation_result | 5-7 | 5-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 |
|---|---|---|---|---|
| LAD | Tommy Edman | batter / CF | better | predicted_RBI 4.554 |
| STL | Brycen Mautz | pitcher / Reliever | worse | predicted_ER 4 |
| STL | José Fermín | batter / 2B | worse | predicted_RBI 2.638 |
| LAD | Alex Freeland | batter / 2B | boosted | predicted_AB 2.214 |
| LAD | Kyle Tucker | batter / RF | better | predicted_H 2.18 |
| LAD | Max Muncy | batter / 3B | worse | predicted_AB 1.718 |
| LAD | Will Smith | batter / C | worse | predicted_BB 1.58 |
| STL | Thomas Saggese | batter / SS | better | predicted_H 1.393 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| warning | PITCH_COUNT_PITCHER_MATCH | STL pitch_count row for Michael McGreevy differs from pitching box score: batters_faced/BF: summary=24, box=23. | STL Michael McGreevy |
| 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_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 | LAD model-prediction batting totals differ from final simulation box score (AB: current=35, sim=41; H: current=8, sim=12; 2B: current=1, sim=2; RBI: current=4, sim=7; R: current=5, sim=7; SO: current=8, sim=11). | LAD |
| info | CURRENT_PLAYER_MATCH_BOX | LAD current finalized hitter lines are model predictions and differ from the simulation box score: Shohei Ohtani: AB current=4 box=5, HR current=1 box=0, RBI current=1 box=0, BB current=1 box=0; Max Muncy: AB current=3 box=5, R current=0 box=1, SO current=1 box=2; Freddie Freeman: AB current=4 box=5, H current=1 box=0, 2B current=1 box=0, R current=1 box=0; Tommy Edman: AB current=4 box=5, H current=1 box=2, HR current=0 box=1, RBI current=1 box=5; Will Smith: AB current=4 box=3, H current=1 box=2, RBI current=1 box=0, R current=0 box=1; Mookie Betts: H current=1 box=0, RBI current=1 box=0, SO current=0 box=1; Teoscar Hernández: 2B current=0 box=1, BB current=0 box=1; Kyle Tucker: H current=1 box=3, SO current=1 box=0 | LAD |
| info | CURRENT_FINALIZED_MATCH_BOX | STL model-prediction batting totals differ from final simulation box score (AB: current=32, sim=37; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=2; SO: current=8, sim=9). | STL |
| info | CURRENT_PLAYER_MATCH_BOX | STL current finalized hitter lines are model predictions and differ from the simulation box score: José Fermín: AB current=3 box=5, HR current=0 box=1, RBI current=0 box=3, R current=0 box=1; Joshua Baez: RBI current=1 box=0, BB current=0 box=1; Leonardo Bernal: AB current=3 box=4; Ramón Urías: H current=0 box=1, BB current=0 box=1; Thomas Saggese: AB current=3 box=4, H current=1 box=2, RBI current=0 box=1, R current=0 box=1; Alec Burleson: 2B current=1 box=0, BB current=1 box=0; Iván Herrera: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Jordan Walker: 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=0, BB current=1 box=0 | STL |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| TOR | Spencer Miles | 2 ER / 15 outs | 0 ER / 3 outs | -2 |
| CLE | Gavin Williams | 3 ER / 16 outs | 0 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: Gavin Williams (CLE) posted 0.00 ERA vs projected 5.06 (0 ER in 21 outs); he faced a strong offense (opponent run factor 1.06, bucket weak).
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
Spencer Miles (TOR) threw 3 outs, 0 ER = 0 ERA against a projected 3.6 ERA (-3.6 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The HOME lineup he faced produced 4 runs on 7 hits and 2 HR, against a projected 4 runs / 9 hits (0 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
HOME pitching
Gavin Williams (CLE) threw 21 outs, 0 ER = 0 ERA against a projected 5.06 ERA (-5.06 ERA error)
Bullpen behind him: 0 ER over 3 outs.
The AWAY lineup he faced produced 1 runs on 3 hits and 0 HR, against a projected 4 runs / 8 hits (-3 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)
| Team | Pitcher | Outs | ERA | ER | H | HR | BB | SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|
| TOR | Spencer Miles (Starter) | 3 / 15 | 0 / 3.6 (-3.60) | 0 / 2 | 1 / 3 | 0 / 0 | 0 / 3 | 0 / 2 | venue away: 10.29 vs 6 ERA (ok) · opp run factor 0.95 (weak) · 42 prior appearances this season |
| CLE | Gavin Williams (Starter) | 21 / 16 | 0 / 5.06 (-5.06) | 0 / 3 | 2 / 5 | 0 / 1 | 1 / 2 | 13 / 7 | venue home: 3.27 vs 4.79 ERA (ok) · opp run factor 1.06 (weak) · 27 prior appearances this season |
| CLE | Hunter Gaddis (Setup Man) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 |
Hitters: actual / projected (sorted by run impact vs projection)
| Team | Batter | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| TOR | Kazuma Okamoto (3B) | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 0 / 1 | 2 / 1 | -1.26 | 0.319 average | no signal |
| CLE | Patrick Bailey (C) | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 0.93 | 0.309 average | no signal |
| TOR | Brett Bateman (CF) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 2 / 1 | -0.8 | 0.282 weak | projection too high |
| CLE | Angel Martínez (LF) | 3 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 2 / 1 | 3 / 1 | 1 / 0 | 0 / 1 | 0.8 | 0.304 below average | good day |
| TOR | George Springer (DH) | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 2 / 1 | -0.78 | 0.306 average | no signal |
| TOR | Myles Straw (LF) | 2 / 3 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | -0.78 | 0.296 below average | projection too high |
| CLE | Chase DeLauter (DH) | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 2 / 1 | -0.78 | 0.343 elite | bad day |
| CLE | Jo Adell (RF) | 4 / 5 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0.78 | 0.325 above average | projection too low |
| CLE | José Ramírez (3B) | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | -0.64 | 0.335 above average | bad day |
| TOR | Nathan Lukes (RF) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.287 below average | — |
| TOR | Andrés Giménez (SS) | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.269 weak | — |
| CLE | Travis Bazzana (2B) | 1 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | -0.47 | 0.299 below average | — |
| CLE | Brayan Rocchio (SS) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | -0.47 | 0.292 below average | — |
| TOR | Vladimir Guerrero Jr. (1B) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | -0.33 | 0.333 above average | — |
| TOR | Ernie Clement (2B) | 2 / 4 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0.33 | 0.266 weak | — |
| CLE | Steven Kwan (CF) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | -0.33 | 0.321 above average | — |
| CLE | Nathaniel Lowe (1B) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 0 | 1 / 1 | -0.14 | 0.335 above average | — |
| TOR | Alejandro Kirk (C) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 2 / 0 | 0 | 0.302 below average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.416 | positive favors home; negative favors away |
| Recent form | 0.395 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.117 | positive favors home; negative favors away |
| Composite | 0.071 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.64-3.65 | n/a | Base ML historical model prediction |
| variance_applied | 5-4 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-4 | 0.555 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run) |
| embedded_savant_run_environment | 4-4 | 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.64-3.65 | 5-4 | -0.015 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-4 | 5-4 | 0 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run) |
| embedded_savant_run_environment | 5-4 | 4-4 | 1 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-4 | 4-5 | 1 | 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 |
|---|---|---|---|---|
| TOR | Spencer Miles | pitcher / Starter | deboosted | predicted_ER -2 |
| TOR | Ernie Clement | batter / 2B | worse | predicted_RBI 1.87 |
| TOR | Brett Bateman | batter / CF | worse | predicted_RBI 1.55 |
| TOR | Myles Straw | batter / LF | better | predicted_AB 1.5 |
| TOR | Nathan Lukes | batter / RF | worse | predicted_AB 1.24 |
| CLE | Jo Adell | batter / RF | worse | predicted_H -1.24 |
| CLE | Patrick Bailey | batter / C | worse | predicted_SO 1.159 |
| CLE | José Ramírez | batter / 3B | worse | predicted_H -1.06 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| 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_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 | CLE model-prediction batting totals differ from final simulation box score (AB: current=35, sim=32; H: current=9, sim=6; 2B: current=2, sim=0; HR: current=1, sim=0; R: current=4, sim=5; SO: current=7, sim=3; HBP: current=0, sim=1). | CLE |
| info | CURRENT_PLAYER_MATCH_BOX | CLE current finalized hitter lines are model predictions and differ from the simulation box score: Steven Kwan: AB current=4 box=3, H current=1 box=0, RBI current=0 box=1; Chase DeLauter: 2B current=1 box=0, RBI current=0 box=1, SO current=1 box=0; José Ramírez: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, SO current=1 box=0; Jo Adell: AB current=5 box=4, H current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Nathaniel Lowe: RBI current=1 box=0, HBP current=0 box=1; Angel Martínez: HR current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=1 box=0; Travis Bazzana: AB current=4 box=3, H current=1 box=0, SO current=1 box=0; Patrick Bailey: AB current=3 box=4, R current=0 box=1, SO current=1 box=2 | CLE |
| info | CURRENT_FINALIZED_MATCH_BOX | TOR model-prediction batting totals differ from final simulation box score (AB: current=34, sim=38; H: current=8, sim=11; 2B: current=2, sim=3; SO: current=6, sim=10). | TOR |
| info | CURRENT_PLAYER_MATCH_BOX | TOR current finalized hitter lines are model predictions and differ from the simulation box score: Vladimir Guerrero Jr.: R current=1 box=0; Brett Bateman: H current=1 box=2, 2B current=0 box=1, RBI current=0 box=2, SO current=1 box=2; George Springer: AB current=4 box=5, H current=1 box=2, RBI current=1 box=0, SO current=1 box=0; Nathan Lukes: AB current=4 box=5, RBI current=1 box=0; Alejandro Kirk: H current=1 box=2, RBI current=1 box=0, R current=0 box=1, BB current=0 box=1; Myles Straw: AB current=3 box=4, SO current=0 box=1; Kazuma Okamoto: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Andrés Giménez: AB current=3 box=4, SO current=1 box=0 | TOR |
| 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.
> Coverage receipt: COMPLETE · 9/8 sections; 15/15 games; 8/8 causes; 6/6 sources
All seven manifest entries were checked against the supplied evidence:
| Source | Path | Size | Status | Use |
|---|---|---|---|---|
| Prediction review | /app/output/reports/prediction_review_20260901.json | 373,178 bytes | Loaded | Official outcomes and scoring errors |
| Forensic deep audit | /app/output/reports/PREDICTION_SYSTEM_DEEP_AUDIT_20260901.json | 240,806 bytes | Loaded | Probability, provenance, starter, and decision contracts |
| Continuous learning | /app/output/learning/continuous_learning_daily_20260901.json | 1,939,278 bytes | Loaded | Stage quality, calibration, lineage, score distribution, starter comparisons |
| Detailed report | /app/output/reports/detailed_20260901.html | 355,722 bytes | Loaded | Full game and simulation rendering |
| Ultra-detailed player audit | /app/output/reports/20260901_ultra_detailed_player_audit.html | 6,288,497 bytes | Loaded | Player-level prediction trace |
| Structural audit | /app/output/reports/audit_report_20260901.html | 383,197 bytes | Loaded | Invariant findings |
| Integrity revision audit | /app/output/reports/audit_report_20260901_integrity_revision.html | Not supplied | Missing | Post-remediation proof for immutable revision artifacts |
The missing integrity-revision audit is the principal evidence gap. It does not, by itself, prove a prediction error, but it prevents a fully closed artifact-revision audit.
The evidence reports:
The 15 reviewed games were:
ATL@WAS, BAL@COL, CHW@HOU, DET@MIN, MIA@KC, MIL@CHC, NYM@TB, NYY@LAA, OAK@TEX, PHI@ARI, SD@CIN, SEA@BOS, SF@PIT, STL@LAD, and TOR@CLE.
TOR@CLE states that the publication delta has “no recorded transformation.” The delta is published probability 0.555236 versus governed/calibrated probability 0.545, a +0.010236 movement. This is a lineage/contract defect even though it did not change the winner.STL@LAD has a pitch-count mismatch for Michael McGreevy: summary BF 24 versus box-score BF 23.---
The system went 7–8, or 46.67% winner accuracy. The continuous-learning summary reports:
enhanced_prediction stage the worst measured stage.A correct winner is not equivalent to a good prediction. The slate contains several correct winners with large score errors, including SF@PIT and CHW@HOU.
Winner accuracy was poor relative to the model’s historical validation:
BAL@COL, MIL@CHC, SD@CIN, STL@LAD.The main winner-direction problem was not uniformly one thing:
BAL@COL, MIA@KC, SD@CIN, and SEA@BOS.DET@MIN and STL@LAD.ATL@WAS.MIA@KC, MIL@CHC, SD@CIN, and STL@LAD.Calibration was the clearest probability-quality failure.
The low-confidence buckets were underconfident on this sample, while the higher-confidence buckets were severely overconfident. The evidence supports a bounded shadow adjustment, not an immediate permanent recalibration, because the high-bucket sample is only four games and the causal register correctly warns that a single slate is too small to establish a stable calibration curve.
Score accuracy was materially poor and structurally biased toward narrow margins:
DET@MIN: predicted margin 1, actual margin 13.enhanced_prediction stage had the largest team-run regression versus historical ML:The score_margin_compression causal issue is therefore materially supported and has severity high, not critical. The do-not-infer guardrail remains important: one blowout is not enough to widen all scores. Here, however, the distributional evidence spans nine actual margins of at least four and two consecutive slates in the supplied trend record.
Starter projections were a significant source of score and winner error:
SEA@BOS: Jedixson Paez +6 ER over projection.SF@PIT: Logan Webb +7 ER and Paul Skenes +4 ER.MIA@KC: Randy Dobnak +5 ER and Tyler Phillips −4 ER.MIA@KC: Dobnak’s home ERA was 2.945 versus 1.141 on the other side, with a credible venue split.MIL@CHC: Robert Gasser’s away ERA was 5.595 versus 4.05 on the other side, with a credible venue split.The lever-tension record says the pitcher-weight lever “helped” 10 games and hurt none by the supplied attribution, but that is a descriptive slate count, not a causal estimate.
Artifact integrity was mostly sound but not clean:
STL@LAD had status WARNING because of a pitch-count discrepancy.TOR@CLE had an unexplained +0.010236 publication delta.The high-severity artifact_integrity_warning issue is appropriately preserved: the warning is a presentation or contract risk, not proof that the model chose the wrong side.
| Issue | Severity | Evidence and affected games | Action | Guardrail |
|---|---|---|---|---|
| Canonical artifact warning requires reconciliation | High | 1 warning, 108 info; no critical/error. No specific game list. | Fix the flagged stat/presentation contract before considering the slate clean. | Does not prove a wrong-side pick. |
| Published margins compressed | High | 13/15 predicted margins ≤2; 9/15 actual margins ≥4; mean margin 1.67 versus 4.20. Affected games listed as CHW@HOU, DET@MIN, MIL@CHC, NYM@TB, PHI@ARI, STL@LAD, TOR@CLE. | Check rolling-slate tail coverage and margin MAE before widening score spread. | Do not widen every score because of one blowout. |
| Single-slate calibration instability | High | WAC error 0.2476 across all 15 games. | Monitor the same buckets over the rolling window before changing calibration weights. | Fifteen games do not establish a stable calibration curve. |
| Weak run-model signal | High | Home/away/total R² 0.0361/0.0227/0.0280 over 2,062 rows. | Investigate features and target via isolated training backtest. | Positive R² does not make exact scores reliable. |
| High raw-probability cluster | Medium | 0/4 high-raw selections won. | Track across multiple slates; preserve raw→calibrated→published lineage. | Do not create a new bucket-shrinkage rule from one slate. |
| Complete slate audit coverage | Info | 15/15 structurally audited. | Keep per-game audit receipts. | Coverage does not cancel internal findings. |
| Publication delta explained | Info | 9 material movements had named transformations. | Continue displaying every layer and transformation. | Published > calibrated is not a bypass when explained. |
| Simulation inert on slate | Info for current slate; escalated across slates | 0 flip candidates and 0 published flips. | Measure simulation contribution over rolling slates. | No winner flips does not prove no score reconciliation occurred. |
---
Probabilities below are published probability for the selected/predicted side. The signed confidence edge is home probability − away probability; therefore negative values indicate an away selection.
predicted score is 6–5, indicating a stored score-path versus published-score inconsistency that should be reconciled.context.venue_adjustment_weight in shadow testing.---
A later recovery cannot erase an intermediate regression. The stage audit must therefore distinguish final outcome from path quality.
WAS → TIE after variance).variance_applied moved the direction from WAS toward a tie and cost one winner hit overall; ATL@WAS is explicitly listed as regressed.historical_ml → variance_applied; later recovery does not erase it. The final loss was principally a starter projection error: Lodolo allowed four fewer ER and six more outs than projected, with conviction amplified by a 0.60 published pick probability.MIA@KC and MIL@CHC through credible venue-role splits that were underweighted; also plausible in SEA@BOS due to aggressive form/quality controls.BAL@COL, MIL@CHC, SD@CIN, and STL@LAD; not necessarily the cause of the underlying side selection.DET@MIN, STL@LAD, SEA@BOS, and ATL@WAS.DET@MIN and STL@LAD, and broadly visible in the slate margin compression.ATL@WAS, DET@MIN, SD@CIN, SEA@BOS, and STL@LAD where no credible contextual signal explains the deviation.| Stage | Winner accuracy | Winner hits | Margin MAE | Team-run MAE | Total-run MAE |
|---|---|---|---|---|---|
| Historical ML | 46.67% | 7 | 4.1769 | 3.0977 | 4.6893 |
| Variance applied | 40.00% | 6 | 4.1333 | 3.0667 | 4.6667 |
| Enhanced prediction | 40.00% | 6 | 4.9333 | 3.2667 | 4.6667 |
| Embedded Savant/run environment | 40.00% | 6 | 4.8667 | 3.1667 | 4.4667 |
| Fundamental edge target review | 46.67% | 7 | 4.8000 | 3.1333 | 4.5333 |
| Capped target | 46.67% | 7 | 4.8000 | 3.1333 | 4.5333 |
| Simulation result | 46.67% | 7 | 4.8000 | 3.1333 | 4.5333 |
| Published final | 46.67% | 7 | 4.8000 | 3.1333 | 4.5333 |
historical_ml → variance_appliedATL@WAS WAS→TIE, MIA@KC KC→TIE, SD@CIN SD→TIE, STL@LAD LAD→TIE.ATL@WAS was explicitly regressed.variance_applied → enhanced_predictionNYM@TB improved; SEA@BOS regressed.SEA@BOS BOS→SEA in the stored direction notation.enhanced_prediction → embedded_savant_run_environmentTOR@CLE moved from TOR to tie; no winner accuracy change.embedded_savant_run_environment → fundamental_edge_target_reviewTOR@CLE moved tie to CLE, improving one winner.The key conclusion is that the enhanced stage was the main score-quality regression versus historical ML, while fundamental-edge review recovered one winner. The recovery does not erase the earlier regressions.
---
Lever: score.variance_multiplier / score.variance_floor
BAL@COL, MIA@KC, MIL@CHC, SD@CIN, and STL@LAD.DET@MIN was a 13-run margin. The broader distributional evidence, not that single blowout, justifies testing.Lever: player.pitcher.v4 form weights / player.pitcher_prior_games
BAL@COL, CHW@HOU, DET@MIN, MIA@KC, MIL@CHC, NYM@TB, SD@CIN, SEA@BOS, SF@PIT, TOR@CLE.Lever: recent.* / season.* run-mean weighting
ATL@WAS, BAL@COL, CHW@HOU, DET@MIN, MIA@KC, MIL@CHC, NYM@TB, OAK@TEX, PHI@ARI, SD@CIN, SEA@BOS, SF@PIT, STL@LAD, TOR@CLE — the JSON’s help list contains 13 named games and omits two listed slate games from the help count.
NYY@LAA, where team runs were already close, with an explicit warning that reweighting could disturb it.SEA@BOS and contributed to high-confidence errors in MIL@CHC/STL@LAD.DET@MIN. The causal register explicitly prohibits this.BAL@COL, MIL@CHC, SD@CIN, and STL@LAD lost. The four-game cluster is a warning, not a stable calibration curve.MIA@KC. MIL@CHC provides supporting evidence, but the venue split must be validated across the rolling window.SEA@BOS. NYM@TB, NYY@LAA, and PHI@ARI show that recency/quality information can coexist with correct winners.---
STL@LAD: pitch-count mismatchPITCH_COUNT_PITCHER_MATCH.The evidence supplies an aggregate count of 108 informational findings but does not enumerate their individual messages. The major named informational categories are:
Because individual info messages are not present in the supplied JSON, they cannot be exhaustively itemized without inventing data.
MIA@KC and MIL@CHC.STL@LAD pitch-count contract warning.TOR@CLE unexplained publication delta.CHW@HOU: the stored score evolution ends at 3–5 while the published prediction is 6–5. This should be checked against the canonical artifact before calling it a defect; the supplied JSON does not provide enough information to determine whether this is a display-path omission or a real artifact mismatch.The slate cannot be called completely clean despite full coverage:
The required chain is raw model → calibrated → governor → score coherence/recency → published.
The following games show named transformations and no unexplained material delta:
ATL@WAS, BAL@COL, CHW@HOU, DET@MIN, MIA@KC, MIL@CHC, NYM@TB, NYY@LAA, OAK@TEX, PHI@ARI, SD@CIN, SEA@BOS, SF@PIT, and STL@LAD.
The continuous-learning finding states that nine material movements were explained by named score-coherence and/or recency transformations. The high-raw cluster specifically records all four movements as explained.
TOR@CLE: calibrated/governed probability 0.545; published probability 0.555236; delta +0.010236; transformation text says “no recorded transformation explains the publication delta.”---
Four prior slates were loaded, creating a five-slate window from 2026-08-28 through 2026-09-01.
| Finding | Consecutive-slate count | Present now? | Interpretation |
|---|---|---|---|
high_raw_probability_cluster | 1 | Yes | Current slate has the cluster, but the streak itself is not persistent. |
pipeline_winner_instability | 0 | No | Not present now; incidence in window is 2 but no current consecutive streak. |
score_margin_compression | 2 | Yes | Current and prior consecutive slate; persistent emerging run-model issue. |
simulation_inert_on_slate | 5 | Yes | Established failure across all five slates. |
single_slate_calibration_instability | 2 | Yes | Current and prior consecutive slate; persistent emerging calibration issue. |
weak_run_model_signal | 5 | Yes | Established failure across all five slates. |
The escalated_findings entries must be treated as established failures, not single-slate noise:
simulation.allow_score.team_run_mae, total_run_mae.training.xgb.n_estimators, training.xgb.max_depth, training.xgb.learning_rate.team_run_mae, total_run_mae.All reported directions must be stated explicitly:
The top-confidence pick history is:
Current loss streak: 1. The top pick is not on a multi-slate losing streak, but the current miss is consistent with the separate high-confidence cluster concern.
---
Recommendations are ranked by evidence strength and persistence. These are bounded shadow or diagnostic actions, not promotions.
simulation_inert_on_slate, escalated for 5 consecutive slates.simulation.allow_score.simulation.allow_score is actually read, that score-level simulation executes, and that its output can differ from the capped target.team_run_mae and total_run_mae; direction should be improvement.DET@MIN, SEA@BOS, SF@PIT, STL@LAD.NYY@LAA and TOR@CLE.weak_run_model_signal, escalated for 5 consecutive slates.training.xgb.n_estimators, training.xgb.max_depth, training.xgb.learning_rate.DET@MIN, SEA@BOS, SF@PIT, STL@LAD, and PHI@ARI.NYY@LAA, NYM@TB, and TOR@CLE.score_margin_compression, present for 2 consecutive slates; margin bias is regressing.score.variance_multiplier — increase slightly, for example +0.05 in shadow only. Keep score.variance_floor unchanged initially to isolate the effect.team_run_mae/total_run_mae; expected direction is improvement.BAL@COL, MIA@KC, MIL@CHC, SD@CIN, and STL@LAD.NYY@LAA, NYM@TB, and TOR@CLE.single_slate_calibration_instability has a 2-slate streak and is present; high_raw_probability_cluster is present with a current 0–4 result but only a one-slate consecutive streak.confidence.base_cap — reduce modestly, for example 0.01 in shadow. Do not simultaneously change all three confidence levers.BAL@COL, MIL@CHC, SD@CIN, and STL@LAD.MIA@KC’s opposing-side calibration context, and low-confidence successes could lose useful separation.player.pitcher.v4 form weights — increase the recent-form component slightly in shadow, without changing player.pitcher_prior_games simultaneously.starter_er_mae and starter_outs_mae.BAL@COL, CHW@HOU, DET@MIN, MIA@KC, MIL@CHC, NYM@TB, SD@CIN, SEA@BOS, SF@PIT, and TOR@CLE.SEA@BOS-type reversals.context.venue_adjustment_weight for credible venue-role cases, especially MIA@KC and MIL@CHC; do not bundle this with the form-weight experiment.The strongest single-slate aggregate driver is run-environment compression/underdispersion, because it affected the largest errors and is supported by a two-slate streak and five-slate regressing margin bias.
The bounded score.variance_multiplier recommendation above is therefore the safest direct single-slate parameter experiment. Do not separately tune a one-game DET/MIN-specific factor.
---
CHW@HOU score-path discrepancy is a true artifact defect or an omitted intermediate rendering detail.The single safest next action is:
> Run a non-promoting diagnostic/shadow audit of the simulation path and probability/score lineage, while testing a small increase to score.variance_multiplier only in shadow.
This addresses the five-slate simulation/run-model persistence, directly tests the current score-compression failure, preserves rollback ability, and avoids making an irreversible one-game calibration or winner-side correction.