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_20260904.json | n/a |
| forensic deep audit | loaded | probability, provenance, starter and decision contracts | /app/output/reports/PREDICTION_SYSTEM_DEEP_AUDIT_20260904.json | n/a |
| continuous learning | loaded | pipeline-stage quality, calibration, probability lineage | /app/output/learning/continuous_learning_daily_20260904.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 |
|---|---|---|---|---|
| CRITICAL | probability_lineage | Published probability differs materially without a recorded transformation 2 game(s) have an unexplained ≥2pp calibrated-to-published delta | ARI@HOU, SF@NYM | Do thisBlock any promotion until the missing probability transformation is recorded and reconciled. Don't concludeDo not assume the probability governor was bypassed until you have traced the pick-side math. |
| HIGH | model_validation | Validated run models explain very little holdout variance home/away/total R² = 0.0187/0.0264/0.0260 | ARI@HOU, ATL@PHI, BOS@BAL, CHC@MIA, DET@CLE, DET@CLE, LAA@PIT, MIL@CIN, MIN@CHW, NYY@SD, OAK@SEA, SF@NYM, STL@COL, TB@TEX, TOR@KC, WAS@LAD | Do thisTreat exact run scores as low-confidence estimates, and look for stronger features or a better target before tuning the score tails. Don't concludeA small positive R² only means the model beats guessing the average; it does not make the exact scores reliable. |
| INFO | coverage | Every settled game received structural QA 16/16 games structurally audited | ARI@HOU, ATL@PHI, BOS@BAL, CHC@MIA, DET@CLE, DET@CLE, LAA@PIT, MIL@CIN, MIN@CHW, NYY@SD, OAK@SEA, SF@NYM, STL@COL, TB@TEX, TOR@KC, WAS@LAD | Do thisKeep the per-game audit receipt in every report. Don't concludeFull audit coverage does not cancel the findings raised inside the audited games. |
| INFO | simulation | Simulation produced no winner-direction intervention on this slate flip candidates 0; published flips 0 | ARI@HOU, ATL@PHI, BOS@BAL, CHC@MIA, DET@CLE, DET@CLE, LAA@PIT, MIL@CIN, MIN@CHW, NYY@SD, OAK@SEA, SF@NYM, STL@COL, TB@TEX, TOR@KC, WAS@LAD | 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 | 8 consecutive · 8 in window | simulation.allow_score | confirm the simulation module is running, not silently no-oping | simulation_inert_on_slate has persisted 8 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 | 8 consecutive · 8 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 8 consecutive slates; this is no longer single-slate noise. Treat it as an actionable pattern and raise the code/diagnostic action named; do not force a parameter move. |
| Finding | Consecutive slates | Incidence | Present now | Fix type |
|---|---|---|---|---|
| high_raw_probability_cluster | 0 | 2/8 | no | param |
| pipeline_winner_instability | 0 | 3/8 | no | code/diagnostic |
| score_margin_compression | 0 | 3/8 | no | param |
| simulation_inert_on_slate | 8 | 8/8 | yes | code/diagnostic |
| single_slate_calibration_instability | 0 | 5/8 | no | param |
| weak_run_model_signal | 8 | 8/8 | yes | code/diagnostic |
| Metric | Direction | Series (old → new) |
|---|---|---|
| winner_accuracy | improving | [0.4667, 0.9412, 0.5, 0.6667, 0.4667, 0.3333, 0.5556, 0.625] |
| weighted_calibration_error | improving | [0.2179, 0.3961, 0.0693, 0.1661, 0.2476, 0.21, 0.1474, 0.1316] |
| margin_bias | improving | [-1.333, -1.882, -2.786, -3.5, -2.533, -3.067, -1.778, -0.688] |
| team_run_error_on_losses | flat | [5.0, 3.0, 7.0, 8.25, 7.125, 6.4, 6.75, 6.0] |
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 | 10/16 | 62.5% | 2.446 | 4.263 | 2.22 |
| variance_applied | 8/16 | 50% | 2.469 | 4.312 | 2.188 |
| enhanced_prediction | 10/16 | 62.5% | 2.344 | 4.062 | 2.062 |
| embedded_savant_run_environment | 10/16 | 62.5% | 2.406 | 4.188 | 2.062 |
| fundamental_edge_target_review | 10/16 | 62.5% | 2.406 | 4.188 | 2.062 |
| capped_target | 10/16 | 62.5% | 2.406 | 4.188 | 2.062 |
| simulation_result | 10/16 | 62.5% | 2.406 | 4.188 | 2.062 |
| published_final | 10/16 | 62.5% | 2.406 | 4.188 | 2.062 |
| Transition | Δ accuracy | Δ hits | Δ team-run MAE | Δ margin MAE | Games whose winner/tie changed |
|---|---|---|---|---|---|
| historical_ml → variance_applied | -0.125 | -2 | 0.0225 | -0.0326 | DET@CLE: DET → TIE; MIL@CIN: MIL → TIE; STL@COL: STL → TIE |
| variance_applied → enhanced_prediction | 0.125 | 2 | -0.125 | -0.125 | BOS@BAL: BOS → BAL; DET@CLE: TIE → CLE; MIL@CIN: TIE → MIL; STL@COL: TIE → STL |
| enhanced_prediction → embedded_savant_run_environment | 0 | 0 | 0.0624 | 0 | |
| embedded_savant_run_environment → fundamental_edge_target_review | 0 | 0 | 0 | 0 | |
| 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 |
|---|---|---|---|---|---|---|---|
| ARI@HOU | hit | 0.6275 | 0.6219 | 0.6219 | 0.6031 | 0.5825 | no recorded transformation explains the publication delta |
| ATL@PHI | hit | 0.585 | 0.5815 | 0.5815 | 0.583 | 0.5599 | score coherence followed by matchup-recency guardrail |
| BOS@BAL | miss | 0.6303 | 0.6241 | 0.6241 | 0.6445 | 0.53 | score coherence followed by matchup-recency guardrail |
| CHC@MIA | hit | 0.7374 | 0.7104 | 0.7104 | 0.7245 | 0.7245 | score_coherence aligned probability to the published score margin |
| DET@CLE | hit | 0.5085 | 0.5083 | 0.5083 | 0.5463 | 0.5251 | score coherence followed by matchup-recency guardrail |
| DET@CLE | hit | 0.568 | 0.5662 | 0.5662 | 0.5753 | 0.5544 | score coherence followed by matchup-recency guardrail |
| LAA@PIT | hit | 0.67 | 0.6591 | 0.6591 | 0.662 | 0.662 | score_coherence aligned probability to the published score margin |
| MIL@CIN | hit | 0.6628 | 0.6526 | 0.6526 | 0.6588 | 0.54 | score coherence followed by matchup-recency guardrail |
| MIN@CHW | miss | 0.5216 | 0.5211 | 0.5211 | 0.5527 | 0.5381 | score coherence followed by matchup-recency guardrail |
| NYY@SD | miss | 0.6275 | 0.6219 | 0.6219 | 0.6434 | 0.6434 | score_coherence aligned probability to the published score margin |
| OAK@SEA | miss | 0.551 | 0.5499 | 0.5499 | 0.5671 | 0.5485 | published probability matches the calibrated/governed value |
| SF@NYM | hit | 0.5265 | 0.5258 | 0.5258 | 0.5551 | 0.5468 | no recorded transformation explains the publication delta |
| STL@COL | hit | 0.551 | 0.5499 | 0.5499 | 0.5671 | 0.5485 | published probability matches the calibrated/governed value |
| TB@TEX | miss | 0.585 | 0.5815 | 0.5815 | 0.583 | 0.5599 | score coherence followed by matchup-recency guardrail |
| TOR@KC | miss | 0.551 | 0.5499 | 0.5499 | 0.5671 | 0.5571 | score coherence followed by matchup-recency guardrail |
| WAS@LAD | hit | 0.5619 | 0.5603 | 0.5603 | 0.5724 | 0.5615 | published probability matches the calibrated/governed value |
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 |
|---|---|---|---|---|---|---|
| 32 | 5 | 12 | 1 | 14 | -0.23 | -0.44 |
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 — over ? slates (sign shared by — of them, z = —).
no measurable direction.
Hold: no change: this bias is not separable from slate-to-slate noise yet
only 1 slate(s) with this measure; need at least 3
lineup runs actual minus projected
Mean — over ? slates (sign shared by — of them, z = —).
no measurable direction.
Hold: no change: this bias is not separable from slate-to-slate noise yet
only 1 slate(s) with this measure; need at least 3
| 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 | — | — | ||
| 20260903 | 9 | 0.556 | — | — | ||
| 20260902 | 15 | 0.333 | — | — | ||
| 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 |
|---|---|---|---|
| ARI@HOU | 2 | 2 | 0 |
| ATL@PHI | 1 | 3 | -2 |
| BOS@BAL | 2 | 1 | 1 |
| CHC@MIA | 3 | 5 | -2 |
| DET@CLE | 1 | 1 | 0 |
| DET@CLE | 1 | 1 | 0 |
| LAA@PIT | 2 | 1 | 1 |
| MIL@CIN | 3 | 3 | 0 |
| MIN@CHW | 1 | 3 | -2 |
| NYY@SD | 3 | 1 | 2 |
| OAK@SEA | 1 | 1 | 0 |
| SF@NYM | 1 | 4 | -3 |
| STL@COL | 1 | 1 | 0 |
| TB@TEX | 1 | 1 | 0 |
| TOR@KC | 2 | 7 | -5 |
| WAS@LAD | 1 | 2 | -1 |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| ARI | Merrill Kelly | 3 ER / 15 outs | 3 ER / 18 outs | 0 |
| HOU | Cristian Javier | 4 ER / 13 outs | 1 ER / 15 outs | -3 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Starter miss: Cristian Javier (HOU) posted 1.80 ERA vs projected 8.31 (1 ER in 15 outs); no credible venue, opponent-strength or experience signal explains it — an outlier start (variance).
What to do: Variance — no model change is warranted for this start.
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
No settled pitching line for this club. The forecast named Merrill Kelly (ARI) at a projected 5.4 ERA, but the per-player feed carries no pitching row for him in this game, so the actual-versus-projected comparison cannot be made on this side. That is a source-coverage gap in the settled box, not a forecasting failure.
Bullpen behind him: 0 ER over 0 outs.
The HOME lineup he faced produced 3 runs on 7 hits and 1 HR, against a projected 4 runs / 8 hits (-1 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
HOME pitching
Cristian Javier (HOU) threw 15 outs, 1 ER = 1.8 ERA against a projected 8.31 ERA (-6.51 ERA error)
Bullpen behind him: 0 ER over 8 outs.
The AWAY 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
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) |
|---|---|---|---|---|---|---|---|---|---|
| HOU | Cristian Javier (Starter) | 15 / 13 | 1.8 / 8.31 (-6.51) | 1 / 4 | 1 / 5 | 1 / 1 | 3 / 3 | 8 / 3 | venue home: 6.75 vs 9.95 ERA (ok) · opp run factor 1 (average) · 13 prior appearances this season |
| HOU | Bryan Abreu (Middle Reliever (High Leverage)) | 4 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | |
| HOU | Josh Hader (Closer) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 3 / 0 | |
| HOU | Enyel De Los Santos (Middle Reliever) | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| HOU | Yainer Diaz (C) | 3 / 4 | 2 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 1.09 | 0.304 below average | good day |
| ARI | Nolan Arenado (3B) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 1 / 0 | 1 / 1 | -1.07 | 0.282 weak | projection too high |
| ARI | Gabriel Moreno (C) | 2 / 5 | 1 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 1 | 2 / 1 | 1 / 1 | 0.95 | 0.366 elite | projection too low |
| HOU | Jeremy Peña (SS) | 4 / 5 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 0 / 0 | 2 / 1 | -0.93 | 0.326 above average | bad day |
| ARI | Corbin Carroll (RF) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 2 / 1 | -0.8 | 0.342 elite | bad day |
| ARI | Ketel Marte (2B) | 3 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 0 | 1 / 0 | 0.64 | 0.349 elite | projection too low |
| ARI | Max Kepler (LF) | 2 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.27 weak | — |
| ARI | Ryan Waldschmidt (CF) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.304 below average | — |
| HOU | Taylor Trammell (RF) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.285 below average | — |
| HOU | Jose Altuve (2B) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | -0.47 | 0.272 weak | — |
| HOU | Daulton Varsho (CF) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.292 below average | — |
| ARI | Lars Nootbaar (DH) | 3 / 3 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 0 | 1 / 1 | -0.45 | 0.346 elite | — |
| ARI | Tim Tawa (1B) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 3 / 1 | 0.33 | 0.304 below average | — |
| HOU | LaMonte Wade Jr. (LF) | 2 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | -0.33 | 0.278 weak | — |
| HOU | Yordan Alvarez (DH) | 4 / 4 | 2 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | -0.17 | 0.45 elite | — |
| HOU | Isaac Paredes (3B) | 3 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | -0.02 | 0.32 average | — |
| ARI | Geraldo Perdomo (SS) | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 | 0.327 above average | — |
| HOU | Christian Walker (1B) | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.3 below average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.029 | positive favors home; negative favors away |
| Recent form | 0.444 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.038 | positive favors home; negative favors away |
| Composite | 0.539 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.33-4.7 | 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.583 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by winner_starter_is_below_average) |
| embedded_savant_run_environment | 4-6 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-6 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-6 | n/a | Capped at max 12 realistic runs |
| simulation_result | 4-6 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.33-4.7 | 4-5 | 0.626 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 4-5 | 0 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by winner_starter_is_below_average) |
| embedded_savant_run_environment | 4-5 | 4-6 | 1 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-6 | 4-6 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-6 | 4-6 | 0 | Capped at max 12 realistic runs |
| simulation_result | 4-6 | 4-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 |
|---|---|---|---|---|
| ARI | Corbin Carroll | batter / RF | worse | predicted_RBI 1.63 |
| HOU | Yordan Alvarez | batter / DH | better | predicted_RBI 1.52 |
| HOU | Christian Walker | batter / 1B | better | predicted_RBI 1.5 |
| ARI | Gabriel Moreno | batter / C | worse | predicted_SO 1.364 |
| ARI | Nolan Arenado | batter / 3B | worse | predicted_AB -1.16 |
| HOU | Daulton Varsho | batter / CF | deboosted | predicted_H 1.13 |
| HOU | Jose Altuve | batter / 2B | better | predicted_H 1.12 |
| ARI | Geraldo Perdomo | batter / SS | deboosted | predicted_AB 1.05 |
| 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 | 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 | ARI model-prediction batting totals differ from final simulation box score (AB: current=34, sim=32; H: current=8, sim=5; 2B: current=2, sim=1; HBP: current=0, sim=2). | ARI |
| info | CURRENT_PLAYER_MATCH_BOX | ARI current finalized hitter lines are model predictions and differ from the simulation box score: Gabriel Moreno: AB current=5 box=4, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Geraldo Perdomo: AB current=4 box=5, RBI current=0 box=1, R current=0 box=1, BB current=1 box=0; Ketel Marte: AB current=4 box=3, RBI current=1 box=0, R current=1 box=0, SO current=0 box=1; Lars Nootbaar: 2B current=1 box=0, RBI current=1 box=0, R current=0 box=1, BB current=0 box=1; Nolan Arenado: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, R current=1 box=0; Corbin Carroll: HR current=0 box=1, RBI current=0 box=2, BB current=1 box=0; Max Kepler: 2B current=0 box=1, R current=0 box=1, SO current=1 box=0; Ryan Waldschmidt: H current=1 box=0, BB current=0 box=1, SO current=1 box=2 | ARI |
| info | CURRENT_FINALIZED_MATCH_BOX | HOU model-prediction batting totals differ from final simulation box score (AB: current=35, sim=37; H: current=8, sim=11; HR: current=1, sim=2; RBI: current=4, sim=6; R: current=4, sim=6; BB: current=3, sim=5; SO: current=8, sim=7). | HOU |
| info | CURRENT_PLAYER_MATCH_BOX | HOU current finalized hitter lines are model predictions and differ from the simulation box score: Jeremy Peña: AB current=5 box=4, H current=1 box=2, HR current=1 box=0, RBI current=1 box=0; Yordan Alvarez: AB current=4 box=5, H current=1 box=2, 2B current=1 box=0, HR current=0 box=1; Isaac Paredes: RBI current=1 box=0, R current=1 box=0, SO current=0 box=1; Taylor Trammell: 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1, BB current=0 box=1; Jose Altuve: AB current=4 box=5, H current=1 box=2, RBI current=0 box=1; Yainer Diaz: H current=1 box=0, 2B current=1 box=0; Daulton Varsho: AB current=4 box=5, H current=1 box=2, 2B current=0 box=1, R current=0 box=1; Christian Walker: HR current=0 box=1, RBI current=1 box=2, R current=0 box=1, BB current=0 box=1 | HOU |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
No large single-factor errors.
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| ATL | Chris Sale | 2 ER / 19 outs | 2 ER / 18 outs | 0 |
| PHI | Cristopher Sánchez | 3 ER / 19 outs | 3 ER / 18 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:
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
Chris Sale (ATL) threw 18 outs, 2 ER = 3 ERA against a projected 2.84 ERA (0.16 ERA error)
Bullpen behind him: 0 ER over 9 outs.
The HOME lineup he faced produced 2 runs on 6 hits and 1 HR, against a projected 4 runs / 8 hits (-2 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
Cristopher Sánchez (PHI) threw 18 outs, 3 ER = 4.5 ERA against a projected 4.26 ERA (0.24 ERA error)
Bullpen behind him: 2 ER over 3 outs.
The AWAY lineup he faced produced 4 runs on 8 hits and 1 HR, against a projected 5 runs / 9 hits (-1 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material)
| Team | Pitcher | Outs | ERA | ER | H | HR | BB | SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|
| ATL | Chris Sale (Starter) | 18 / 19 | 3 / 2.84 | 2 / 2 | 6 / 6 | 1 / 1 | 1 / 0 | 7 / 6 | venue away: 2.71 vs 1.45 ERA (worse here) · opp run factor 0.94 (average) · 24 prior appearances this season |
| ATL | Raisel Iglesias (Closer) | 3 / 3 | 0 / 9 (-9.00) | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 2 / 0 | |
| ATL | Didier Fuentes (Middle Reliever (High Leverage)) | 6 / 2 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | |
| PHI | Cristopher Sánchez (Starter) | 18 / 19 | 4.5 / 4.26 | 3 / 3 | 5 / 8 | 0 / 0 | 3 / 1 | 5 / 7 | venue home: 1.68 vs 3.68 ERA (ok) · opp run factor 1.05 (strong) · 28 prior appearances this season |
| PHI | Orion Kerkering (Middle Reliever (High Leverage)) | 3 / 2 | 18 / 13.5 (+4.50) | 2 / 1 | 1 / 2 | 1 / 0 | 1 / 0 | 0 / 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| PHI | Kyle Schwarber (DH) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -1.73 | 0.365 elite | bad day |
| ATL | Mauricio Dubón (CF) | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 2 / 0 | 0 / 0 | 0 / 0 | 1.4 | 0.302 below average | good day |
| PHI | Alec Bohm (1B) | 4 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 1 / 0 | 2 / 1 | 1 / 0 | 0 / 1 | 1 / 1 | 1.38 | 0.323 above average | projection too low |
| PHI | Bryce Harper (RF) | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 2 / 1 | -1.11 | 0.393 elite | bad day |
| ATL | Ronald Acuña Jr. (RF) | 5 / 5 | 3 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 0.92 | 0.362 elite | projection too low |
| ATL | Matt Olson (1B) | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | -0.78 | 0.355 elite | bad day |
| PHI | Bryan De La Cruz (LF) | 3 / 3 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 2 / 1 | -0.78 | 0.281 weak | projection too high |
| PHI | Luis Arraez (2B) | 4 / 5 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 0.78 | 0.307 average | no signal |
| ATL | Sean Murphy (C) | 2 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 2 / 0 | 1 / 1 | -0.74 | 0.275 weak | projection too high |
| ATL | Lane Thomas (LF) | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 1 | -0.47 | 0.314 average | — |
| ATL | Ha-Seong Kim (SS) | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.216 weak | — |
| ATL | Drake Baldwin (DH) | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -0.33 | 0.367 elite | — |
| ATL | Ozzie Albies (2B) | 5 / 5 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | 0.31 | 0.284 below average | — |
| PHI | Trea Turner (SS) | 4 / 5 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 0.31 | 0.294 below average | — |
| PHI | J.T. Realmuto (C) | 2 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 1 / 1 | -0.14 | 0.323 above average | — |
| ATL | Austin Riley (3B) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | 0 | 0.298 below average | — |
| PHI | Edmundo Sosa (3B) | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 2 / 1 | 0 | 0.333 above average | — |
| PHI | Derek Hill (CF) | 2 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.282 weak | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.446 | positive favors home; negative favors away |
| Recent form | -0.318 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.12 | positive favors home; negative favors away |
| Composite | -0.768 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 5.05-3.94 | 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 | 5.05-3.94 | 5-4 | -0.117 | 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 |
|---|---|---|---|---|
| PHI | Trea Turner | batter / SS | worse | predicted_AB -2.01 |
| ATL | Chris Sale | pitcher / Starter | better | predicted_SO 2 |
| ATL | Drake Baldwin | batter / DH | better | predicted_H 1.922 |
| ATL | Lane Thomas | batter / LF | boosted | predicted_H 1.7 |
| PHI | Derek Hill | batter / CF | worse | predicted_H 1.69 |
| PHI | Bryan De La Cruz | batter / LF | worse | predicted_AB 1.474 |
| ATL | Ozzie Albies | batter / 2B | worse | predicted_SO 1.381 |
| PHI | Kyle Schwarber | batter / DH | better | predicted_RBI 1.3 |
| 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 | 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 | ATL model-prediction batting totals differ from final simulation box score (AB: current=36, sim=38; H: current=9, sim=11; R: current=5, sim=4; BB: current=3, sim=2; SO: current=8, sim=9). | ATL |
| info | CURRENT_PLAYER_MATCH_BOX | ATL current finalized hitter lines are model predictions and differ from the simulation box score: Drake Baldwin: AB current=4 box=5, H current=1 box=3, HR current=0 box=1, BB current=1 box=0; Ozzie Albies: H current=1 box=2, SO current=1 box=2; Mauricio Dubón: H current=1 box=0, SO current=0 box=1; Sean Murphy: H current=1 box=2, HR current=1 box=0, RBI current=1 box=2; Lane Thomas: AB current=3 box=4, H current=1 box=2, 2B current=0 box=1, RBI current=0 box=1; Matt Olson: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Ronald Acuña Jr.: AB current=5 box=4, RBI current=1 box=0, R current=1 box=0; Austin Riley: H current=1 box=0 | ATL |
| info | CURRENT_FINALIZED_MATCH_BOX | PHI model pitcher projections differ from final simulation pitching box score (H: current=10, sim=11; HR: current=0, sim=1). | PHI |
| info | CURRENT_FINALIZED_MATCH_BOX | PHI model-prediction batting totals differ from final simulation box score (HR: current=1, sim=2; RBI: current=5, sim=3; R: current=4, sim=3; BB: current=3, sim=1; SO: current=9, sim=6). | PHI |
| info | CURRENT_PLAYER_MATCH_BOX | PHI current finalized hitter lines are model predictions and differ from the simulation box score: Bryce Harper: RBI current=1 box=0, R current=1 box=0, BB current=1 box=0, SO current=1 box=0; Alec Bohm: RBI current=1 box=0, BB current=1 box=0, SO current=1 box=0; Edmundo Sosa: AB current=3 box=4, H current=1 box=0, RBI current=1 box=0; Bryan De La Cruz: AB current=3 box=4, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; J.T. Realmuto: 2B current=0 box=1, R current=1 box=0, SO current=1 box=0; Luis Arraez: AB current=5 box=4; Kyle Schwarber: RBI current=1 box=2, BB current=1 box=0; Trea Turner: AB current=5 box=3, BB current=0 box=1 | PHI |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| BOS | Ranger Suarez | 3 ER / 15 outs | 0 ER / 21 outs | -3 |
| BAL | Shane Baz | 4 ER / 17 outs | 1 ER / 19 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: Ranger Suarez (BOS) posted 0.00 ERA vs projected 5.40 (0 ER in 21 outs); no credible venue, opponent-strength or experience signal explains it — an outlier start (variance).
What to do: Variance — no model change is warranted for this start.
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Ranger Suarez (BOS) threw 21 outs, 0 ER = 0 ERA against a projected 5.4 ERA (-5.4 ERA error)
Bullpen behind him: 0 ER over 6 outs.
The HOME lineup he faced produced 0 runs on 6 hits and 0 HR, against a projected 6 runs / 8 hits (-6 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
HOME pitching
Shane Baz (BAL) threw 19 outs, 1 ER = 1.42 ERA against a projected 6.35 ERA (-4.93 ERA error)
Bullpen behind him: 0 ER over 3 outs.
The AWAY lineup he faced produced 1 runs on 5 hits and 1 HR, against a projected 4 runs / 8 hits (-3 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) |
|---|---|---|---|---|---|---|---|---|---|
| BOS | Ranger Suarez (Starter) | 21 / 15 | 0 / 5.4 (-5.40) | 0 / 3 | 5 / 2 | 0 / 0 | 1 / 2 | 3 / 2 | venue away: 3.25 vs 4.14 ERA (ok) · opp run factor 0.98 (average) · 24 prior appearances this season |
| BOS | Aroldis Chapman (Closer) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | |
| BOS | Garrett Whitlock (Middle Reliever (High Leverage)) | 3 / 3 | 0 / 9 (-9.00) | 0 / 1 | 1 / 2 | 0 / 1 | 0 / 0 | 0 / 1 | |
| BAL | Shane Baz (Starter) | 19 / 17 | 1.42 / 6.35 (-4.93) | 1 / 4 | 4 / 4 | 1 / 0 | 2 / 1 | 6 / 6 | venue home: 3.82 vs 4.18 ERA (ok) · opp run factor 0.97 (average) · 27 prior appearances this season |
| BAL | Josh Walker (Middle Reliever (High Leverage)) | 3 / 2 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 0 | 3 / 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| BOS | Adley Rutschman (C) | 4 / 5 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 2 / 1 | -1.4 | 0.338 above average | bad day |
| BAL | Luis Robert Jr. (CF) | 3 / 5 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | 0 / 1 | -1.4 | 0.321 above average | bad day |
| BOS | Mickey Gasper (1B) | 4 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | 0 / 1 | 1 / 1 | 1.07 | 0.372 elite | projection too low |
| BAL | Blaze Alexander (RF) | 4 / 3 | 3 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 0.94 | 0.356 elite | projection too low |
| BAL | Pete Alonso (1B) | 4 / 5 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 2 | -0.8 | 0.392 elite | bad day |
| BOS | Roman Anthony (DH) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 1 | -0.47 | 0.361 elite | — |
| BOS | Nick Sogard (2B) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 0 / 1 | -0.47 | 0.327 above average | — |
| BAL | Leody Taveras (LF) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.273 weak | — |
| BAL | Jackson Holliday (2B) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | -0.47 | 0.303 below average | — |
| BAL | Gunnar Henderson (SS) | 4 / 5 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -0.33 | 0.316 average | — |
| BOS | Trevor Story (SS) | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 2 / 1 | -0.31 | 0.251 weak | — |
| BAL | Christian Encarnacion-Strand (3B) | 4 / 3 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | -0.31 | 0.343 elite | — |
| BOS | Wilyer Abreu (RF) | 2 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 0 | 1 / 1 | -0.12 | 0.347 elite | — |
| BOS | Caleb Durbin (3B) | 4 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 0 | 0.288 below average | — |
| BOS | Eli White (CF) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.271 weak | — |
| 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 | — |
| BAL | Coby Mayo (DH) | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 1 | 0 | 0.319 average | — |
| BAL | Carlos Narváez (C) | 2 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.265 weak | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.256 | positive favors home; negative favors away |
| Recent form | 0.642 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.009 | positive favors home; negative favors away |
| Composite | 0.4 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.63-3.89 | n/a | Base ML historical model prediction |
| variance_applied | 5-4 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-6 | 0.53 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-6 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-6 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-6 | n/a | Capped at max 12 realistic runs |
| simulation_result | 4-6 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.63-3.89 | 5-4 | -0.266 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-4 | 4-6 | 3 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-6 | 4-6 | 0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-6 | 4-6 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-6 | 4-6 | 0 | Capped at max 12 realistic runs |
| simulation_result | 4-6 | 4-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 |
|---|---|---|---|---|
| BAL | Christian Encarnacion-Strand | batter / 3B | better | predicted_RBI 2.29 |
| BOS | Adley Rutschman | batter / C | worse | predicted_AB -2.28 |
| BOS | Roman Anthony | batter / DH | worse | predicted_SO 1.914 |
| BAL | Pete Alonso | batter / 1B | worse | predicted_AB -1.746 |
| BOS | Eli White | batter / CF | worse | predicted_AB 1.5 |
| BOS | Wilyer Abreu | batter / RF | better | predicted_AB -1.36 |
| BOS | Trevor Story | batter / SS | worse | predicted_SO -1.356 |
| BAL | Leody Taveras | batter / LF | worse | predicted_H 1.282 |
| 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 | 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_FINALIZED_MATCH_BOX | BAL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=29; H: current=8, sim=6; RBI: current=5, sim=6; BB: current=3, sim=4; SO: current=10, sim=4; SF: current=0, sim=1; HBP: current=0, sim=1). | BAL |
| info | CURRENT_PLAYER_MATCH_BOX | BAL current finalized hitter lines are model predictions and differ from the simulation box score: Coby Mayo: H current=1 box=0, SF current=0 box=1; Blaze Alexander: H current=1 box=0, BB current=0 box=1, SO current=1 box=0; Christian Encarnacion-Strand: AB current=3 box=4, H current=1 box=2, 2B current=1 box=0, HR current=0 box=1; Luis Robert Jr.: AB current=5 box=4, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Gunnar Henderson: AB current=5 box=4, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Leody Taveras: H current=1 box=2, RBI current=0 box=1, R current=0 box=1, SO current=1 box=0; Pete Alonso: AB current=5 box=2, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Jackson Holliday: BB current=0 box=1, SO current=1 box=0 | BAL |
| info | CURRENT_FINALIZED_MATCH_BOX | BOS model-prediction batting totals differ from final simulation box score (AB: current=34, sim=31; H: current=8, sim=4; HR: current=1, sim=0; BB: current=3, sim=4; SO: current=8, sim=6; HBP: current=0, sim=1). | BOS |
| info | CURRENT_PLAYER_MATCH_BOX | BOS current finalized hitter lines are model predictions and differ from the simulation box score: Roman Anthony: AB current=4 box=3, H current=1 box=0, R current=1 box=0, SO current=1 box=3; Mickey Gasper: H current=1 box=0; Adley Rutschman: AB current=5 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Caleb Durbin: AB current=3 box=4; Wilyer Abreu: AB current=4 box=3, RBI current=0 box=1, BB current=0 box=1; Eli White: AB current=3 box=4, H current=1 box=0, SO current=1 box=0; Nick Sogard: BB current=1 box=0, SO current=1 box=0; Jarren Duran: AB current=4 box=3, RBI current=1 box=0, R current=0 box=1, BB current=0 box=1 | BOS |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| CHC | Shota Imanaga | 0 ER / 16 outs | 1 ER / 18 outs | 1 |
| MIA | Janson Junk | 4 ER / 15 outs | 1 ER / 15 outs | -3 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Starter miss: Janson Junk (MIA) posted 1.80 ERA vs projected 7.20 (1 ER in 15 outs); no credible venue, opponent-strength or experience signal explains it — an outlier start (variance).
What to do: Variance — no model change is warranted for this start.
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Shota Imanaga (CHC) threw 18 outs, 1 ER = 1.5 ERA against a projected 0 ERA (1.5 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The HOME lineup he faced produced 1 runs on 4 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
HOME pitching
Janson Junk (MIA) threw 15 outs, 1 ER = 1.8 ERA against a projected 7.2 ERA (-5.4 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The AWAY lineup he faced produced 6 runs on 9 hits and 1 HR, against a projected 5 runs / 8 hits (1 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material)
| Team | Pitcher | Outs | ERA | ER | H | HR | BB | SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|
| CHC | Shota Imanaga (Starter) | 18 / 16 | 1.5 / 0 | 1 / 0 | 3 / 2 | 0 / 0 | 0 / 3 | 4 / 5 | venue away: 3.65 vs 4.23 ERA (ok) · opp run factor 0.96 (average) · 27 prior appearances this season |
| MIA | Janson Junk (Starter) | 15 / 15 | 1.8 / 7.2 (-5.40) | 1 / 4 | 3 / 7 | 0 / 1 | 1 / 1 | 4 / 4 | venue home: 3.68 vs 4.78 ERA (ok) · opp run factor 1.03 (strong) · 21 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 | Heriberto Hernández (LF) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 2 / 1 | -1.73 | 0.353 elite | bad day |
| CHC | Michael Conforto (DH) | 2 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 2 / 0 | 0 / 1 | 1.13 | 0.333 above average | projection too low |
| CHC | Seiya Suzuki (RF) | 5 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | -1.11 | 0.339 above average | bad day |
| CHC | Nico Hoerner (SS) | 4 / 4 | 3 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0.94 | 0.324 above average | projection too low |
| MIA | Jared Serna (2B) | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | -0.8 | 0.294 below average | projection too high |
| MIA | Agustín Ramírez (DH) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | -0.8 | 0.275 weak | projection too high |
| CHC | Pete Crow-Armstrong (CF) | 4 / 5 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 2 / 1 | 1 / 1 | 1 / 1 | -0.62 | 0.369 elite | bad day |
| CHC | Michael Busch (1B) | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | 1 / 0 | 2 / 0 | 1 / 1 | 1 / 1 | 0.62 | 0.328 above average | projection too low |
| CHC | Pedro Ramirez (2B) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.293 below average | — |
| CHC | Carson Kelly (C) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 2 / 1 | -0.47 | 0.311 average | — |
| MIA | Griffin Conine (RF) | 4 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 0.47 | 0.373 elite | — |
| MIA | Esteury Ruiz (CF) | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 3 / 1 | -0.47 | 0.292 below average | — |
| MIA | Otto Lopez (SS) | 4 / 5 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 1 | -0.47 | 0.324 above average | — |
| MIA | Javier Sanoja (3B) | 4 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0.31 | 0.287 below average | — |
| CHC | Alex Bregman (3B) | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 1 / 0 | 0 / 1 | -0.13 | 0.318 average | — |
| CHC | Ian Happ (LF) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 1 / 1 | 2 / 1 | 0 | 0.313 average | — |
| MIA | Deyvison De Los Santos (1B) | 2 / 3 | 1 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.228 weak | — |
| MIA | Brian Navarreto (C) | 2 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.167 weak | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.747 | positive favors home; negative favors away |
| Recent form | -0.408 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.07 | positive favors home; negative favors away |
| Composite | -1.206 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.92-3.17 | n/a | Base ML historical model prediction |
| variance_applied | 5-3 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 6-3 | 0.725 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 6-3 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 6-3 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 6-3 | n/a | Capped at max 12 realistic runs |
| simulation_result | 6-3 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.92-3.17 | 5-3 | 0.253 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-3 | 6-3 | 1 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 6-3 | 6-3 | -0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 6-3 | 6-3 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 6-3 | 6-3 | -0 | Capped at max 12 realistic runs |
| simulation_result | 6-3 | 6-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 |
|---|---|---|---|---|
| MIA | Otto Lopez | batter / SS | worse | predicted_AB -2.25 |
| MIA | Jared Serna | batter / 2B | better | predicted_SO 2 |
| MIA | Heriberto Hernández | batter / LF | worse | predicted_SO 1.972 |
| CHC | Seiya Suzuki | batter / RF | better | predicted_H 1.93 |
| CHC | Michael Busch | batter / 1B | better | predicted_RBI 1.65 |
| MIA | Javier Sanoja | batter / 3B | better | predicted_RBI 1.57 |
| CHC | Michael Conforto | batter / DH | worse | predicted_AB 1.5 |
| MIA | Esteury Ruiz | batter / CF | worse | predicted_AB 1.5 |
| 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 | 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 | CHC model-prediction batting totals differ from final simulation box score (AB: current=35, sim=38; H: current=8, sim=11; 2B: current=2, sim=3; HR: current=2, sim=1; R: current=5, sim=6; BB: current=4, sim=3). | CHC |
| info | CURRENT_PLAYER_MATCH_BOX | CHC current finalized hitter lines are model predictions and differ from the simulation box score: Seiya Suzuki: AB current=4 box=5, H current=1 box=3, BB current=1 box=0, SO current=1 box=0; Pete Crow-Armstrong: H current=1 box=2, HR current=1 box=0, BB current=1 box=0; Nico Hoerner: AB current=4 box=3, R current=0 box=1, BB current=0 box=1; Michael Busch: H current=1 box=2, RBI current=0 box=2, R current=0 box=1, SO current=1 box=0; Alex Bregman: AB current=4 box=5, RBI current=1 box=2, SO current=1 box=2; Pedro Ramirez: H current=1 box=0, BB current=0 box=1, SO current=1 box=0; Ian Happ: AB current=4 box=5, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Carson Kelly: 2B current=0 box=1, RBI current=1 box=0, R current=1 box=0 | CHC |
| info | CURRENT_FINALIZED_MATCH_BOX | MIA model-prediction batting totals differ from final simulation box score (AB: current=32, sim=31; H: current=8, sim=4; 2B: current=1, sim=3; HR: current=1, sim=0; RBI: current=4, sim=3; R: current=4, sim=3; BB: current=3, sim=6; SO: current=8, sim=10). | MIA |
| info | CURRENT_PLAYER_MATCH_BOX | MIA current finalized hitter lines are model predictions and differ from the simulation box score: Griffin Conine: RBI current=0 box=1, R current=0 box=1, BB current=0 box=1, SO current=1 box=0; Javier Sanoja: AB current=4 box=3, 2B current=0 box=1, RBI current=1 box=2, R current=0 box=1; Esteury Ruiz: AB current=3 box=4, H current=1 box=0, SO current=1 box=2; Deyvison De Los Santos: H current=1 box=0, 2B current=1 box=0, BB current=0 box=1, SO current=1 box=0; Jared Serna: 2B current=0 box=1, RBI current=1 box=0, SO current=1 box=2; Heriberto Hernández: AB current=4 box=5, 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=0; Otto Lopez: AB current=5 box=3, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Agustín Ramírez: AB current=4 box=3, H current=1 box=0, R current=1 box=0, SO current=1 box=0 | MIA |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| DET | Keider Montero | 2 ER / 18 outs | 1 ER / 17 outs | -1 |
| CLE | Logan Allen | 0 ER / 9 outs | 3 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: Keider Montero (DET) posted 13.50 ERA vs projected 3.00 (6 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
Keider Montero (DET) threw 12 outs, 6 ER = 13.5 ERA against a projected 3 ERA (10.5 ERA error)
Bullpen behind him: 0 ER over 6 outs.
The HOME lineup he faced produced 7 runs on 11 hits and 2 HR, against a projected 5 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
HOME pitching
No settled pitching line for this club. The forecast named Logan Allen (CLE) at a projected 0 ERA, but the per-player feed carries no pitching row for him in this game, so the actual-versus-projected comparison cannot be made on this side. That is a source-coverage gap in the settled box, not a forecasting failure.
Bullpen behind him: 0 ER over 9 outs.
The AWAY lineup he faced produced 6 runs on 10 hits and 1 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
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 | Keider Montero (Starter) | 12 / 18 | 13.5 / 3 (+10.50) | 6 / 2 | 8 / 5 | 1 / 1 | 1 / 2 | 4 / 7 | venue away: 3.48 vs 3.24 ERA (ok) · opp run factor 1.01 (weak) · 28 prior appearances this season |
| DET | Tyler Holton (Setup Man) | 6 / 3 | 0 / 9 (-9.00) | 0 / 1 | 2 / 1 | 0 / 1 | 1 / 0 | 2 / 0 | |
| CLE | Cade Smith (Closer) | 3 / 5 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | |
| CLE | Erik Sabrowski (Middle Reliever (High Leverage)) | 6 / 3 | 0 / 9 (-9.00) | 0 / 1 | 0 / 2 | 0 / 1 | 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CLE | Brayan Rocchio (SS) | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 2 / 0 | 5 / 0 | 2 / 0 | 0 / 0 | 0 / 0 | 2.33 | 0.292 below average | good day |
| CLE | Chase DeLauter (RF) | 3 / 5 | 2 / 1 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 0 | 0 / 1 | 1.11 | 0.343 elite | projection too low |
| CLE | Jo Adell (LF) | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | -0.93 | 0.325 above average | bad day |
| CLE | Steven Kwan (CF) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 2 / 0 | -0.8 | 0.321 above average | bad day |
| DET | Riley Greene (LF) | 3 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 1 | 0 / 1 | -0.78 | 0.367 elite | bad day |
| CLE | Angel Genao (3B) | 4 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 1 / 1 | 0.78 | 0.297 below average | good day |
| CLE | José Ramírez (DH) | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | -0.64 | 0.335 above average | bad day |
| DET | Max Clark (CF) | 4 / 4 | 3 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0.63 | 0.321 above average | projection too low |
| DET | Hao-Yu Lee (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 | — |
| DET | Spencer Torkelson (1B) | 4 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 0 | 1 / 1 | 0 / 0 | 2 / 1 | 0.47 | 0.31 average | — |
| CLE | Travis Bazzana (2B) | 3 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 0 / 1 | 0 / 1 | 0.45 | 0.299 below average | — |
| CLE | Patrick Bailey (C) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 1 | 0.33 | 0.309 average | — |
| DET | Gleyber Torres (DH) | 5 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0 / 1 | 2 / 1 | 0.14 | 0.327 above average | — |
| DET | Kevin McGonigle (3B) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 1 | 1 / 1 | 0 | 0.35 elite | — |
| DET | Ben Malgeri (RF) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 1 / 0 | 0 / 0 | 2 / 1 | 0 | 0.328 above average | — |
| DET | Dillon Dingler (C) | 4 / 5 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.344 elite | — |
| DET | Javier Báez (SS) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 | 0.258 weak | — |
| CLE | Nathaniel Lowe (1B) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 0 / 0 | 1 / 1 | 0 | 0.335 above average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.034 | positive favors home; negative favors away |
| Recent form | 0.83 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.011 | positive favors home; negative favors away |
| Composite | 0.431 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.46-3.86 | n/a | Base ML historical model prediction |
| variance_applied | 4-4 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 3-4 | 0.525 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by starter_quality_favours_the_other_side, projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 3-4 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 3-4 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 3-4 | n/a | Capped at max 12 realistic runs |
| simulation_result | 3-4 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.46-3.86 | 4-4 | 0.597 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-4 | 3-4 | 1 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by starter_quality_favours_the_other_side, projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 3-4 | 3-4 | 0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 3-4 | 3-4 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 3-4 | 3-4 | 0 | Capped at max 12 realistic runs |
| simulation_result | 3-4 | 3-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 |
|---|---|---|---|---|
| CLE | Chase DeLauter | batter / RF | better | predicted_2B 1.772 |
| CLE | Logan Allen | pitcher / Starter | worse | predicted_IP -1.667 |
| CLE | Steven Kwan | batter / CF | worse | predicted_SO 1.6 |
| CLE | Nathaniel Lowe | batter / 1B | better | predicted_RBI 1.52 |
| DET | Ben Malgeri | batter / RF | worse | predicted_AB 1.5 |
| DET | Riley Greene | batter / LF | worse | predicted_AB -1.36 |
| CLE | Hunter Gaddis | pitcher / Setup Man | better | predicted_IP 1.333 |
| DET | Kevin McGonigle | batter / 3B | worse | predicted_AB 1.157 |
| 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 | 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_FINALIZED_MATCH_BOX | CLE model-prediction batting totals differ from final simulation box score (AB: current=35, sim=32; 3B: current=0, sim=1; HR: current=1, sim=2; R: current=5, sim=4; BB: current=3, sim=2; SO: current=6, sim=8). | CLE |
| info | CURRENT_PLAYER_MATCH_BOX | CLE current finalized hitter lines are model predictions and differ from the simulation box score: Steven Kwan: R current=1 box=0, BB current=1 box=0, SO current=0 box=2; Jo Adell: SO current=1 box=2; José Ramírez: 2B current=1 box=0, BB current=1 box=0, SO current=0 box=1; Travis Bazzana: H current=1 box=0, BB current=1 box=0; Angel Genao: AB current=4 box=3, H current=1 box=0, R current=1 box=0, BB current=0 box=1; Chase DeLauter: AB current=5 box=4, H current=1 box=3, 2B current=1 box=2, 3B current=0 box=1; Nathaniel Lowe: H current=1 box=2, HR current=0 box=1, RBI current=1 box=2, R current=0 box=1; Patrick Bailey: SO current=1 box=0 | CLE |
| info | CURRENT_FINALIZED_MATCH_BOX | DET model-prediction batting totals differ from final simulation box score (AB: current=33, sim=35; 2B: current=2, sim=1; RBI: current=4, sim=3; R: current=5, sim=3; SO: current=8, sim=7). | DET |
| info | CURRENT_PLAYER_MATCH_BOX | DET current finalized hitter lines are model predictions and differ from the simulation box score: Gleyber Torres: H current=1 box=0, R current=1 box=0; Kevin McGonigle: AB current=4 box=5, H current=1 box=2, HR current=0 box=1, BB current=1 box=0; Ben Malgeri: AB current=3 box=4, H current=1 box=2, SO current=1 box=0; Dillon Dingler: AB current=5 box=4, H current=1 box=0, RBI current=1 box=0, SO current=1 box=2; Max Clark: 2B current=1 box=0, R current=0 box=1; Hao-Yu Lee: AB current=3 box=4; Riley Greene: AB current=4 box=3, RBI current=1 box=0, R current=1 box=0, SO current=1 box=0; Spencer Torkelson: H current=1 box=0, HR current=1 box=0, R current=1 box=0, BB current=0 box=1 | DET |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
No large single-factor errors.
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Andrew Sears (DET) threw 17 outs, 1 ER = 1.59 ERA against a projected 2.7 ERA (-1.11 ERA error) only 2 prior appearances in the covered season - the projection had little of his own record to stand on
Bullpen behind him: 2 ER over 8 outs.
The HOME lineup he faced produced 4 runs on 5 hits and 1 HR, against a projected 5 runs / 8 hits (-1 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
HOME pitching
Foster Griffin (CLE) threw 18 outs, 3 ER = 4.5 ERA against a projected 4.76 ERA (-0.26 ERA error)
Bullpen behind him: 0 ER over 6 outs.
The AWAY lineup he faced produced 2 runs on 7 hits and 0 HR, against a projected 4 runs / 7 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) |
|---|---|---|---|---|---|---|---|---|---|
| DET | Andrew Sears (Starter) | 17 / 10 | 1.59 / 2.7 | 1 / 1 | 4 / 3 | 0 / 1 | 2 / 3 | 4 / 5 | opp run factor 1 (weak) · thin sample: 2 prior appearances this season (high uncertainty) |
| DET | Jacob Waguespack (Middle Reliever) | 3 / 4 | 18 / 6.75 (+11.25) | 2 / 1 | 1 / 1 | 1 / 1 | 1 / 0 | 1 / 0 | |
| DET | Kenley Jansen (Closer) | 5 / 2 | 0 / 27 (-27.00) | 0 / 2 | 1 / 3 | 0 / 0 | 0 / 0 | 2 / 2 | |
| CLE | Foster Griffin (Starter) | 18 / 17 | 4.5 / 4.76 | 3 / 3 | 8 / 4 | 0 / 1 | 2 / 3 | 3 / 5 | venue home: 3.28 vs 3.14 ERA (ok) · opp run factor 0.94 (average) · 27 prior appearances this season |
| CLE | Hunter Gaddis (Setup Man) | 6 / 2 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CLE | José Ramírez (DH) | 3 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 0 / 0 | -1.11 | 0.335 above average | bad day |
| CLE | Travis Bazzana (2B) | 3 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 3 / 0 | 1 / 0 | 0 / 1 | 0 / 1 | 1.07 | 0.299 below average | good day |
| DET | Max Clark (CF) | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | -0.78 | 0.321 above average | bad day |
| DET | Javier Báez (SS) | 0 / 3 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | -0.78 | 0.258 weak | projection too high |
| CLE | Chase DeLauter (RF) | 2 / 5 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | -0.78 | 0.343 elite | bad day |
| CLE | Brayan Rocchio (SS) | 3 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 1 | 0.64 | 0.292 below average | good day |
| DET | Dillon Dingler (C) | 3 / 5 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | -0.62 | 0.344 elite | bad day |
| CLE | Nathaniel Lowe (1B) | 2 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | -0.62 | 0.335 above average | bad day |
| DET | Gleyber Torres (DH) | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 1 / 1 | 0 / 1 | 0.47 | 0.327 above average | — |
| DET | Spencer Torkelson (1B) | 4 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0.47 | 0.31 average | — |
| CLE | Jo Adell (LF) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.325 above average | — |
| CLE | Angel Genao (3B) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | -0.47 | 0.297 below average | — |
| DET | Kevin McGonigle (3B) | 5 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 0.45 | 0.35 elite | — |
| CLE | Steven Kwan (CF) | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 2 / 1 | 0 / 0 | 0.33 | 0.321 above average | — |
| DET | Ben Malgeri (RF) | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | -0.14 | 0.328 above average | — |
| DET | Hao-Yu Lee (2B) | 2 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.301 below average | — |
| CLE | Patrick Bailey (C) | 1 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.309 average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.034 | positive favors home; negative favors away |
| Recent form | 0.83 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.059 | positive favors home; negative favors away |
| Composite | 0.535 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.01-4.77 | n/a | Base ML historical model prediction |
| variance_applied | 4-5 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 3-4 | 0.554 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 3-4 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 3-4 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 3-4 | n/a | Capped at max 12 realistic runs |
| simulation_result | 3-4 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.01-4.77 | 4-5 | 0.243 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 3-4 | 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 | 3-4 | 3-4 | 0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 3-4 | 3-4 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 3-4 | 3-4 | 0 | Capped at max 12 realistic runs |
| simulation_result | 3-4 | 3-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 |
|---|---|---|---|---|
| CLE | Nathaniel Lowe | batter / 1B | worse | predicted_SO 2.129 |
| CLE | Chase DeLauter | batter / RF | better | predicted_AB -1.67 |
| DET | Kevin McGonigle | batter / 3B | deboosted | predicted_RBI 1.567 |
| CLE | Jo Adell | batter / LF | better | predicted_RBI 1.394 |
| DET | Javier Báez | batter / SS | worse | predicted_AB -1.375 |
| DET | Spencer Torkelson | batter / 1B | worse | predicted_SO -1.221 |
| CLE | Brayan Rocchio | batter / SS | better | predicted_H 1.2 |
| DET | Max Clark | batter / CF | worse | predicted_H -1.17 |
| 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 | 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_FINALIZED_MATCH_BOX | CLE model-prediction batting totals differ from final simulation box score (AB: current=35, sim=31; H: current=8, sim=7; HR: current=1, sim=2; R: current=5, sim=4; BB: current=3, sim=5; SO: current=7, sim=8). | CLE |
| info | CURRENT_PLAYER_MATCH_BOX | CLE current finalized hitter lines are model predictions and differ from the simulation box score: Steven Kwan: R current=1 box=0, BB current=1 box=0; José Ramírez: AB current=4 box=3, RBI current=1 box=0; Jo Adell: AB current=4 box=3, RBI current=1 box=2, R current=0 box=1, BB current=0 box=1; Angel Genao: AB current=4 box=3, H current=1 box=0, R current=1 box=0, BB current=0 box=1; Nathaniel Lowe: AB current=3 box=4, 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=0; Travis Bazzana: AB current=4 box=3, H current=1 box=0; Chase DeLauter: AB current=5 box=3, 2B current=1 box=0, HR current=0 box=1, BB current=0 box=1; Patrick Bailey: AB current=3 box=4, SO current=1 box=2 | CLE |
| info | CURRENT_FINALIZED_MATCH_BOX | DET model-prediction batting totals differ from final simulation box score (AB: current=33, sim=31; H: current=8, sim=4; 2B: current=2, sim=1; RBI: current=4, sim=3; R: current=5, sim=3; SO: current=8, sim=5; HBP: current=0, sim=1). | DET |
| info | CURRENT_PLAYER_MATCH_BOX | DET current finalized hitter lines are model predictions and differ from the simulation box score: Gleyber Torres: RBI current=0 box=1, BB current=1 box=0; Kevin McGonigle: AB current=4 box=3, HR current=0 box=1, RBI current=1 box=2, SO current=1 box=0; Ben Malgeri: H current=1 box=0, BB current=0 box=1, SO current=1 box=0; Riley Greene: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Spencer Torkelson: H current=0 box=1, R current=0 box=1, BB current=0 box=1, SO current=1 box=0; Dillon Dingler: AB current=5 box=4, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Hao-Yu Lee: AB current=3 box=4, H current=1 box=0; Max Clark: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, SO current=1 box=0 | DET |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| LAA | Ryan Johnson | 7 ER / 15 outs | 1 ER / 18 outs | -6 |
| PIT | Jared Jones | 5 ER / 15 outs | 0 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: Ryan Johnson (LAA) posted 1.50 ERA vs projected 12.60 (1 ER in 18 outs); he is materially worse pitching away (6.48 ERA there vs 3.18 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
Ryan Johnson (LAA) threw 18 outs, 1 ER = 1.5 ERA against a projected 12.6 ERA (-11.1 ERA error)
Bullpen behind him: 0 ER over 3 outs.
The HOME lineup he faced produced 1 runs on 5 hits and 0 HR, against a projected 5 runs / 9 hits (-4 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
HOME pitching
Jared Jones (PIT) threw 18 outs, 0 ER = 0 ERA against a projected 9 ERA (-9 ERA error)
Bullpen behind him: 0 ER over 3 outs.
The AWAY lineup he faced produced 0 runs on 4 hits and 0 HR, against a projected 4 runs / 7 hits (-4 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material)
| Team | Pitcher | Outs | ERA | ER | H | HR | BB | SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|
| LAA | Ryan Johnson (Starter) | 18 / 15 | 1.5 / 12.6 (-11.10) | 1 / 7 | 4 / 6 | 0 / 0 | 2 / 3 | 6 / 6 | venue away: 6.48 vs 3.18 ERA (worse here) · opp run factor 1.09 (strong) · 17 prior appearances this season |
| LAA | José Fermin (Middle Reliever (High Leverage)) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | |
| PIT | Jared Jones (Starter) | 18 / 15 | 0 / 9 (-9.00) | 0 / 5 | 3 / 7 | 0 / 0 | 1 / 1 | 9 / 5 | venue home: 5.31 vs 4.28 ERA (worse here) · opp run factor 1.07 (weak) · 16 prior appearances this season |
| PIT | Mason Montgomery (Closer) | 3 / 4 | 0 / 0 | 0 / 0 | 1 / 0 | 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| LAA | Zach Neto (SS) | 4 / 5 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 3 / 2 | -1.73 | 0.305 average | no signal |
| PIT | Brandon Lowe (2B) | 4 / 5 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 2 / 1 | -1.26 | 0.322 above average | bad day |
| LAA | Moisés Ballesteros (C) | 2 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0.8 | 0.291 below average | good day |
| LAA | Adam Frazier (DH) | 3 / 3 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 3 / 1 | -0.78 | 0.258 weak | projection too high |
| LAA | Oswald Peraza (3B) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.271 weak | — |
| LAA | Christian Moore (2B) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.238 weak | — |
| PIT | Nick Gonzales (DH) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | -0.47 | 0.327 above average | — |
| PIT | Oneil Cruz (CF) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 2 / 1 | -0.47 | 0.352 elite | — |
| PIT | Konnor Griffin (SS) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 0 | 1 / 1 | -0.47 | 0.298 below average | — |
| PIT | Henry Davis (C) | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.286 below average | — |
| LAA | Wade Meckler (RF) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | -0.33 | 0.312 average | — |
| LAA | Mike Trout (CF) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -0.33 | 0.376 elite | — |
| PIT | Jake Mangum (LF) | 3 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 0.31 | 0.283 weak | — |
| PIT | Spencer Horwitz (1B) | 2 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 2 / 1 | 0.19 | 0.312 average | — |
| PIT | Bryan Reynolds (RF) | 4 / 4 | 2 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 0.14 | 0.36 elite | — |
| LAA | Vaughn Grissom (1B) | 3 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 0 | 0 / 1 | 0.02 | 0.316 average | — |
| LAA | Jose Siri (LF) | 2 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.307 average | — |
| PIT | Jacob Gonzalez (3B) | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.306 average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.84 | positive favors home; negative favors away |
| Recent form | 0.648 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.017 | positive favors home; negative favors away |
| Composite | 1.02 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.69-5.87 | n/a | Base ML historical model prediction |
| variance_applied | 5-6 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-7 | 0.662 | Enhanced ML with recent form, H2H, low-score analysis |
| 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.69-5.87 | 5-6 | -0.175 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-6 | 5-7 | 1 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 5-7 | 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 |
|---|---|---|---|---|
| LAA | Ryan Johnson | pitcher / Starter | better | predicted_SO 4 |
| LAA | Zach Neto | batter / SS | worse | predicted_RBI 2.46 |
| PIT | Brandon Lowe | batter / 2B | better | predicted_AB -1.99 |
| LAA | Oswald Peraza | batter / 3B | neutral | predicted_2B 1.88 |
| PIT | Nick Gonzales | batter / DH | better | predicted_RBI 1.551 |
| LAA | Adam Frazier | batter / DH | worse | predicted_AB 1.5 |
| LAA | Christian Moore | batter / 2B | deboosted | predicted_H 1.29 |
| PIT | Jake Mangum | batter / LF | worse | predicted_SO 1.226 |
| 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 | 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_FINALIZED_MATCH_BOX | LAA model pitcher projections differ from final simulation pitching box score (H: current=6, sim=7; BB: current=3, sim=4; HR: current=0, sim=1). | LAA |
| info | CURRENT_FINALIZED_MATCH_BOX | LAA model-prediction batting totals differ from final simulation box score (AB: current=32, sim=36; H: current=7, sim=9; 2B: current=2, sim=4; HR: current=1, sim=0; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=1). | LAA |
| info | CURRENT_PLAYER_MATCH_BOX | LAA current finalized hitter lines are model predictions and differ from the simulation box score: Wade Meckler: AB current=3 box=4, BB current=1 box=0; Moisés Ballesteros: AB current=3 box=4, SO current=1 box=2; Jose Siri: BB current=0 box=1; Adam Frazier: AB current=3 box=4, 2B current=1 box=0; Oswald Peraza: AB current=3 box=4, H current=1 box=2, 2B current=0 box=2, RBI current=0 box=1; Christian Moore: H current=1 box=2, 2B current=0 box=1, RBI current=1 box=0, R current=0 box=1; Mike Trout: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Zach Neto: H current=1 box=2, HR current=1 box=0, RBI current=1 box=3, BB current=1 box=0 | LAA |
| info | CURRENT_FINALIZED_MATCH_BOX | PIT model-prediction batting totals differ from final simulation box score (AB: current=35, sim=31; H: current=9, sim=7; RBI: current=5, sim=7; R: current=5, sim=7; BB: current=3, sim=4; SO: current=8, sim=7; HBP: current=0, sim=1). | PIT |
| info | CURRENT_PLAYER_MATCH_BOX | PIT current finalized hitter lines are model predictions and differ from the simulation box score: Bryan Reynolds: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, RBI current=0 box=1; Nick Gonzales: 2B current=0 box=1, RBI current=1 box=2, R current=0 box=1, SO current=0 box=1; Brandon Lowe: AB current=5 box=3, H current=1 box=2, HR current=1 box=0, SO current=1 box=0; Jake Mangum: H current=1 box=0, R current=1 box=0, SO current=1 box=2; Jacob Gonzalez: H current=1 box=0, RBI current=1 box=0, SO current=1 box=0, HBP current=0 box=1; Oneil Cruz: RBI current=1 box=2, BB current=1 box=0; Spencer Horwitz: AB current=4 box=3, R current=0 box=1, BB current=0 box=1, SO current=1 box=0; Konnor Griffin: H current=1 box=2, HR current=0 box=1 | PIT |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| MIL | Shane Drohan | 1 ER / 16 outs | 6 ER / 12 outs | 5 |
| CIN | Rhett Lowder | 5 ER / 15 outs | 6 ER / 12 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: Shane Drohan (MIL) posted 13.50 ERA vs projected 1.69 (6 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
Shane Drohan (MIL) threw 12 outs, 6 ER = 13.5 ERA against a projected 1.69 ERA (11.81 ERA error)
Bullpen behind him: 1 ER over 9 outs.
The HOME lineup he faced produced 7 runs on 8 hits and 2 HR, against a projected 4 runs / 8 hits (3 runs vs projection).
Who did the damage to him:
Verdict: pitching: the starter gave up runs at a far worse rate than projected
HOME pitching
Rhett Lowder (CIN) threw 12 outs, 6 ER = 13.5 ERA against a projected 9 ERA (4.5 ERA error)
Bullpen behind him: 1 ER over 3 outs.
The AWAY lineup he faced produced 10 runs on 12 hits and 0 HR, against a projected 5 runs / 9 hits (5 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) |
|---|---|---|---|---|---|---|---|---|---|
| MIL | Shane Drohan (Starter) | 12 / 16 | 13.5 / 1.69 (+11.81) | 6 / 1 | 5 / 3 | 2 / 0 | 2 / 4 | 5 / 6 | venue away: 3.65 vs 5.01 ERA (ok) · opp run factor 0.93 (weak) · 27 prior appearances this season |
| MIL | Aaron Ashby (Middle Reliever (High Leverage)) | 3 / 3 | 0 / 9 (-9.00) | 0 / 1 | 0 / 2 | 0 / 1 | 1 / 0 | 2 / 0 | |
| MIL | Trevor Megill (Closer) | 3 / 4 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 3 / 1 | |
| MIL | Antonio Senzatela (Middle Reliever (High Leverage)) | 3 / 0 | 9 / n/a | 1 / 0 | 2 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | |
| CIN | Rhett Lowder (Starter) | 12 / 15 | 13.5 / 9 (+4.50) | 6 / 5 | 6 / 7 | 0 / 0 | 4 / 1 | 2 / 5 | venue home: 3.38 vs 6.79 ERA (ok) · opp run factor 1.1 (strong) · 24 prior appearances this season |
| CIN | Luis Mey (Setup Man) | 3 / 4 | 9 / 0 (+9.00) | 1 / 0 | 3 / 0 | 0 / 0 | 0 / 0 | 2 / 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CIN | Matt McLain (2B) | 4 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | 1.4 | 0.307 average | no signal |
| CIN | Eugenio Suárez (DH) | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 3 / 0 | 2 / 0 | 1 / 0 | 0 / 1 | 1.26 | 0.29 below average | good day |
| MIL | David Hamilton (3B) | 5 / 3 | 2 / 1 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 1.09 | 0.275 weak | good day |
| CIN | Héctor Rodríguez (RF) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 0 | 3 / 1 | -1.07 | 0.275 weak | projection too high |
| MIL | Cooper Pratt (SS) | 4 / 3 | 1 / 1 | 0 / 0 | 1 / 0 | 0 / 0 | 4 / 1 | 1 / 0 | 1 / 0 | 1 / 1 | 0.95 | 0.313 average | no signal |
| MIL | Jackson Chourio (LF) | 5 / 5 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 2 / 1 | 0 / 0 | 2 / 1 | -0.93 | 0.334 above average | bad day |
| MIL | Brice Turang (2B) | 4 / 5 | 3 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 3 / 1 | 2 / 1 | 0 / 1 | 1 / 1 | 0.92 | 0.335 above average | projection too low |
| CIN | Tyler Stephenson (C) | 3 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 1 / 1 | 1 / 1 | -0.78 | 0.335 above average | bad day |
| CIN | Dane Myers (CF) | 5 / 3 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 0 | 2 / 1 | 0.78 | 0.311 average | no signal |
| CIN | Elly De La Cruz (SS) | 5 / 4 | 3 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 0 / 1 | 1 / 1 | 0.61 | 0.364 elite | projection too low |
| CIN | Edwin Arroyo (3B) | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.291 below average | — |
| MIL | Jake Bauers (1B) | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 2 / 1 | 1 / 1 | 0.33 | 0.373 elite | — |
| MIL | William Contreras (C) | 4 / 5 | 1 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 2 / 1 | 1 / 0 | 1 / 1 | 0.33 | 0.333 above average | — |
| MIL | Sal Frelick (RF) | 6 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0.31 | 0.287 below average | — |
| MIL | Christian Yelich (DH) | 4 / 5 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 1 | 1 / 1 | -0.31 | 0.314 average | — |
| CIN | JJ Bleday (LF) | 2 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 2 / 1 | 1 / 1 | -0.14 | 0.349 elite | — |
| MIL | Garrett Mitchell (CF) | 2 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0 / 1 | -0.02 | 0.346 elite | — |
| CIN | Sal Stewart (1B) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 1 | 0 | 0.351 elite | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -1.58 | positive favors home; negative favors away |
| Recent form | -0.654 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.166 | positive favors home; negative favors away |
| Composite | -1.938 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.23-3.61 | n/a | Base ML historical model prediction |
| variance_applied | 4-4 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 7-5 | 0.54 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 8-5 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 8-5 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 8-5 | n/a | Capped at max 12 realistic runs |
| simulation_result | 8-5 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.23-3.61 | 4-4 | -0.617 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-4 | 7-5 | 2 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 7-5 | 8-5 | 1 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 8-5 | 8-5 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 8-5 | 8-5 | -0 | Capped at max 12 realistic runs |
| simulation_result | 8-5 | 8-5 | -0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| MIL | Christian Yelich | batter / DH | better | predicted_RBI 2.44 |
| MIL | DL Hall | pitcher / Reliever | worse | predicted_ER 2 |
| MIL | David Hamilton | batter / 3B | boosted | predicted_AB 1.98 |
| MIL | Sal Frelick | batter / RF | better | predicted_AB 1.837 |
| CIN | Elly De La Cruz | batter / SS | better | predicted_SO 1.805 |
| CIN | Edwin Arroyo | batter / 3B | deboosted | predicted_AB 1.756 |
| MIL | Jake Bauers | batter / 1B | worse | predicted_AB 1.623 |
| CIN | Tyler Stephenson | batter / C | better | predicted_BB 1.617 |
| 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 | 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 | CIN model-prediction batting totals differ from final simulation box score (AB: current=32, sim=41; 2B: current=1, sim=2; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=7; SO: current=9, sim=10; HBP: current=0, sim=2). | CIN |
| info | CURRENT_PLAYER_MATCH_BOX | CIN current finalized hitter lines are model predictions and differ from the simulation box score: Tyler Stephenson: H current=1 box=2, RBI current=1 box=0, R current=0 box=1, BB current=1 box=2; Elly De La Cruz: AB current=4 box=6, H current=1 box=2, 2B current=0 box=1, RBI current=0 box=2; Sal Stewart: AB current=4 box=5, RBI current=1 box=0, BB current=0 box=1, SO current=1 box=0; Dane Myers: AB current=3 box=4, H current=1 box=0, BB current=0 box=1, HBP current=0 box=1; Héctor Rodríguez: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Edwin Arroyo: AB current=3 box=5, RBI current=0 box=1, R current=0 box=1, SO current=1 box=0; Eugenio Suárez: AB current=3 box=5, HR current=0 box=1, RBI current=0 box=2, R current=0 box=1; Matt McLain: AB current=3 box=4, BB current=0 box=1, SO current=1 box=2 | CIN |
| info | CURRENT_FINALIZED_MATCH_BOX | MIL model-prediction batting totals differ from final simulation box score (AB: current=36, sim=43; H: current=9, sim=10; 2B: current=2, sim=3; RBI: current=5, sim=8; R: current=5, sim=8; BB: current=4, sim=2; SO: current=8, sim=10). | MIL |
| info | CURRENT_PLAYER_MATCH_BOX | MIL current finalized hitter lines are model predictions and differ from the simulation box score: Jake Bauers: AB current=3 box=5, H current=1 box=0, BB current=1 box=0, SO current=1 box=2; Jackson Chourio: H current=1 box=2, HR current=1 box=0; Sal Frelick: AB current=3 box=5, H current=1 box=2, 2B current=0 box=1, RBI current=0 box=2; Christian Yelich: H current=1 box=2, HR current=0 box=1, RBI current=1 box=3, BB current=1 box=0; William Contreras: 2B current=1 box=0, SO current=1 box=0; Brice Turang: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Garrett Mitchell: R current=0 box=1, SO current=1 box=2; Cooper Pratt: AB current=3 box=4, 2B current=0 box=1, RBI current=1 box=0, R current=0 box=1 | MIL |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| MIN | Zebby Matthews | 4 ER / 18 outs | 4 ER / 15 outs | 0 |
| CHW | Erick Fedde | 5 ER / 14 outs | 0 ER / 15 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:
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
Zebby Matthews (MIN) threw 15 outs, 4 ER = 7.2 ERA against a projected 6 ERA (1.2 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The HOME lineup he faced produced 4 runs on 6 hits and 3 HR, against a projected 5 runs / 8 hits (-1 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
HOME pitching
No settled pitching line for this club. The forecast named Erick Fedde (CHW) at a projected 9.64 ERA, but the per-player feed carries no pitching row for him in this game, so the actual-versus-projected comparison cannot be made on this side. That is a source-coverage gap in the settled box, not a forecasting failure.
Bullpen behind him: 0 ER over 3 outs.
The AWAY lineup he faced produced 1 runs on 8 hits and 1 HR, against a projected 5 runs / 9 hits (-4 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) |
|---|---|---|---|---|---|---|---|---|---|
| MIN | Zebby Matthews (Starter) | 15 / 18 | 7.2 / 6 | 4 / 4 | 4 / 4 | 3 / 0 | 1 / 1 | 4 / 6 | venue away: 6.38 vs 2.84 ERA (worse here) · opp run factor 0.95 (average) · 19 prior appearances this season |
| CHW | Bryan Hudson (Middle Reliever (High Leverage)) | 3 / 3 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| MIN | Josh Bell (DH) | 3 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | 0 / 1 | 1.73 | 0.333 above average | projection too low |
| MIN | Ryan Jeffers (C) | 4 / 5 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -1.73 | 0.356 elite | bad day |
| CHW | Munetaka Murakami (1B) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 2 | -1.73 | 0.35 elite | bad day |
| MIN | Luke Keaschall (RF) | 5 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | -1.11 | 0.315 average | no signal |
| CHW | Chase Meidroth (2B) | 3 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | -1.11 | 0.292 below average | projection too high |
| MIN | Kody Clemens (2B) | 4 / 4 | 3 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 1 | 0.94 | 0.341 elite | projection too low |
| CHW | Colson Montgomery (SS) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 1 | 1 / 1 | 0 / 0 | 2 / 1 | 0.93 | 0.307 average | no signal |
| MIN | Royce Lewis (1B) | 4 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0.78 | 0.316 average | no signal |
| CHW | Braden Montgomery (RF) | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 0 | 0 / 1 | 0 / 1 | 0.6 | 0.329 above average | projection too low |
| CHW | Miguel Vargas (3B) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 1 | 0 / 1 | 1 / 1 | 0.6 | 0.386 elite | projection too low |
| MIN | Brooks Lee (3B) | 4 / 5 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.274 weak | — |
| MIN | Trevor Larnach (LF) | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | -0.47 | 0.329 above average | — |
| MIN | Walker Jenkins (CF) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 2 / 1 | -0.47 | 0.253 weak | — |
| CHW | Kyle Teel (C) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.29 below average | — |
| CHW | Andrew Benintendi (DH) | 1 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 1 / 0 | 1 / 1 | 0.33 | 0.31 average | — |
| CHW | Tristan Peters (CF) | 3 / 3 | 2 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0.16 | 0.319 average | — |
| MIN | Kaelen Culpepper (SS) | 3 / 5 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 0 | 0 / 1 | 0.02 | 0.32 average | — |
| CHW | Sam Antonacci (LF) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 0 | 0 | 0.342 elite | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.359 | positive favors home; negative favors away |
| Recent form | -0.046 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.032 | positive favors home; negative favors away |
| Composite | -0.065 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.81-4.01 | n/a | Base ML historical model prediction |
| variance_applied | 5-4 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 6-5 | 0.538 | 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 | 4.81-4.01 | 5-4 | 0.203 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-4 | 6-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 | 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 |
|---|---|---|---|---|
| MIN | Royce Lewis | batter / 1B | boosted | predicted_RBI 2.26 |
| CHW | Andrew Benintendi | batter / DH | better | predicted_2B 1.829 |
| CHW | Sam Antonacci | batter / LF | boosted | predicted_RBI 1.655 |
| MIN | Luke Keaschall | batter / RF | better | predicted_AB 1.538 |
| CHW | Munetaka Murakami | batter / 1B | worse | predicted_SO 1.505 |
| CHW | Colson Montgomery | batter / SS | worse | predicted_SO -1.432 |
| CHW | Miguel Vargas | batter / 3B | worse | predicted_AB -1.42 |
| MIN | Ryan Jeffers | batter / C | worse | predicted_H -1.25 |
| 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 | 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 | CHW model-prediction batting totals differ from final simulation box score (AB: current=32, sim=33; H: current=8, sim=6; 2B: current=2, sim=3; HR: current=1, sim=0; RBI: current=4, sim=5; BB: current=4, sim=2; SO: current=8, sim=10). | CHW |
| info | CURRENT_PLAYER_MATCH_BOX | CHW current finalized hitter lines are model predictions and differ from the simulation box score: Munetaka Murakami: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Sam Antonacci: AB current=3 box=4, H current=1 box=2, RBI current=0 box=2, SO current=0 box=1; Braden Montgomery: RBI current=1 box=0, R current=0 box=1, BB current=1 box=0, SO current=1 box=0; Miguel Vargas: AB current=4 box=3, H current=1 box=0; Andrew Benintendi: AB current=3 box=4, H current=0 box=2, 2B current=0 box=2, RBI current=1 box=2; Kyle Teel: H current=1 box=0; Colson Montgomery: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Tristan Peters: AB current=3 box=4, RBI current=0 box=1, R current=0 box=1, SO current=0 box=1 | CHW |
| info | CURRENT_FINALIZED_MATCH_BOX | MIN model-prediction batting totals differ from final simulation box score (AB: current=38, sim=35; H: current=9, sim=8; 2B: current=2, sim=1; RBI: current=5, sim=6; R: current=5, sim=6; BB: current=3, sim=5; SO: current=7, sim=11). | MIN |
| info | CURRENT_PLAYER_MATCH_BOX | MIN current finalized hitter lines are model predictions and differ from the simulation box score: Luke Keaschall: AB current=4 box=5, H current=1 box=2, 2B current=1 box=0, RBI current=0 box=1; Kody Clemens: H current=1 box=2, BB current=0 box=1, SO current=1 box=2; Josh Bell: AB current=4 box=3, H current=1 box=0, BB current=0 box=1; Ryan Jeffers: AB current=5 box=4, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Brooks Lee: R current=0 box=1; Kaelen Culpepper: AB current=5 box=4, 2B current=1 box=0, RBI current=1 box=0; Trevor Larnach: 2B current=0 box=1, R current=0 box=1, BB current=0 box=1; Royce Lewis: HR current=0 box=1, RBI current=1 box=3, R current=0 box=1, SO current=1 box=2 | MIN |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| NYY | Max Fried | 0 ER / 17 outs | 1 ER / 17 outs | 1 |
| SD | Walker Buehler | 4 ER / 16 outs | 1 ER / 15 outs | -3 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Starter miss: Walker Buehler (SD) posted 1.80 ERA vs projected 6.75 (1 ER in 15 outs); no credible venue, opponent-strength or experience signal explains it — an outlier start (variance).
What to do: Variance — no model change is warranted for this start.
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Max Fried (NYY) threw 17 outs, 1 ER = 1.59 ERA against a projected 0 ERA (1.59 ERA error)
Bullpen behind him: 1 ER over 4 outs.
The HOME lineup he faced produced 2 runs on 6 hits and 1 HR, against a projected 4 runs / 8 hits (-2 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
HOME pitching
Walker Buehler (SD) threw 15 outs, 1 ER = 1.8 ERA against a projected 6.75 ERA (-4.95 ERA error)
Bullpen behind him: 0 ER over 12 outs.
The AWAY lineup he faced produced 2 runs on 5 hits and 1 HR, against a projected 5 runs / 8 hits (-3 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
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 | Max Fried (Starter) | 17 / 17 | 1.59 / 0 | 1 / 0 | 4 / 2 | 0 / 0 | 1 / 2 | 4 / 6 | venue away: 2.56 vs 3.77 ERA (ok) · opp run factor 1.02 (average) · 16 prior appearances this season |
| NYY | David Bednar (Closer) | 3 / 3 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | |
| NYY | Paul Blackburn (Middle Reliever (High Leverage)) | 1 / 4 | 27 / 0 (+27.00) | 1 / 0 | 1 / 1 | 1 / 0 | 0 / 0 | 1 / 2 | |
| SD | Walker Buehler (Starter) | 15 / 16 | 1.8 / 6.75 (-4.95) | 1 / 4 | 3 / 5 | 1 / 2 | 2 / 0 | 6 / 4 | venue home: 4.15 vs 5.23 ERA (ok) · opp run factor 1.03 (strong) · 27 prior appearances this season |
| SD | Adrian Morejon (Setup Man) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 3 / 0 | |
| SD | Bradgley Rodriguez (Middle Reliever (High Leverage)) | 3 / 5 | 0 / 5.4 (-5.40) | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 2 | 1 / 1 | |
| SD | Mason Miller (Closer) | 6 / 3 | 0 / 9 (-9.00) | 0 / 1 | 1 / 1 | 0 / 1 | 0 / 0 | 4 / 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| SD | Luis Campusano (C) | 4 / 3 | 2 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 1.87 | 0.335 above average | projection too low |
| SD | Ty France (1B) | 3 / 3 | 2 / 1 | 2 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 1 / 0 | 1 / 1 | 1.42 | 0.331 above average | projection too low |
| SD | Fernando Tatis Jr. (RF) | 4 / 5 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 1 | -1.4 | 0.374 elite | bad day |
| NYY | Cody Bellinger (LF) | 4 / 5 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 3 / 1 | -0.8 | 0.342 elite | bad day |
| SD | Samad Taylor (LF) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | -0.8 | 0.309 average | no signal |
| SD | Jackson Merrill (CF) | 3 / 5 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 1 | -0.78 | 0.336 above average | bad day |
| NYY | Ben Rice (DH) | 4 / 5 | 3 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | 0.61 | 0.378 elite | projection too low |
| NYY | Trent Grisham (CF) | 0 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 0 / 1 | -0.47 | 0.337 above average | — |
| NYY | George Lombard Jr. (SS) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.284 below average | — |
| NYY | Austin Wells (C) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.291 below average | — |
| SD | Austin Hays (DH) | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.27 weak | — |
| SD | Manny Machado (3B) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -0.33 | 0.333 above average | — |
| SD | Xander Bogaerts (SS) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 2 / 0 | -0.33 | 0.321 above average | — |
| NYY | Luis García Jr. (1B) | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 2 / 1 | -0.31 | 0.348 elite | — |
| NYY | Jazz Chisholm Jr. (2B) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 1 / 1 | -0.14 | 0.294 below average | — |
| SD | Jake Cronenworth (2B) | 2 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | -0.14 | 0.272 weak | — |
| NYY | Spencer Jones (RF) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0 / 0 | 2 / 1 | 0 | 0.329 above average | — |
| NYY | Ryan McMahon (3B) | 2 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.308 average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.727 | positive favors home; negative favors away |
| Recent form | -0.544 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.007 | positive favors home; negative favors away |
| Composite | -1.091 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.46-2.99 | n/a | Base ML historical model prediction |
| variance_applied | 4-3 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-3 | 0.643 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 6-3 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 6-3 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 6-3 | n/a | Capped at max 12 realistic runs |
| simulation_result | 6-3 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.46-2.99 | 4-3 | -0.467 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-3 | 5-3 | 1 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 5-3 | 6-3 | 1 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 6-3 | 6-3 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 6-3 | 6-3 | -0 | Capped at max 12 realistic runs |
| simulation_result | 6-3 | 6-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 |
|---|---|---|---|---|
| NYY | Ryan McMahon | batter / 3B | better | predicted_RBI 1.85 |
| NYY | Cody Bellinger | batter / LF | boosted | predicted_RBI 1.41 |
| SD | Ty France | batter / 1B | better | predicted_RBI 1.36 |
| NYY | Spencer Jones | batter / RF | better | predicted_SO -1.188 |
| NYY | Austin Wells | batter / C | worse | predicted_AB 1.184 |
| NYY | Jazz Chisholm Jr. | batter / 2B | worse | predicted_SO -1.181 |
| SD | Fernando Tatis Jr. | batter / RF | boosted | predicted_SO 1.162 |
| SD | Jackson Merrill | batter / CF | worse | predicted_H -1.16 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| 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_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 | NYY model-prediction batting totals differ from final simulation box score (AB: current=33, sim=34; H: current=8, sim=7; 2B: current=1, sim=2; HR: current=1, sim=4; RBI: current=5, sim=6; R: current=5, sim=6; BB: current=3, sim=2; SO: current=9, sim=5). | 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=4, HR current=0 box=1, SO current=1 box=0; Luis García Jr.: R current=0 box=1, SO current=1 box=0; Trent Grisham: RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Cody Bellinger: AB current=5 box=4, HR current=0 box=1, RBI current=1 box=2, BB current=1 box=0; Ben Rice: AB current=5 box=4, 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=0; Jazz Chisholm Jr.: AB current=3 box=4, H current=1 box=0, R current=1 box=0, SO current=1 box=0; George Lombard Jr.: HR current=0 box=1, RBI current=0 box=1, R current=0 box=1, BB current=0 box=1; Ryan McMahon: H current=0 box=1, HR current=0 box=1, RBI current=0 box=2, R current=0 box=1 | NYY |
| 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=3; HR: current=1, sim=0; RBI: current=4, sim=3; R: current=4, sim=3; BB: current=3, sim=2). | SD |
| info | CURRENT_PLAYER_MATCH_BOX | SD current finalized hitter lines are model predictions and differ from the simulation box score: Samad Taylor: RBI current=0 box=1, BB current=1 box=0; Manny Machado: RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Austin Hays: AB current=3 box=4, SO current=1 box=0; Ty France: AB current=3 box=4, 2B current=0 box=1, RBI current=1 box=2, R current=0 box=1; Fernando Tatis Jr.: H current=1 box=2, 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=0; Xander Bogaerts: 2B current=0 box=1; Luis Campusano: BB current=0 box=1; Jake Cronenworth: 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 |
|---|---|---|---|---|
| OAK | Kade Morris | 5 ER / 9 outs | 5 ER / 8 outs | 0 |
| SEA | Logan Gilbert | 1 ER / 17 outs | 7 ER / 14 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: Logan Gilbert (SEA) posted 13.50 ERA vs projected 1.59 (7 ER in 14 outs); he is materially worse pitching home (3.98 ERA there vs 2.70 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
Kade Morris (OAK) threw 8 outs, 5 ER = 16.88 ERA against a projected 15 ERA (1.88 ERA error) only 5 prior appearances in the covered season - the projection had little of his own record to stand on
Bullpen behind him: 1 ER over 6 outs.
The HOME lineup he faced produced 6 runs on 10 hits and 1 HR, against a projected 6 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
Logan Gilbert (SEA) threw 14 outs, 7 ER = 13.5 ERA against a projected 1.59 ERA (11.91 ERA error)
Bullpen behind him: 0 ER over 6 outs.
The AWAY lineup he faced produced 7 runs on 11 hits and 4 HR, against a projected 4 runs / 8 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) |
|---|---|---|---|---|---|---|---|---|---|
| OAK | Kade Morris (Starter) | 8 / 9 | 16.88 / 15 | 5 / 5 | 5 / 9 | 1 / 1 | 1 / 1 | 0 / 4 | opp run factor 1.02 (weak) · 5 prior appearances this season |
| OAK | Hogan Harris (Setup Man) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | |
| OAK | Elvis Alvarado (Closer) | 3 / 6 | 9 / 0 (+9.00) | 1 / 0 | 2 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | |
| SEA | Logan Gilbert (Starter) | 14 / 17 | 13.5 / 1.59 (+11.91) | 7 / 1 | 8 / 4 | 4 / 0 | 2 / 5 | 10 / 6 | venue home: 3.98 vs 2.7 ERA (worse here) · opp run factor 0.98 (weak) · 27 prior appearances this season |
| SEA | Andrés Muñoz (Closer) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | |
| SEA | José A. Ferrer (Setup Man) | 3 / 2 | 0 / 54 (-54.00) | 0 / 4 | 0 / 5 | 0 / 2 | 1 / 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| OAK | Max Muncy (DH) | 4 / 3 | 3 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | 1.87 | 0.293 below average | good day |
| OAK | Jeff McNeil (1B) | 5 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 1 | 1 / 1 | 0 / 0 | 2 / 0 | 1.4 | 0.307 average | no signal |
| SEA | Josh Naylor (1B) | 4 / 4 | 3 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1.25 | 0.313 average | no signal |
| SEA | Lazaro Montes (RF) | 2 / 5 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 2 | -1.11 | 0.27 weak | projection too high |
| OAK | Alika Williams (SS) | 3 / 3 | 1 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | 1 / 0 | 2 / 0 | 1 / 0 | 0 / 1 | 0.95 | 0.245 weak | good day |
| SEA | Cal Raleigh (C) | 3 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 1 / 1 | 2 / 1 | 3 / 1 | 1 / 1 | 0 / 1 | 0.78 | 0.315 average | no signal |
| OAK | Zack Gelof (3B) | 5 / 5 | 2 / 1 | 0 / 0 | 1 / 0 | 1 / 1 | 2 / 1 | 2 / 1 | 0 / 1 | 1 / 1 | 0.76 | 0.316 average | no signal |
| SEA | Brock Rodden (3B) | 3 / 3 | 2 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0 / 1 | 0.61 | 0.231 weak | good day |
| SEA | Julio Rodríguez (CF) | 5 / 5 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 1 | -0.47 | 0.336 above average | — |
| OAK | Lawrence Butler (RF) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 1 | 2 / 1 | -0.33 | 0.324 above average | — |
| OAK | Donovan Walton (2B) | 4 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | -0.33 | 0.331 above average | — |
| SEA | J.P. Crawford (SS) | 2 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 2 / 1 | 0 / 1 | 0.33 | 0.327 above average | — |
| OAK | Jonah Heim (C) | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | -0.31 | 0.292 below average | — |
| SEA | Cole Young (2B) | 4 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 0 / 0 | 0 / 1 | 0.31 | 0.316 average | — |
| OAK | Henry Bolte (CF) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 2 / 0 | 2 / 1 | 0.19 | 0.311 average | — |
| SEA | Randy Arozarena (LF) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 0 | 1 / 1 | -0.14 | 0.349 elite | — |
| OAK | Carlos Cortes (LF) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0 | 0.306 average | — |
| SEA | Dominic Canzone (DH) | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.356 elite | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.625 | positive favors home; negative favors away |
| Recent form | 0.158 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.034 | positive favors home; negative favors away |
| Composite | 0.639 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 3.16-6.15 | n/a | Base ML historical model prediction |
| variance_applied | 3-6 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-6 | 0.548 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 5-6 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 5-6 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 5-6 | n/a | Capped at max 12 realistic runs |
| simulation_result | 5-6 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 3.16-6.15 | 3-6 | 0.014 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 3-6 | 5-6 | -2 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 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 |
|---|---|---|---|---|
| OAK | Jonah Heim | batter / C | worse | predicted_H 2.06 |
| OAK | Kade Morris | pitcher / Starter | worse | predicted_IP -2 |
| SEA | Dominic Canzone | batter / DH | better | predicted_H 1.95 |
| OAK | Elvis Alvarado | pitcher / Closer | better | predicted_IP 1.9 |
| SEA | Julio Rodríguez | batter / CF | better | predicted_2B 1.837 |
| OAK | Max Muncy | batter / DH | worse | predicted_AB 1.833 |
| OAK | Carlos Cortes | batter / LF | better | predicted_BB 1.738 |
| OAK | Jeff McNeil | batter / 1B | worse | predicted_AB 1.689 |
| 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 | 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 | OAK model-prediction batting totals differ from final simulation box score (AB: current=32, sim=38; H: current=8, sim=11; HR: current=1, sim=2; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=5; SO: current=8, sim=10; HBP: current=0, sim=1). | 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, RBI current=0 box=1, SO current=1 box=0; Jeff McNeil: AB current=3 box=5, H current=1 box=2, RBI current=1 box=0, R current=1 box=0; Carlos Cortes: HR current=0 box=1, RBI current=0 box=2, R current=0 box=1, BB current=0 box=2; Max Muncy: AB current=3 box=5, 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1; Lawrence Butler: RBI current=1 box=0, SO current=1 box=2; Alika Williams: AB current=3 box=4, H current=1 box=0, 2B current=1 box=0; Donovan Walton: H current=0 box=1, 2B current=0 box=1, R current=1 box=0, HBP current=0 box=1; Zack Gelof: BB current=1 box=0, SO current=1 box=2 | OAK |
| info | CURRENT_FINALIZED_MATCH_BOX | SEA model-prediction batting totals differ from final simulation box score (AB: current=37, sim=34; H: current=8, sim=10; 2B: current=1, sim=4; HR: current=1, sim=2; RBI: current=5, sim=6; BB: current=4, sim=1; SO: current=9, sim=6). | SEA |
| info | CURRENT_PLAYER_MATCH_BOX | SEA current finalized hitter lines are model predictions and differ from the simulation box score: Cal Raleigh: HR current=1 box=0, BB current=1 box=0, SO current=1 box=2; Dominic Canzone: AB current=4 box=3, H current=1 box=3, 2B current=0 box=1, HR current=0 box=2; Randy Arozarena: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=1 box=2; Julio Rodríguez: AB current=5 box=4, H current=1 box=2, 2B current=0 box=2, RBI current=1 box=2; Josh Naylor: H current=1 box=2, 2B current=0 box=1, R current=0 box=1; Brock Rodden: H current=0 box=1, R current=0 box=1, BB current=1 box=0, SO current=1 box=0; Lazaro Montes: AB current=5 box=4, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Cole Young: RBI current=0 box=1, 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 | Matt Wilkinson | 3 ER / 12 outs | 4 ER / 9 outs | 1 |
| NYM | Nolan McLean | 2 ER / 18 outs | 2 ER / 18 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: Matt Wilkinson (SF) posted 12.00 ERA vs projected 6.75 (4 ER in 9 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
Matt Wilkinson (SF) threw 9 outs, 4 ER = 12 ERA against a projected 6.75 ERA (5.25 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 9 runs on 9 hits and 5 HR, against a projected 3 runs / 8 hits (6 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
Nolan McLean (NYM) threw 18 outs, 2 ER = 3 ERA against a projected 3 ERA (0 ERA error)
Bullpen behind him: 0 ER over 3 outs.
The AWAY lineup he faced produced 4 runs on 10 hits and 1 HR, against a projected 4 runs / 8 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) |
|---|---|---|---|---|---|---|---|---|---|
| SF | Matt Wilkinson (Starter) | 9 / 12 | 12 / 6.75 (+5.25) | 4 / 3 | 5 / 6 | 3 / 1 | 2 / 0 | 2 / 3 | venue away: 6.35 vs 3 ERA (ok) · opp run factor 0.98 (weak) · thin sample: 3 prior appearances this season (high uncertainty) |
| NYM | Nolan McLean (Starter) | 18 / 18 | 3 / 3 | 2 / 2 | 6 / 5 | 0 / 2 | 4 / 3 | 7 / 8 | venue home: 3.62 vs 2.49 ERA (worse here) · opp run factor 1.06 (weak) · 27 prior appearances this season |
| NYM | Kodai Senga (Closer) | 3 / 3 | 0 / 9 (-9.00) | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | 0 / 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| NYM | Francisco Alvarez (C) | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 2 / 0 | 2 / 1 | 2 / 0 | 0 / 0 | 0 / 1 | 2.33 | 0.326 above average | projection too low |
| SF | Rafael Devers (1B) | 4 / 5 | 3 / 1 | 2 / 0 | 0 / 0 | 1 / 1 | 5 / 1 | 1 / 1 | 1 / 1 | 1 / 1 | 1.56 | 0.34 elite | projection too low |
| NYM | Bo Bichette (3B) | 3 / 5 | 2 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | 2 / 0 | 2 / 0 | 1 / 0 | 0 / 1 | 1.42 | 0.325 above average | projection too low |
| NYM | Mark Vientos (DH) | 4 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 3 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 1.4 | 0.314 average | no signal |
| NYM | Juan Soto (LF) | 4 / 5 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 1 | 1 / 1 | 0 / 0 | -1.4 | 0.416 elite | bad day |
| NYM | Francisco Lindor (SS) | 5 / 5 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 1 | 2 / 1 | 0 / 1 | 1 / 1 | 1.07 | 0.338 above average | projection too low |
| NYM | Marcus Semien (2B) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | -0.8 | 0.305 average | no signal |
| SF | Jung Hoo Lee (RF) | 5 / 5 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 2 / 0 | -0.47 | 0.315 average | — |
| SF | Christian Koss (SS) | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 1 / 0 | 1 / 1 | 0.33 | 0.24 weak | — |
| SF | Bryce Eldridge (DH) | 3 / 5 | 1 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 2 / 1 | 2 / 1 | 0.33 | 0.357 elite | — |
| SF | Turner Hill (LF) | 4 / 3 | 2 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 1 / 1 | 0 / 1 | 0.16 | 0.346 elite | — |
| NYM | Nick Morabito (CF) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 1 / 0 | 1 / 2 | -0.14 | 0.298 below average | — |
| SF | Osleivis Basabe (3B) | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 0 | 0.283 weak | — |
| SF | Drew Gilbert (CF) | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 0 | 0.328 above average | — |
| SF | Drew Cavanaugh (C) | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.324 above average | — |
| SF | Nate Furman (2B) | 5 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 2 / 1 | 0 | 0.213 weak | — |
| NYM | Carson Benge (RF) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 0 | 0.336 above average | — |
| NYM | Christopher Morel (1B) | 2 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.213 weak | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.016 | positive favors home; negative favors away |
| Recent form | -0.185 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.075 | positive favors home; negative favors away |
| Composite | -0.024 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 3.39-5.69 | n/a | Base ML historical model prediction |
| variance_applied | 3-6 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 0.547 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run) |
| 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.39-5.69 | 3-6 | 0.707 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 3-6 | 4-5 | -2 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run) |
| 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 |
|---|---|---|---|---|
| SF | Drew Gilbert | batter / CF | better | predicted_2B 1.877 |
| NYM | Juan Soto | batter / LF | boosted | predicted_AB -1.61 |
| NYM | Nick Morabito | batter / CF | better | predicted_SO -1.607 |
| SF | Turner Hill | batter / LF | better | predicted_SO 1.533 |
| SF | Nate Furman | batter / 2B | worse | predicted_AB 1.5 |
| NYM | Christopher Morel | batter / 1B | worse | predicted_H 1.5 |
| NYM | Mark Vientos | batter / DH | better | predicted_H 1.297 |
| NYM | Bo Bichette | batter / 3B | worse | predicted_H -1.29 |
| 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 | 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 | NYM model pitcher projections differ from final simulation pitching box score (H: current=9, sim=8). | NYM |
| info | CURRENT_FINALIZED_MATCH_BOX | NYM model-prediction batting totals differ from final simulation box score (AB: current=36, sim=35; H: current=8, sim=11; 2B: current=1, sim=2; HR: current=1, sim=2; RBI: current=4, sim=5; R: current=3, sim=5; BB: current=3, sim=0; SO: current=9, sim=5). | NYM |
| info | CURRENT_PLAYER_MATCH_BOX | NYM current finalized hitter lines are model predictions and differ from the simulation box score: Mark Vientos: AB current=3 box=4, H current=1 box=2, 2B current=0 box=1, R current=0 box=1; Carson Benge: R current=1 box=0; Marcus Semien: HR current=0 box=1, RBI current=0 box=1, R current=0 box=1, BB current=1 box=0; Juan Soto: AB current=5 box=3, RBI current=1 box=2, BB current=1 box=0, SO current=0 box=1; Bo Bichette: AB current=5 box=4, H current=1 box=0, 2B current=1 box=0; Francisco Lindor: AB current=5 box=4, H current=1 box=2, BB current=1 box=0, SO current=1 box=0; Christopher Morel: AB current=3 box=4, H current=0 box=2, SO current=1 box=0; Francisco Alvarez: RBI current=1 box=0, SO current=1 box=2 | NYM |
| info | CURRENT_FINALIZED_MATCH_BOX | SF model-prediction batting totals differ from final simulation box score (AB: current=33, sim=35; 2B: current=2, sim=5; HR: current=1, sim=2; RBI: current=5, sim=4; SO: current=8, sim=11). | SF |
| info | CURRENT_PLAYER_MATCH_BOX | SF current finalized hitter lines are model predictions and differ from the simulation box score: Turner Hill: AB current=3 box=4, BB current=1 box=0, SO current=1 box=2; Jung Hoo Lee: AB current=5 box=4, HR current=0 box=1, SO current=0 box=1; Rafael Devers: AB current=5 box=4, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Osleivis Basabe: H current=1 box=2, 2B current=0 box=1, R current=1 box=0, BB current=0 box=1; Drew Gilbert: AB current=3 box=5, H current=1 box=2, 2B current=0 box=2, RBI current=0 box=1; Christian Koss: AB current=3 box=4, H current=1 box=0; Bryce Eldridge: AB current=5 box=4, H current=1 box=2, HR current=0 box=1, R current=0 box=1; Drew Cavanaugh: H current=1 box=0, BB current=0 box=1 | SF |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
No large single-factor errors.
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| STL | Andre Pallante | 2 ER / 18 outs | 1 ER / 15 outs | -1 |
| COL | Ryan Feltner | 6 ER / 14 outs | 4 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: Ryan Feltner (COL) posted 7.20 ERA vs projected 11.57 (4 ER in 15 outs); no credible venue, opponent-strength or experience signal explains it — an outlier start (variance).
What to do: Variance — no model change is warranted for this start.
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Andre Pallante (STL) threw 15 outs, 1 ER = 1.8 ERA against a projected 3 ERA (-1.2 ERA error)
Bullpen behind him: 0 ER over 3 outs.
The HOME lineup he faced produced 6 runs on 9 hits and 2 HR, against a projected 5 runs / 9 hits (1 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
Ryan Feltner (COL) threw 15 outs, 4 ER = 7.2 ERA against a projected 11.57 ERA (-4.37 ERA error)
Bullpen behind him: 2 ER over 6 outs.
The AWAY lineup he faced produced 6 runs on 9 hits and 1 HR, against a projected 5 runs / 9 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) |
|---|---|---|---|---|---|---|---|---|---|
| STL | Andre Pallante (Starter) | 15 / 18 | 1.8 / 3 | 1 / 2 | 2 / 3 | 0 / 0 | 4 / 4 | 1 / 5 | venue away: 2.93 vs 4.02 ERA (ok) · opp run factor 1.03 (average) · 24 prior appearances this season |
| STL | Riley O'Brien (Closer) | 3 / 3 | 0 / 27 (-27.00) | 0 / 3 | 1 / 3 | 0 / 1 | 0 / 1 | 2 / 1 | |
| COL | Ryan Feltner (Starter) | 15 / 14 | 7.2 / 11.57 (-4.37) | 4 / 6 | 7 / 9 | 0 / 3 | 3 / 1 | 5 / 3 | venue home: 6.26 vs 5.86 ERA (ok) · opp run factor 0.99 (average) · 21 prior appearances this season |
| COL | Jimmy Herget (Middle Reliever (High Leverage)) | 2 / 4 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | |
| COL | Brennan Bernardino (Setup Man) | 1 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | |
| COL | Jordan Romano (Closer) | 3 / 3 | 18 / 0 (+18.00) | 2 / 0 | 1 / 1 | 1 / 0 | 1 / 0 | 0 / 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| COL | TJ Rumfield (1B) | 4 / 4 | 3 / 1 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 1 | 2 / 0 | 1 / 1 | 0 / 1 | 2.49 | 0.334 above average | projection too low |
| COL | Cole Carrigg (SS) | 5 / 4 | 2 / 1 | 0 / 1 | 1 / 0 | 1 / 0 | 1 / 1 | 1 / 1 | 0 / 1 | 1 / 1 | 1.38 | 0.323 above average | projection too low |
| STL | Iván Herrera (DH) | 5 / 5 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 3 / 1 | 1 / 1 | 0 / 1 | 1 / 1 | 1.07 | 0.333 above average | projection too low |
| COL | Hunter Goodman (C) | 3 / 5 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 0 / 1 | 1 / 0 | 0 / 1 | -1.07 | 0.324 above average | bad day |
| STL | Joshua Baez (LF) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 0 / 0 | 1 / 1 | -0.93 | 0.329 above average | bad day |
| STL | Thomas Saggese (SS) | 3 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 0 | 1 / 1 | 0.64 | 0.311 average | no signal |
| COL | Troy Johnston (DH) | 3 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 0 / 1 | 0.64 | 0.329 above average | projection too low |
| COL | Adael Amador (2B) | 3 / 3 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | -0.64 | 0.261 weak | projection too high |
| STL | Leonardo Bernal (C) | 2 / 5 | 1 / 2 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 2 / 0 | 0 / 1 | 0.5 | 0.377 elite | projection too low |
| STL | Nolan Gorman (3B) | 3 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0.47 | 0.275 weak | — |
| COL | Mickey Moniak (RF) | 5 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | -0.47 | 0.281 weak | — |
| COL | Connor Norby (3B) | 4 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 0.47 | 0.301 below average | — |
| COL | Zac Veen (LF) | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.299 below average | — |
| STL | Alec Burleson (1B) | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 1 | 2 / 1 | -0.33 | 0.37 elite | — |
| STL | Jordan Walker (RF) | 4 / 5 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | -0.31 | 0.349 elite | — |
| STL | Bryan Torres (2B) | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | -0.14 | 0.301 below average | — |
| COL | Jake McCarthy (CF) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 0 | 1 / 1 | -0.14 | 0.319 average | — |
| STL | Nathan Church (CF) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 0 | 0.283 weak | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.715 | positive favors home; negative favors away |
| Recent form | -0.113 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.034 | positive favors home; negative favors away |
| Composite | -0.526 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 5.49-4.55 | 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.548 | 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.49-4.55 | 5-5 | -0.944 | 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 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 |
|---|---|---|---|---|
| STL | Bryan Torres | batter / 2B | better | predicted_RBI 2.667 |
| COL | Hunter Goodman | batter / C | better | predicted_RBI 2.43 |
| COL | Cole Carrigg | batter / SS | worse | predicted_SO 2.103 |
| STL | Leonardo Bernal | batter / C | worse | predicted_H -1.68 |
| STL | Thomas Saggese | batter / SS | better | predicted_RBI 1.677 |
| COL | TJ Rumfield | batter / 1B | better | predicted_BB 1.526 |
| STL | Nolan Gorman | batter / 3B | better | predicted_H 1.51 |
| COL | Zac Veen | batter / LF | worse | predicted_AB 1.5 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | COL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | COL |
| info | CURRENT_PITCHER_DUPLICATION | 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 | COL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=34; H: current=9, sim=7; 2B: current=2, sim=3; RBI: current=4, sim=5; BB: current=3, sim=6; SO: current=9, sim=7; HBP: current=0, sim=1). | COL |
| info | CURRENT_PLAYER_MATCH_BOX | COL current finalized hitter lines are model predictions and differ from the simulation box score: Jake McCarthy: AB current=4 box=5, 2B current=0 box=1, RBI current=1 box=0; Mickey Moniak: AB current=4 box=5, H current=1 box=2, 2B current=0 box=1; Cole Carrigg: AB current=4 box=5, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Connor Norby: H current=1 box=0, BB current=0 box=1; Troy Johnston: H current=1 box=0, SO current=1 box=0, HBP current=0 box=1; Hunter Goodman: AB current=5 box=4, H current=1 box=2, RBI current=0 box=3, BB current=0 box=1; Zac Veen: AB current=3 box=4, H current=1 box=0, SO current=1 box=0; TJ Rumfield: AB current=4 box=3, 2B current=0 box=1, R current=0 box=1, BB current=1 box=2 | COL |
| info | CURRENT_FINALIZED_MATCH_BOX | STL model-prediction batting totals differ from final simulation box score (AB: current=35, sim=38; H: current=9, sim=11; 2B: current=1, sim=0; HR: current=1, sim=3; RBI: current=5, sim=6; R: current=5, sim=6; BB: current=2, sim=1; SO: current=8, sim=3). | STL |
| info | CURRENT_PLAYER_MATCH_BOX | STL current finalized hitter lines are model predictions and differ from the simulation box score: Bryan Torres: AB current=3 box=5, H current=1 box=3, HR current=0 box=1, RBI current=0 box=3; Leonardo Bernal: AB current=5 box=4, H current=2 box=0, RBI current=1 box=0, R current=1 box=0; Alec Burleson: AB current=4 box=5, RBI current=1 box=0, R current=0 box=1, BB current=1 box=0; Joshua Baez: AB current=3 box=4, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Thomas Saggese: AB current=3 box=4, H current=1 box=2, HR current=0 box=1, RBI current=0 box=2; Iván Herrera: AB current=5 box=4, HR current=0 box=1, SO current=1 box=0; Jordan Walker: AB current=5 box=4, 2B current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Nolan Gorman: AB current=3 box=4, H current=0 box=2, R current=0 box=1, SO current=1 box=0 | STL |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| TB | Nick Martinez | 2 ER / 18 outs | 3 ER / 19 outs | 1 |
| TEX | Trevor Williams | 1 ER / 14 outs | 0 ER / 3 outs | -1 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Nick Martinez (TB) threw 19 outs, 3 ER = 4.26 ERA against a projected 3 ERA (1.26 ERA error)
Bullpen behind him: 1 ER over 3 outs.
The HOME lineup he faced produced 6 runs on 6 hits and 2 HR, against a projected 4 runs / 8 hits (2 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
Trevor Williams (TEX) threw 3 outs, 0 ER = 0 ERA against a projected 1.93 ERA (-1.93 ERA error) only 9 prior appearances in the covered season - the projection had little of his own record to stand on
Bullpen behind him: 1 ER over 0 outs.
The AWAY lineup he faced produced 6 runs on 12 hits and 2 HR, against a projected 4 runs / 8 hits (2 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
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) |
|---|---|---|---|---|---|---|---|---|---|
| TB | Nick Martinez (Starter) | 19 / 18 | 4.26 / 3 | 3 / 2 | 5 / 2 | 1 / 1 | 2 / 6 | 4 / 6 | venue away: 1.96 vs 3.92 ERA (ok) · opp run factor 0.96 (weak) · 26 prior appearances this season |
| TB | Bryan Baker (Closer) | 0 / 3 | n/a / 9 | 1 / 1 | 0 / 1 | 0 / 0 | 2 / 0 | 0 / 0 | |
| TB | Kevin Kelly (Setup Man) | 3 / 3 | 0 / 9 (-9.00) | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 2 | |
| TEX | Trevor Williams (Starter) | 3 / 14 | 0 / 1.93 | 0 / 1 | 0 / 4 | 0 / 0 | 0 / 1 | 2 / 6 | opp run factor 1 (average) · 9 prior appearances this season |
| TEX | Chase Silseth (Middle Reliever (High Leverage)) | 0 / 3 | n/a / 18 | 1 / 2 | 2 / 3 | 0 / 1 | 0 / 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| TEX | Joc Pederson (DH) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | -1.4 | 0.342 elite | bad day |
| TB | Jonathan Aranda (1B) | 4 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 1 / 0 | 2 / 1 | 2 / 1 | 0 / 1 | 2 / 1 | 1.38 | 0.35 elite | projection too low |
| TEX | Jake Burger (1B) | 1 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 0 | 3 / 0 | 0 / 1 | 0.99 | 0.312 average | no signal |
| TB | Richie Palacios (2B) | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0.93 | 0.305 average | no signal |
| TEX | Wyatt Langford (LF) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | -0.8 | 0.313 average | no signal |
| TEX | Evan Carter (CF) | 3 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 1 | 0.8 | 0.28 weak | good day |
| TEX | Brandon Nimmo (RF) | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | -0.78 | 0.353 elite | bad day |
| TEX | Elias Díaz (C) | 3 / 3 | 1 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | 5 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 0.62 | 0.278 weak | good day |
| TB | Yandy Díaz (DH) | 5 / 5 | 3 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | 0.61 | 0.355 elite | projection too low |
| TEX | Ezequiel Duran (2B) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | 0.6 | 0.306 average | no signal |
| TB | Junior Caminero (3B) | 5 / 5 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 2 / 1 | 1 / 1 | 0 / 1 | 2 / 1 | -0.48 | 0.363 elite | — |
| TB | Victor Mesa Jr. (RF) | 5 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | 0.47 | 0.311 average | — |
| TB | Chandler Simpson (LF) | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0.47 | 0.261 weak | — |
| TB | Taylor Walls (SS) | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | -0.47 | 0.249 weak | — |
| TB | Cedric Mullins (CF) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | -0.14 | 0.267 weak | — |
| TEX | Corey Seager (SS) | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | 0.14 | 0.351 elite | — |
| TEX | Cody Freeman (3B) | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 0 / 0 | -0.14 | 0.231 weak | — |
| TB | Liam Hicks (C) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 | 0.316 average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.496 | positive favors home; negative favors away |
| Recent form | 0 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.041 | positive favors home; negative favors away |
| Composite | -0.183 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 3.43-4.7 | n/a | Base ML historical model prediction |
| variance_applied | 3-5 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 3-4 | 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 | 3-4 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 3-4 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 3-4 | n/a | Capped at max 12 realistic runs |
| simulation_result | 3-4 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 3.43-4.7 | 3-5 | 0.729 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 3-5 | 3-4 | -1 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 3-4 | 3-4 | 0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 3-4 | 3-4 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 3-4 | 3-4 | 0 | Capped at max 12 realistic runs |
| simulation_result | 3-4 | 3-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 |
|---|---|---|---|---|
| TB | Liam Hicks | batter / C | worse | predicted_AB -2.43 |
| TB | Nick Martinez | pitcher / Starter | better | predicted_SO 2 |
| TB | Victor Mesa Jr. | batter / RF | better | predicted_RBI 1.84 |
| TB | Chandler Simpson | batter / LF | worse | predicted_SO 1.664 |
| TEX | Brandon Nimmo | batter / RF | better | predicted_RBI 1.27 |
| TEX | Joc Pederson | batter / DH | worse | predicted_AB 1.183 |
| TB | Taylor Walls | batter / SS | worse | predicted_SO 1.102 |
| TEX | Wyatt Langford | batter / LF | worse | predicted_SO 1.101 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| 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_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 | TB model pitcher projections differ from final simulation pitching box score (H: current=4, sim=7; HR: current=1, sim=2). | TB |
| info | CURRENT_FINALIZED_MATCH_BOX | TB model-prediction batting totals differ from final simulation box score (H: current=8, sim=7; 3B: current=0, sim=1; RBI: current=4, sim=3; R: current=4, sim=3; BB: current=3, sim=1; SO: current=6, sim=9; HBP: current=0, sim=2). | TB |
| info | CURRENT_PLAYER_MATCH_BOX | TB current finalized hitter lines are model predictions and differ from the simulation box score: Junior Caminero: AB current=5 box=4, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Liam Hicks: AB current=4 box=2, H current=1 box=0, RBI current=1 box=0, BB current=0 box=1; Victor Mesa Jr.: AB current=3 box=4, H current=0 box=2, HR current=0 box=1, RBI current=0 box=2; Yandy Díaz: RBI current=1 box=0, BB current=1 box=0; Jonathan Aranda: RBI current=1 box=0, R current=1 box=0, BB current=1 box=0, SO current=1 box=0; Chandler Simpson: SO current=0 box=2; Cedric Mullins: AB current=3 box=4, H current=1 box=0; Richie Palacios: 3B current=0 box=1, HBP current=0 box=1 | TB |
| info | CURRENT_FINALIZED_MATCH_BOX | TEX model-prediction batting totals differ from final simulation box score (AB: current=32, sim=33; H: current=8, sim=7; 2B: current=2, sim=3; HR: current=1, sim=2; BB: current=3, sim=6; HBP: 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: Joc Pederson: AB current=3 box=4, H current=1 box=0, HR current=1 box=0, R current=1 box=0; Ezequiel Duran: 2B current=0 box=1, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Corey Seager: 2B current=0 box=1, RBI current=1 box=0, SO current=1 box=0; Wyatt Langford: 2B current=0 box=1, R current=1 box=0, SO current=1 box=2; Brandon Nimmo: 2B current=1 box=0, HR current=0 box=1, RBI current=1 box=2, R current=0 box=1; Jake Burger: RBI current=1 box=0, SO current=1 box=0; Elias Díaz: 2B current=1 box=0, HR current=0 box=1, RBI current=0 box=1, R current=0 box=1; Cody Freeman: RBI current=0 box=1, R current=0 box=1, BB current=0 box=1, SO current=0 box=1 | TEX |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| TOR | Jameson Taillon | 4 ER / 14 outs | 1 ER / 6 outs | -3 |
| KC | Daniel Lynch IV | 1 ER / 15 outs | 5 ER / 15 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: Daniel Lynch IV (KC) posted 9.00 ERA vs projected 1.80 (5 ER in 15 outs); no credible venue, opponent-strength or experience signal explains it — an outlier start (variance).
What to do: Variance — no model change is warranted for this start.
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Jameson Taillon (TOR) threw 6 outs, 1 ER = 4.5 ERA against a projected 7.71 ERA (-3.21 ERA error)
Bullpen behind him: 1 ER over 9 outs.
The HOME lineup he faced produced 2 runs on 6 hits and 2 HR, against a projected 4 runs / 8 hits (-2 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
Daniel Lynch IV (KC) threw 15 outs, 5 ER = 9 ERA against a projected 1.8 ERA (7.2 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The AWAY lineup he faced produced 8 runs on 12 hits and 0 HR, against a projected 4 runs / 9 hits (4 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) |
|---|---|---|---|---|---|---|---|---|---|
| TOR | Jameson Taillon (Starter) | 6 / 14 | 4.5 / 7.71 (-3.21) | 1 / 4 | 2 / 4 | 1 / 0 | 0 / 0 | 1 / 3 | venue away: 7.18 vs 4.22 ERA (worse here) · opp run factor 0.94 (weak) · 17 prior appearances this season |
| TOR | Michael Lorenzen (Setup Man) | 9 / 2 | 3 / 13.5 (-10.50) | 1 / 1 | 3 / 1 | 1 / 0 | 0 / 0 | 2 / 1 | |
| KC | Daniel Lynch IV (Starter) | 15 / 15 | 9 / 1.8 (+7.20) | 5 / 1 | 7 / 4 | 0 / 0 | 1 / 1 | 0 / 8 | venue home: 5.4 vs 7.94 ERA (ok) · opp run factor 0.98 (weak) · 51 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| TOR | Kazuma Okamoto (3B) | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | 2 / 1 | -1.26 | 0.319 average | no signal |
| KC | Carter Jensen (C) | 4 / 5 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 2 / 1 | -0.95 | 0.304 below average | projection too high |
| KC | Bobby Witt Jr. (SS) | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 1 | 1 / 1 | 1 / 1 | 0.93 | 0.383 elite | projection too low |
| TOR | Ernie Clement (SS) | 5 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0.78 | 0.266 weak | good day |
| KC | Jac Caglianone (RF) | 4 / 5 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 1 | -0.78 | 0.357 elite | bad day |
| KC | Vinnie Pasquantino (1B) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 0 | 0 / 1 | 0 / 1 | 0.6 | 0.325 above average | projection too low |
| TOR | Vladimir Guerrero Jr. (1B) | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 0.47 | 0.333 above average | — |
| KC | Isaac Collins (LF) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.296 below 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 | — |
| TOR | Alejandro Kirk (C) | 5 / 5 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 1 / 0 | 0 / 1 | 0 / 1 | 0.45 | 0.302 below average | — |
| KC | Michael Massey (2B) | 2 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0.33 | 0.306 average | — |
| TOR | Myles Straw (LF) | 3 / 3 | 2 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0.16 | 0.296 below average | — |
| KC | Salvador Perez (DH) | 3 / 5 | 2 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0.16 | 0.308 average | — |
| TOR | Charles McAdoo (2B) | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 0 / 1 | -0.14 | 0.269 weak | — |
| TOR | Brett Bateman (CF) | 3 / 5 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 1 / 1 | 0 / 1 | 0 | 0.282 weak | — |
| TOR | George Springer (DH) | 5 / 4 | 1 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 0 | 0.306 average | — |
| TOR | Nathan Lukes (RF) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 0 | 0.287 below average | — |
| KC | Nick Loftin (3B) | 4 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 0 | 0 | 0.297 below average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.234 | positive favors home; negative favors away |
| Recent form | 0.165 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.039 | positive favors home; negative favors away |
| Composite | 0.186 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 3.61-5.8 | 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.557 | 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 | 3.61-5.8 | 4-6 | -0.191 | 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 matchup_recency_guardrail) |
| embedded_savant_run_environment | 5-6 | 5-7 | 1 | 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 |
|---|---|---|---|---|
| KC | Carter Jensen | batter / C | better | predicted_RBI 2.99 |
| TOR | George Springer | batter / DH | better | predicted_RBI 2.42 |
| TOR | Alejandro Kirk | batter / C | better | predicted_AB -1.9 |
| KC | Salvador Perez | batter / DH | worse | predicted_2B 1.831 |
| KC | Kyle Isbel | batter / CF | boosted | predicted_RBI 1.72 |
| KC | Nick Loftin | batter / 3B | better | predicted_H 1.61 |
| TOR | Myles Straw | batter / LF | better | predicted_AB 1.5 |
| KC | Jac Caglianone | batter / RF | worse | predicted_H -1.42 |
| 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 | 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 | KC model-prediction batting totals differ from final simulation box score (AB: current=35, sim=36; H: current=8, sim=9; 2B: current=2, sim=4; 3B: current=0, sim=1; RBI: current=4, sim=7; R: current=4, sim=7; BB: current=3, sim=0; SO: current=7, sim=5). | KC |
| info | CURRENT_PLAYER_MATCH_BOX | KC current finalized hitter lines are model predictions and differ from the simulation box score: Carter Jensen: 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=4, BB current=1 box=0; Salvador Perez: AB current=5 box=4, H current=1 box=2, 2B current=1 box=2, RBI current=1 box=0; Jac Caglianone: AB current=5 box=4, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Bobby Witt Jr.: BB current=1 box=0; Nick Loftin: AB current=3 box=4, H current=0 box=2, 2B current=0 box=1, 3B current=0 box=1; Vinnie Pasquantino: RBI current=1 box=0, R current=0 box=1, BB current=1 box=0; Michael Massey: AB current=3 box=4, H current=1 box=0, SO current=0 box=1; Isaac Collins: H current=1 box=0, SO current=1 box=0, HBP current=0 box=1 | KC |
| info | CURRENT_FINALIZED_MATCH_BOX | TOR model pitcher projections differ from final simulation pitching box score (H: current=10, sim=9). | TOR |
| info | CURRENT_FINALIZED_MATCH_BOX | TOR model-prediction batting totals differ from final simulation box score (AB: current=36, sim=38; H: current=9, sim=11; 2B: current=2, sim=6; HR: current=1, sim=0; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=1; SO: current=6, sim=8). | TOR |
| info | CURRENT_PLAYER_MATCH_BOX | TOR current finalized hitter lines are model predictions and differ from the simulation box score: Alejandro Kirk: AB current=5 box=3, H current=1 box=2, 2B current=0 box=1, R current=0 box=1; Brett Bateman: RBI current=0 box=1, BB current=1 box=0; Vladimir Guerrero Jr.: AB current=4 box=5, RBI current=1 box=0, SO current=0 box=1; George Springer: AB current=4 box=5, H current=1 box=2, 2B current=1 box=2, RBI current=0 box=3; Myles Straw: AB current=3 box=4, H current=1 box=2, R current=0 box=1; Charles McAdoo: AB current=3 box=4, H current=1 box=0, SO current=1 box=0; Kazuma Okamoto: 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Nathan Lukes: 2B current=0 box=1, RBI current=1 box=0 | TOR |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
No large single-factor errors.
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| WAS | Jackson Kent | 4 ER / 13 outs | 3 ER / 15 outs | -1 |
| LAD | Blake Snell | 2 ER / 16 outs | 0 ER / 18 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: Blake Snell (LAD) posted 0.00 ERA vs projected 3.38 (0 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
Jackson Kent (WAS) threw 15 outs, 3 ER = 5.4 ERA against a projected 8.31 ERA (-2.91 ERA error) only 4 prior appearances in the covered season - the projection had little of his own record to stand on
Bullpen behind him: 0 ER over 0 outs.
The HOME lineup he faced produced 5 runs on 5 hits and 1 HR, against a projected 4 runs / 8 hits (1 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
HOME pitching
Blake Snell (LAD) threw 18 outs, 0 ER = 0 ERA against a projected 3.38 ERA (-3.38 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 4 outs.
The AWAY lineup he faced produced 1 runs on 8 hits and 0 HR, against a projected 5 runs / 7 hits (-4 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) |
|---|---|---|---|---|---|---|---|---|---|
| WAS | Jackson Kent (Starter) | 15 / 13 | 5.4 / 8.31 | 3 / 4 | 4 / 5 | 0 / 0 | 4 / 4 | 4 / 4 | venue away: 8.64 vs 3.27 ERA (ok) · opp run factor 1.02 (strong) · thin sample: 4 prior appearances this season (high uncertainty) |
| LAD | Blake Snell (Starter) | 18 / 16 | 0 / 3.38 (-3.38) | 0 / 2 | 5 / 2 | 0 / 0 | 2 / 1 | 7 / 10 | venue home: 3 vs 1.64 ERA (ok) · opp run factor 1.04 (strong) · 5 prior appearances this season |
| LAD | Edgardo Henriquez (Setup Man) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 2 | 2 / 0 | |
| LAD | Tanner Scott (Closer) | 1 / 3 | 0 / 9 (-9.00) | 0 / 1 | 0 / 2 | 0 / 0 | 0 / 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| LAD | Kyle Tucker (RF) | 2 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 2 / 1 | 1 / 1 | 0 / 1 | 0.93 | 0.327 above average | projection too low |
| LAD | Will Smith (C) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 0 / 1 | -0.8 | 0.377 elite | bad day |
| LAD | Tommy Edman (CF) | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | -0.78 | 0.316 average | no signal |
| LAD | Miguel Rojas (2B) | 3 / 3 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | -0.78 | 0.312 average | no signal |
| WAS | Jacob Young (CF) | 0 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 0 | 0 / 1 | 0.66 | 0.319 average | no signal |
| LAD | Teoscar Hernández (LF) | 3 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0 / 1 | 1 / 0 | 0 / 1 | 0.64 | 0.323 above average | projection too low |
| WAS | CJ Abrams (2B) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | -0.47 | 0.328 above average | — |
| WAS | Nasim Nuñez (SS) | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.267 weak | — |
| WAS | Brady House (3B) | 4 / 4 | 2 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 0.47 | 0.336 above average | — |
| LAD | Mookie Betts (SS) | 4 / 5 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | -0.46 | 0.329 above average | — |
| WAS | Harry Ford (C) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | -0.33 | 0.264 weak | — |
| WAS | Dylan Crews (RF) | 4 / 5 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 2 / 1 | 0.31 | 0.307 average | — |
| LAD | Alex Call (DH) | 3 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | 0.31 | 0.277 weak | — |
| WAS | James Wood (LF) | 5 / 4 | 2 / 1 | 2 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | 2 / 1 | -0.17 | 0.417 elite | — |
| WAS | Andrés Chaparro (DH) | 5 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 0 / 1 | 0.14 | 0.354 elite | — |
| LAD | Enrique Hernández (1B) | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 0 / 1 | -0.14 | 0.267 weak | — |
| WAS | Yohandy Morales (1B) | 2 / 4 | 1 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | 0 | 0.398 elite | — |
| LAD | Max Muncy (3B) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 2 / 1 | 0 | 0.348 elite | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.629 | positive favors home; negative favors away |
| Recent form | 0.042 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.021 | positive favors home; negative favors away |
| Composite | 0.49 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 3.24-5.86 | n/a | Base ML historical model prediction |
| variance_applied | 3-6 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 0.561 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run) |
| 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.24-5.86 | 3-6 | 0.379 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 3-6 | 4-5 | -2 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run) |
| 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 |
|---|---|---|---|---|
| WAS | Andrés Chaparro | batter / DH | worse | predicted_AB 2.5 |
| WAS | CJ Abrams | batter / 2B | worse | predicted_SO 1.962 |
| WAS | Harry Ford | batter / C | worse | predicted_RBI 1.83 |
| LAD | Miguel Rojas | batter / 2B | worse | predicted_SO 1.707 |
| LAD | Alex Call | batter / DH | better | predicted_RBI 1.676 |
| WAS | Nasim Nuñez | batter / SS | worse | predicted_BB 1.634 |
| LAD | Mookie Betts | batter / SS | deboosted | predicted_AB -1.58 |
| WAS | Dylan Crews | batter / RF | worse | predicted_AB -1.55 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| 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 | 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 | LAD model-prediction batting totals differ from final simulation box score (AB: current=33, sim=31; H: current=8, sim=7; 2B: current=2, sim=3; HR: current=1, sim=0; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=4; SO: current=7, sim=5). | LAD |
| info | CURRENT_PLAYER_MATCH_BOX | LAD current finalized hitter lines are model predictions and differ from the simulation box score: Will Smith: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0; Max Muncy: RBI current=0 box=1, R current=0 box=1, SO current=1 box=0; Alex Call: AB current=3 box=4, H current=1 box=2, 2B current=0 box=1, RBI current=0 box=2; Teoscar Hernández: AB current=4 box=3, RBI current=1 box=0, BB current=0 box=1, SO current=1 box=0; Mookie Betts: AB current=5 box=3, HR current=1 box=0, BB current=0 box=1; Miguel Rojas: AB current=3 box=4, H current=1 box=0, 2B current=1 box=0, SO current=0 box=2; Kyle Tucker: R current=1 box=0, BB current=1 box=0; Enrique Hernández: 2B current=0 box=1, SO current=1 box=0 | LAD |
| info | CURRENT_FINALIZED_MATCH_BOX | WAS model-prediction batting totals differ from final simulation box score (H: current=7, sim=6; 2B: current=2, sim=3; 3B: current=0, sim=1; HR: current=1, sim=0; RBI: current=5, sim=4; R: current=5, sim=4; BB: current=3, sim=5; SO: current=9, sim=12). | WAS |
| info | CURRENT_PLAYER_MATCH_BOX | WAS current finalized hitter lines are model predictions and differ from the simulation box score: James Wood: 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=2; Andrés Chaparro: AB current=3 box=5, H current=1 box=0, RBI current=1 box=0, BB current=1 box=0; CJ Abrams: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=1 box=3; Harry Ford: AB current=3 box=4, H current=0 box=2, 2B current=0 box=2, RBI current=0 box=2; Jacob Young: H current=0 box=1, BB current=0 box=1; Nasim Nuñez: AB current=3 box=2, H current=1 box=0, BB current=0 box=2, SO current=1 box=0; Yohandy Morales: H current=1 box=2, 2B current=1 box=0, 3B current=0 box=1; Brady House: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0 | WAS |
| 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; 16/16 games; 4/4 causes; 5/6 sources
Six of seven declared artifacts were loaded:
| Source | Status | Purpose |
|---|---|---|
prediction_review_20260904.json — 399,800 bytes | Loaded | Official outcomes and scoring errors |
PREDICTION_SYSTEM_DEEP_AUDIT_20260904.json — 255,680 bytes | Loaded | Probability, provenance, starter, and decision contracts |
continuous_learning_daily_20260904.json — 2,555,562 bytes | Loaded | Pipeline quality, calibration, probability lineage, score distribution, and starter comparisons |
detailed_20260904.html — 380,084 bytes | Loaded | Full-game and simulation rendering |
20260904_ultra_detailed_player_audit.html — 33,148,291 bytes | Loaded | Player-level prediction trace |
audit_report_20260904.html — 1,949,987 bytes | Loaded | Invariant findings |
audit_report_20260904_integrity_revision.html | Missing | Post-Luna remediation proof for immutable revision artifacts |
The missing integrity-revision artifact is a receipt gap, but the supplied data does not attribute any game-level prediction error to an artifact defect. Every game’s structural audit passed.
All 16 listed games were reviewed:
ARI@HOU, ATL@PHI, BOS@BAL, CHC@MIA, DET@CLE Game 1, DET@CLE Game 2, LAA@PIT, MIL@CIN, MIN@CHW, NYY@SD, OAK@SEA, SF@NYM, STL@COL, TB@TEX, TOR@KC, WAS@LAD.
Coverage claims:
The second DET@CLE entry has no starter_lines, explaining the 15/16 starter-comparison coverage. Two entries share the same matchup label, but the second has a distinct game ID (20260904_DET@CLE_2), so this is an identifiable doubleheader rather than an unexplained duplicate.
score_evolution array in the supplied diagnosis: ARI@HOU, ATL@PHI, CHC@MIA, DET@CLE Game 1, DET@CLE Game 2, LAA@PIT, MIL@CIN, SF@NYM, STL@COL, and WAS@LAD. Their final scores and stage-level aggregate metrics are available, but not their individual score paths.right_winner_wrong_score: ARI@HOU, DET@CLE Game 1, LAA@PIT, and SF@NYM.A correct winner does not imply a good full prediction. For example, LAA@PIT selected the correct side but missed the total by 11 runs; ARI@HOU selected HOU but projected 6–4 instead of 3–1.
The directional model was moderately successful at 62.5%, with the stronger directional evidence generally working:
The major directional failures were less about tiny random margins in some cases and more about low-scoring or starter-driven reversals:
Calibration was weak despite acceptable winner accuracy:
The bucket labels are internally consistent with the stated definition—published confidence minus observed hit rate—but the one-game high buckets are not statistically reliable. The high-raw cluster was 3/3 on this slate, while its empirical historical hit rates were only approximately 0.548–0.550. That is evidence against trusting raw high confidence, not evidence that the current cluster is correctly calibrated.
The run model is the clearest model limitation:
A small positive R² means the model explains slightly more than a trivial average target. It does not make exact scores reliable. The slate had both under-dispersed and over-dispersed outcomes: BOS@BAL, MIN@CHW, and ARI@HOU were large total overprojections, while SF@NYM and TB@TEX were material underprojections.
Starter projections were a material contributor:
starter_projection: MIN@CHW, OAK@SEA, TOR@KC.Artifact integrity was not the cause of the six misses:
unexplained_probability_publication_deltaThe supplied lineage does show governor values and score-coherence values, but it does not explain the final publication delta in those two games. This is enough to block promotion, not enough to conclude a governor bypass.
weak_run_model_signalThis is a material model risk, not a contract failure. The proposed action is isolated feature/target training and backtesting, not blind nightly tuning.
complete_slate_audit_coveragesimulation_inert_on_slateBecause this finding has persisted for eight consecutive slates, it is now an established operational pattern requiring code/diagnostic action.
Notation: starter lines are projected ER/outs versus actual ER/outs. “Total error” is the absolute total-run error, equivalent to the absolute value of the listed total bias.
run_environment_over.starter_projection, chiefly Fedde allowing five fewer ER than projected.run_environment_over.wrong_conviction_side.lean_side_miss in the register-style characterization, although the game was actually classified strong.starter_projection.run_environment_under.wrong_conviction_side.starter_projection.wrong_conviction_side.| Stage | Winner accuracy | Team-run MAE | Total-run MAE | Margin MAE |
|---|---|---|---|---|
| Historical ML | 10/16, 0.625 | 2.4463 | 4.2626 | 2.2201 |
| Variance applied | 8/16, 0.500 | 2.4688 | 4.3125 | 2.1875 |
| Enhanced prediction | 10/16, 0.625 | 2.3438 | 4.0625 | 2.0625 |
| Embedded Savant run environment | 10/16, 0.625 | 2.4062 | 4.1875 | 2.0625 |
| Fundamental edge review | 10/16, 0.625 | 2.4062 | 4.1875 | 2.0625 |
| Capped target | 10/16, 0.625 | 2.4062 | 4.1875 | 2.0625 |
| Simulation result | 10/16, 0.625 | 2.4062 | 4.1875 | 2.0625 |
| Published final | 10/16, 0.625 | 2.4062 | 4.1875 | 2.0625 |
Important transitions:
The pipeline therefore shows a useful enhanced-stage aggregate recovery after variance damage, but also a measurable regression at the Savant transition and no evidence that simulation contributed independent winner information.
Lever: score.variance_multiplier / score.variance_floor.
Lever: player.pitcher.v4 form weights / player.pitcher_prior_games.
Lever: recent.* / season.* run-mean weighting.
Affected games:
These are material lineage gaps. The data does not prove the governor was bypassed; it proves that the complete transformation is not recorded.
No error findings were reported in the supplied structural-audit summary or per-game audits.
No warning findings were reported.
The game artifacts themselves were structurally clean. The defects are chiefly lineage, receipt, coverage, and process-contract issues rather than corrupted score files.
The slate is not fully “clean” merely because 16/16 structural audits passed:
The normal lineage is:
raw model → calibrated → governor → score coherence/recency → published.
Examples of complete recorded transformations:
A material bypass is not declared for any game because the supplied evidence does not show an unrecorded material transformation except the two critical cases. For ARI@HOU and SF@NYM, the correct finding is unreconciled transformation, not proven governor bypass.
Seven prior slates were loaded, producing an eight-slate window from 2026-08-28 through 2026-09-04.
| Finding | Consecutive-slate count | Present now? | Interpretation |
|---|---|---|---|
| High raw probability cluster | 0 | No | Historical incidence in 2/8 slates; not current |
| Pipeline winner instability | 0 | No | Incidence in 3/8; not current |
| Score-margin compression | 0 | No | Incidence in 3/8; not current |
| Simulation inert on slate | 8 | Yes | Escalated established pattern |
| Single-slate calibration instability | 0 | No | Incidence in 5/8, but no current streak |
| Weak run-model signal | 8 | Yes | Escalated established pattern |
The two eight-slate findings must be treated as established failures, not single-slate noise.
simulation.allow_score.The supplied self-assessment says the simulation reuses draws collected while searching for a target-realizing play-by-play and may exit after roughly two selected draws. Such a sample cannot support a probability or flip/agreement signal.
training.xgb.n_estimators, training.xgb.max_depth, training.xgb.learning_rate.Improving trends do not neutralize the escalated eight-slate run-model and simulation defects.
Recommendations are ranked by persistence first, then scope, expected metric impact, and regression risk.
simulation.allow_score, but this is a diagnostic/code target rather than a safe parameter move.training.xgb.n_estimators, training.xgb.max_depth, training.xgb.learning_rate.player.pitcher_prior_games within player.pitcher.v4 form weighting.starter_er_mae and starter_outs_mae; directional improvement expected secondarily.confidence.base_cap, confidence.moderate_cap, score.variance_multiplier, score.variance_floor.score.variance_multiplier to a large value based on NYY@SD alone.Block promotion and repair the probability/simulation contracts first: reconcile the ARI@HOU and SF@NYM pick-side probability transformations, then run an independent non-early-exit simulation in shadow mode while preserving the current production output.
That action addresses the only critical contract defect, tests the eight-slate simulation failure without risking the next slate, and creates the evidence needed before changing model weights or confidence caps.