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_20260906.json | n/a |
| forensic deep audit | loaded | probability, provenance, starter and decision contracts | /app/output/reports/PREDICTION_SYSTEM_DEEP_AUDIT_20260906.json | n/a |
| continuous learning | loaded | pipeline-stage quality, calibration, probability lineage | /app/output/learning/continuous_learning_daily_20260906.json | n/a |
| game artifacts | loaded | per-game model trace and structural audit source | /app/output/games | n/a |
Deterministic findings across data integrity, model validation, calibration, score distribution, pipeline stages, simulation, and coverage. Critical is reserved for broken evidence or an unexplained contract violation; high marks material model/process risk. Each row pairs the action to take (Do this) with the wrong conclusion to avoid (Don't conclude).
| Severity | Domain | Finding and evidence | Affected | Action & guardrail |
|---|---|---|---|---|
| HIGH | model_validation | Validated run models explain very little holdout variance home/away/total R² = 0.0074/0.0182/0.0147 | ARI@HOU, ATL@PHI, BOS@BAL, CHC@MIA, 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 15/15 games structurally audited | ARI@HOU, ATL@PHI, BOS@BAL, CHC@MIA, 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 | probability_lineage | Material calibrated-to-published movements have recorded lineage 8 material movement(s), all explained by named score-coherence and/or recency transformations | CHC@MIA, DET@CLE, MIL@CIN, MIN@CHW, SF@NYM, STL@COL, TOR@KC, WAS@LAD | Do thisKeep showing every probability layer and the named transformation between them. Don't concludeA published probability above the calibrated one is not a governor bypass when a recorded transformation explains it. |
| INFO | simulation | Simulation produced no winner-direction intervention on this slate flip candidates 0; published flips 0 | ARI@HOU, ATL@PHI, BOS@BAL, CHC@MIA, 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 | 10 consecutive · 10 in window | simulation.allow_score | confirm the simulation module is running, not silently no-oping | simulation_inert_on_slate has persisted 10 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 | 10 consecutive · 10 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 10 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 | 3/10 | no | param |
| pipeline_winner_instability | 0 | 4/10 | no | code/diagnostic |
| score_margin_compression | 0 | 3/10 | no | param |
| simulation_inert_on_slate | 10 | 10/10 | yes | code/diagnostic |
| single_slate_calibration_instability | 0 | 5/10 | no | param |
| weak_run_model_signal | 10 | 10/10 | 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, 0.5333, 0.6] |
| weighted_calibration_error | improving | [0.2179, 0.3961, 0.0693, 0.1661, 0.2476, 0.21, 0.1474, 0.1316, 0.1, 0.0937] |
| margin_bias | improving | [-1.333, -1.882, -2.786, -3.5, -2.533, -3.067, -1.778, -0.688, -1.467, -1.467] |
| team_run_error_on_losses | improving | [5.0, 3.0, 7.0, 8.25, 7.125, 6.4, 6.75, 6.0, 5.286, 5.333] |
Every stored stage is scored against the same official finals. A later recovery remains visible; it does not erase an unstable intermediate flip.
| Stage | Winner hits | Accuracy | Team-run MAE | Total-run MAE | Margin MAE |
|---|---|---|---|---|---|
| historical_ml | 8/15 | 53.3% | 2.676 | 4.645 | 2.446 |
| variance_applied | 8/15 | 53.3% | 2.667 | 4.8 | 2.267 |
| enhanced_prediction | 9/15 | 60% | 2.7 | 4.2 | 2.733 |
| embedded_savant_run_environment | 9/15 | 60% | 2.667 | 4.133 | 2.667 |
| fundamental_edge_target_review | 9/15 | 60% | 2.667 | 4.133 | 2.667 |
| capped_target | 9/15 | 60% | 2.667 | 4.133 | 2.667 |
| simulation_result | 9/15 | 60% | 2.667 | 4.133 | 2.667 |
| published_final | 9/15 | 60% | 2.667 | 4.133 | 2.667 |
| Transition | Δ accuracy | Δ hits | Δ team-run MAE | Δ margin MAE | Games whose winner/tie changed |
|---|---|---|---|---|---|
| historical_ml → variance_applied | 0 | 0 | -0.0095 | -0.1788 | ATL@PHI: PHI → TIE; CHC@MIA: CHC → TIE; NYY@SD: NYY → TIE; TOR@KC: TOR → TIE; WAS@LAD: WAS → TIE |
| variance_applied → enhanced_prediction | 0.0667 | 1 | 0.0333 | 0.4666 | ATL@PHI: TIE → PHI; CHC@MIA: TIE → CHC; NYY@SD: TIE → NYY; TOR@KC: TIE → TOR; WAS@LAD: TIE → LAD |
| enhanced_prediction → embedded_savant_run_environment | 0 | 0 | -0.0333 | -0.0666 | |
| 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.5431 | 0.5439 | 0.5439 | 0.5439 | 0.5373 | no recorded transformation explains the publication delta |
| ATL@PHI | miss | 0.5382 | 0.5596 | 0.5596 | 0.5596 | 0.5506 | no recorded transformation explains the publication delta |
| BOS@BAL | hit | 0.5869 | 0.5682 | 0.5682 | 0.5682 | 0.5493 | score coherence followed by matchup-recency guardrail |
| CHC@MIA | miss | 0.5979 | 0.6773 | 0.6773 | 0.6712 | 0.58 | score coherence followed by matchup-recency guardrail |
| DET@CLE | hit | 0.5774 | 0.5452 | 0.5452 | 0.5452 | 0.5203 | score coherence followed by matchup-recency guardrail |
| LAA@PIT | hit | 0.612 | 0.5858 | 0.5858 | 0.5851 | 0.5723 | no recorded transformation explains the publication delta |
| MIL@CIN | miss | 0.6356 | 0.6257 | 0.6257 | 0.6257 | 0.53 | score coherence followed by matchup-recency guardrail |
| MIN@CHW | hit | 0.652 | 0.5833 | 0.5833 | 0.5833 | 0.53 | score coherence followed by matchup-recency guardrail |
| NYY@SD | miss | 0.5007 | 0.5494 | 0.5494 | 0.5494 | 0.5357 | score coherence followed by matchup-recency guardrail |
| OAK@SEA | hit | 0.5843 | 0.5612 | 0.5612 | 0.5612 | 0.5442 | no recorded transformation explains the publication delta |
| SF@NYM | hit | 0.5825 | 0.5475 | 0.5475 | 0.5475 | 0.5163 | score coherence followed by matchup-recency guardrail |
| STL@COL | hit | 0.6129 | 0.5821 | 0.5821 | 0.5821 | 0.5594 | score coherence followed by matchup-recency guardrail |
| TB@TEX | miss | 0.5636 | 0.5379 | 0.5379 | 0.5379 | 0.5274 | score coherence followed by matchup-recency guardrail |
| TOR@KC | miss | 0.5669 | 0.5724 | 0.5724 | 0.5724 | 0.5371 | score coherence followed by matchup-recency guardrail |
| WAS@LAD | hit | 0.5293 | 0.5772 | 0.5772 | 0.5772 | 0.53 | score coherence followed by matchup-recency guardrail |
One blown start is noise. The same failure repeating across the slate is a model problem. These are the repeats.
| Sides analyzed | Broke on pitching | Broke on offense | Both | Variance | Mean starter ERA error | Mean lineup runs vs proj |
|---|---|---|---|---|---|---|
| 30 | 6 | 10 | 2 | 12 | 0.74 | -0.3 |
The blend mixes the trained win classifier with the margin-derived probability. It is only worth its weight if its decision survives the downstream reconciliation to the projected score.
On all 15 games with an applied blend, the blend's side and the published side agree.
Blend side survived on 15 of 15 games; the blend flagged a winner change on 0.
A bias on one slate is noise. The same sign across slates, large relative to how much it moves between them, is a model defect. Only the ones that pass both tests are turned into a named parameter change; the rest are held deliberately.
starter ERA error (actual minus projected)
Mean 0.22 over 7 slates (sign shared by 0.57 of them, z = 0.65).
starters were hit harder than projected: the run model under-credits opposing offenses.
Hold: no change: this bias is not separable from slate-to-slate noise yet
4 of 7 slates share the sign, mean 0.22 +/- 0.33 standard error: not separable from noise
lineup runs actual minus projected
Mean -0.03 over 7 slates (sign shared by 0.57 of them, z = -0.11).
lineups scored below projection: the run environment is set too high.
Hold: no change: this bias is not separable from slate-to-slate noise yet
4 of 7 slates share the sign, mean -0.03 +/- 0.23 standard error: not separable from noise
| Slate | Games | Winner acc | Mean starter ERA error | Mean lineup runs vs proj | Sides broke on pitching | Sides broke on offense |
|---|---|---|---|---|---|---|
| 20260906 | 15 | 0.600 | — | — | ||
| 20260905 | 15 | 0.533 | -1.17 | -0.07 | 2 | 6 |
| 20260904 | 16 | 0.625 | -0.23 | -0.44 | 5 | 12 |
| 20260903 | 9 | 0.556 | 0.24 | -0.83 | 4 | 6 |
| 20260902 | 15 | 0.333 | 0.72 | 0.30 | 7 | 6 |
| 20260901 | 15 | 0.467 | 1.48 | 1.07 | 9 | 3 |
| 20260831 | 12 | 0.667 | 0.83 | 0.08 | 2 | 7 |
| 20260830 | 14 | 0.500 | -0.36 | -0.29 | 3 | 7 |
| 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 | 1 | 1 | 0 |
| ATL@PHI | 1 | 1 | 0 |
| BOS@BAL | 1 | 2 | -1 |
| CHC@MIA | 2 | 7 | -5 |
| DET@CLE | 1 | 1 | 0 |
| LAA@PIT | 2 | 1 | 1 |
| MIL@CIN | 2 | 4 | -2 |
| MIN@CHW | 2 | 9 | -7 |
| NYY@SD | 1 | 1 | 0 |
| OAK@SEA | 1 | 2 | -1 |
| SF@NYM | 2 | 2 | 0 |
| STL@COL | 1 | 2 | -1 |
| TB@TEX | 1 | 2 | -1 |
| TOR@KC | 1 | 5 | -4 |
| WAS@LAD | 1 | 2 | -1 |
No large single-factor errors.
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| ARI | Eduardo Rodriguez | 2 ER / 18 outs | 1 ER / 18 outs | -1 |
| HOU | Peter Lambert | 2 ER / 16 outs | 3 ER / 21 outs | 1 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
No settled pitching line for this club. The forecast named Eduardo Rodriguez (ARI) at a projected 3 ERA, but the per-player feed carries no pitching row for him in this game, so the actual-versus-projected comparison cannot be made on this side. That is a source-coverage gap in the settled box, not a forecasting failure.
Bullpen behind him: 0 ER over 0 outs.
The HOME lineup he faced produced 2 runs on 6 hits and 1 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
HOME pitching
Peter Lambert (HOU) threw 21 outs, 3 ER = 3.86 ERA against a projected 3.38 ERA (0.48 ERA error)
Bullpen behind him: 0 ER over 3 outs.
The AWAY lineup he faced produced 3 runs on 7 hits and 1 HR, against a projected 3 runs / 7 hits (0 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
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 | Peter Lambert (Starter) | 21 / 16 | 3.86 / 3.38 | 3 / 2 | 7 / 2 | 1 / 0 | 0 / 1 | 6 / 6 | venue home: 4.04 vs 3 ERA (worse here) · opp run factor 0.98 (average) · 24 prior appearances this season |
| HOU | Bryan Abreu (Setup Man) | 3 / 3 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| HOU | Jose Altuve (2B) | 4 / 4 | 3 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 1 | 1.25 | 0.275 weak | good day |
| HOU | Isaac Paredes (3B) | 3 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 2 / 0 | -1.11 | 0.319 average | no signal |
| ARI | Ketel Marte (2B) | 4 / 5 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 0 / 0 | 1 / 0 | -0.93 | 0.349 elite | bad day |
| ARI | Nolan Arenado (3B) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | 0.93 | 0.283 weak | good day |
| ARI | Jordan Lawlar (CF) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.309 average | — |
| HOU | Jeremy Peña (SS) | 4 / 5 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | -0.47 | 0.325 above average | — |
| HOU | Christian Vázquez (C) | 3 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0.47 | 0.238 weak | — |
| HOU | Cam Smith (RF) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 3 / 1 | -0.47 | 0.317 average | — |
| HOU | Daulton Varsho (CF) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | -0.47 | 0.291 below average | — |
| ARI | Corbin Carroll (RF) | 4 / 5 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0 / 1 | 0.45 | 0.344 elite | — |
| ARI | Gabriel Moreno (DH) | 4 / 4 | 1 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | -0.33 | 0.365 elite | — |
| ARI | Geraldo Perdomo (SS) | 1 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | -0.33 | 0.328 above average | — |
| HOU | Yordan Alvarez (DH) | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 1 / 1 | 0 / 1 | 1 / 1 | -0.33 | 0.447 elite | — |
| HOU | Christian Walker (1B) | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 0 | 1 / 1 | 0.33 | 0.3 below average | — |
| ARI | Ildemaro Vargas (1B) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 | 0.3 below average | — |
| HOU | Nelson Velázquez (LF) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 2 / 1 | 0 | 0.338 above average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.026 | positive favors home; negative favors away |
| Recent form | 0.42 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.122 | positive favors home; negative favors away |
| Composite | 0.18 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.53-4.34 | 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.537 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run) |
| embedded_savant_run_environment | 4-3 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-3 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-3 | n/a | Capped at max 12 realistic runs |
| simulation_result | 4-3 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.53-4.34 | 5-4 | 0.807 | 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) |
| embedded_savant_run_environment | 4-3 | 4-3 | -0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-3 | 4-3 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-3 | 4-3 | -0 | Capped at max 12 realistic runs |
| simulation_result | 4-3 | 4-3 | -0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| ARI | Ildemaro Vargas | batter / 1B | better | predicted_H 2.28 |
| HOU | Nelson Velázquez | batter / LF | better | predicted_AB 1.5 |
| ARI | Geraldo Perdomo | batter / SS | worse | predicted_SO 1.464 |
| HOU | Isaac Paredes | batter / 3B | worse | predicted_SO 1.452 |
| HOU | Yordan Alvarez | batter / DH | worse | predicted_AB 1.429 |
| ARI | Gabriel Moreno | batter / DH | worse | predicted_AB 1.402 |
| ARI | Ketel Marte | batter / 2B | worse | predicted_RBI 1.38 |
| ARI | Nolan Arenado | batter / 3B | worse | predicted_AB -1.29 |
| 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 pitcher projections differ from final simulation pitching box score (H: current=7, sim=10). | ARI |
| info | CURRENT_FINALIZED_MATCH_BOX | ARI model-prediction batting totals differ from final simulation box score (AB: current=36, sim=37; H: current=8, sim=7; 3B: current=0, sim=2; HR: current=1, sim=0; BB: current=3, sim=2; SO: current=6, sim=10). | 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=4 box=5, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Corbin Carroll: AB current=5 box=4, 2B current=0 box=1, RBI current=0 box=1, BB current=1 box=0; Tommy Troy: R current=1 box=0, BB current=0 box=1, SO current=1 box=2; Ketel Marte: HR current=1 box=0, RBI current=1 box=2, SO current=0 box=1; Nolan Arenado: AB current=4 box=3, 3B current=0 box=1, R current=0 box=1, BB current=0 box=1; Geraldo Perdomo: AB current=4 box=5, H current=1 box=0, BB current=1 box=0, SO current=0 box=2; James McCann: H current=1 box=0, RBI current=1 box=0; Ildemaro Vargas: H current=1 box=3, 3B current=0 box=1, R current=0 box=1 | ARI |
| info | CURRENT_FINALIZED_MATCH_BOX | HOU model-prediction batting totals differ from final simulation box score (AB: current=34, sim=40; H: current=7, sim=10; 2B: current=1, sim=3; HR: current=1, sim=2; RBI: current=4, sim=3; R: current=4, sim=3; BB: current=3, sim=2; 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, R current=1 box=0, BB current=0 box=1; Isaac Paredes: AB current=4 box=5, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Nelson Velázquez: AB current=3 box=4, H current=0 box=2, 2B current=0 box=1, R current=0 box=1; Jose Altuve: AB current=4 box=5, 2B current=0 box=1, R current=1 box=0, SO current=1 box=0; Yordan Alvarez: AB current=4 box=5, H current=1 box=2, 2B current=0 box=1, HR current=1 box=0; Christian Vázquez: AB current=3 box=4, SO current=1 box=0; Cam Smith: AB current=3 box=4; Daulton Varsho: AB current=4 box=5, HR current=0 box=1, RBI current=0 box=1, R current=0 box=1 | HOU |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| ATL | Tyler Mahle | 2 ER / 17 outs | 0 ER / 18 outs | -2 |
| PHI | Aaron Nola | 3 ER / 16 outs | 1 ER / 21 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: Aaron Nola (PHI) posted 1.29 ERA vs projected 5.06 (1 ER in 21 outs); he is materially worse pitching home (5.72 ERA there vs 4.26 on the other side), a venue-role weakness the model under-weighted.
What to do: Enable/raise the venue-split weight (context.venue_adjustment_weight) and validate in shadow; the split is credible for this starter.
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Tyler Mahle (ATL) threw 18 outs, 0 ER = 0 ERA against a projected 3.18 ERA (-3.18 ERA error)
Bullpen behind him: 0 ER over 3 outs.
The HOME lineup he faced produced 3 runs on 6 hits and 1 HR, against a projected 4 runs / 8 hits (-1 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
Aaron Nola (PHI) threw 21 outs, 1 ER = 1.29 ERA against a projected 5.06 ERA (-3.77 ERA error)
Bullpen behind him: 1 ER over 5 outs.
The AWAY lineup he faced produced 5 runs on 10 hits and 1 HR, against a projected 4 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) |
|---|---|---|---|---|---|---|---|---|---|
| ATL | Tyler Mahle (Starter) | 18 / 17 | 0 / 3.18 (-3.18) | 0 / 2 | 4 / 5 | 0 / 1 | 1 / 0 | 3 / 4 | venue away: 6.16 vs 2.4 ERA (worse here) · opp run factor 1 (average) · 23 prior appearances this season |
| ATL | Dylan Lee (Setup Man) | 3 / 3 | 0 / 9 (-9.00) | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 2 | |
| PHI | Aaron Nola (Starter) | 21 / 16 | 1.29 / 5.06 (-3.77) | 1 / 3 | 4 / 5 | 0 / 0 | 1 / 2 | 5 / 1 | venue home: 5.72 vs 4.26 ERA (worse here) · opp run factor 1.1 (strong) · 28 prior appearances this season |
| PHI | Jhoan Duran (Closer) | 3 / 3 | 9 / 0 (+9.00) | 1 / 0 | 2 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | |
| PHI | Brooks Raley (Middle Reliever (High Leverage)) | 2 / 2 | 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ATL | Matt Olson (1B) | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | -1.11 | 0.353 elite | bad day |
| PHI | Bryce Harper (RF) | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 3 / 1 | -1.11 | 0.392 elite | bad day |
| ATL | Michael Harris II (CF) | 4 / 5 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 1 | -0.93 | 0.342 elite | bad day |
| ATL | Mauricio Dubón (SS) | 4 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0.78 | 0.302 below average | good day |
| PHI | Bryson Stott (3B) | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | -0.64 | 0.327 above average | bad day |
| ATL | Austin Riley (3B) | 4 / 4 | 1 / 1 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0.62 | 0.3 below average | good day |
| ATL | Sean Murphy (C) | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.263 weak | — |
| PHI | Brandon Marsh (LF) | 2 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.306 average | — |
| PHI | Luis Arraez (2B) | 3 / 5 | 1 / 2 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.306 average | — |
| PHI | Garrett Stubbs (C) | 3 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0.47 | 0.212 weak | — |
| ATL | Ronald Acuña Jr. (RF) | 3 / 5 | 2 / 1 | 1 / 0 | 0 / 0 | 1 / 1 | 4 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | 0.45 | 0.364 elite | — |
| ATL | Mike Yastrzemski (LF) | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 1 / 0 | 2 / 1 | 0.33 | 0.309 average | — |
| ATL | Ozzie Albies (2B) | 4 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 0.31 | 0.284 below average | — |
| PHI | Alec Bohm (1B) | 4 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0.31 | 0.322 above average | — |
| PHI | Trea Turner (SS) | 4 / 5 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 1 | 0.31 | 0.293 below average | — |
| ATL | Drake Baldwin (DH) | 5 / 4 | 2 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 2 / 1 | 0.14 | 0.365 elite | — |
| PHI | Kyle Schwarber (DH) | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 2 / 1 | 1 / 1 | 0 / 1 | 0 | 0.367 elite | — |
| PHI | Justin Crawford (CF) | 2 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 | 0.282 weak | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.391 | positive favors home; negative favors away |
| Recent form | -0.01 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.101 | positive favors home; negative favors away |
| Composite | -0.26 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.44-4.49 | 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.551 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run) |
| 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.44-4.49 | 4-4 | -0.055 | 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 projected_margin_is_one_run) |
| 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 |
|---|---|---|---|---|
| PHI | Trea Turner | batter / SS | worse | predicted_RBI 2.55 |
| ATL | Michael Harris II | batter / CF | better | predicted_AB -1.89 |
| PHI | Brandon Marsh | batter / LF | worse | predicted_H 1.7 |
| ATL | Mauricio Dubón | batter / SS | worse | predicted_SO 1.504 |
| PHI | Justin Crawford | batter / CF | worse | predicted_SO 1.424 |
| ATL | Mike Yastrzemski | batter / LF | boosted | predicted_AB 1.339 |
| ATL | Austin Riley | batter / 3B | worse | predicted_SO -1.237 |
| PHI | Garrett Stubbs | batter / C | worse | predicted_AB 1.167 |
| 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 pitcher projections differ from final simulation pitching box score (H: current=6, sim=9; HR: current=1, sim=2). | ATL |
| info | CURRENT_FINALIZED_MATCH_BOX | ATL model-prediction batting totals differ from final simulation box score (AB: current=36, sim=33; H: current=9, sim=6; HR: current=2, sim=0; RBI: current=5, sim=3; R: current=4, sim=3; BB: current=3, sim=4; SO: current=8, sim=5). | ATL |
| info | CURRENT_PLAYER_MATCH_BOX | ATL current finalized hitter lines are model predictions and differ from the simulation box score: Drake Baldwin: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Mauricio Dubón: H current=1 box=0, RBI current=1 box=0, SO current=0 box=2; Michael Harris II: AB current=5 box=3, H current=1 box=3, 2B current=0 box=1, HR current=1 box=0; Ozzie Albies: RBI current=0 box=1, R current=0 box=1, SO current=1 box=0; Matt Olson: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, R current=1 box=0; Ronald Acuña Jr.: AB current=5 box=4, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Sean Murphy: AB current=3 box=4, H current=1 box=0; Austin Riley: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, BB current=0 box=1 | ATL |
| info | CURRENT_FINALIZED_MATCH_BOX | PHI model pitcher projections differ from final simulation pitching box score (BB: current=3, sim=4). | PHI |
| info | CURRENT_FINALIZED_MATCH_BOX | PHI model-prediction batting totals differ from final simulation box score (H: current=8, sim=9; 2B: current=2, sim=1; HR: current=1, sim=2; BB: current=3, sim=1; SO: current=8, sim=7; HBP: current=0, sim=1). | PHI |
| info | CURRENT_PLAYER_MATCH_BOX | PHI current finalized hitter lines are model predictions and differ from the simulation box score: Bryce Harper: H current=1 box=2, 2B current=1 box=0, RBI current=1 box=0, BB current=1 box=0; Alec Bohm: H current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Bryson Stott: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Brandon Marsh: H current=1 box=2, 2B current=0 box=1, R current=0 box=1; Luis Arraez: AB current=5 box=4, H current=2 box=1; Kyle Schwarber: AB current=4 box=5, H current=1 box=2, BB current=1 box=0; Trea Turner: AB current=5 box=4, H current=1 box=2, HR current=0 box=1, RBI current=0 box=3; Garrett Stubbs: AB current=3 box=4, SO current=1 box=0 | PHI |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| BOS | Payton Tolle | 0 ER / 18 outs | 1 ER / 18 outs | 1 |
| BAL | Kyle Bradish | 3 ER / 16 outs | 0 ER / 12 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: Kyle Bradish (BAL) posted 0.00 ERA vs projected 5.06 (0 ER in 12 outs); no credible venue, opponent-strength or experience signal explains it — an outlier start (variance).
What to do: Variance — no model change is warranted for this start.
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Payton Tolle (BOS) threw 18 outs, 1 ER = 1.5 ERA against a projected 0 ERA (1.5 ERA error)
Bullpen behind him: 0 ER over 6 outs.
The HOME lineup he faced produced 1 runs on 5 hits and 0 HR, against a projected 4 runs / 7 hits (-3 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
Kyle Bradish (BAL) threw 12 outs, 0 ER = 0 ERA against a projected 5.06 ERA (-5.06 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The AWAY lineup he faced produced 3 runs on 4 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
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 | Payton Tolle (Starter) | 18 / 18 | 1.5 / 0 | 1 / 0 | 4 / 4 | 0 / 0 | 0 / 0 | 12 / 7 | venue away: 2.59 vs 3.88 ERA (ok) · opp run factor 0.97 (average) · 23 prior appearances this season |
| BOS | Aroldis Chapman (Closer) | 3 / 3 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | |
| BOS | Erik Miller (Setup Man) | 3 / 3 | 0 / 9 (-9.00) | 0 / 1 | 0 / 3 | 0 / 0 | 0 / 0 | 2 / 0 | |
| BAL | Kyle Bradish (Starter) | 12 / 16 | 0 / 5.06 (-5.06) | 0 / 3 | 2 / 4 | 1 / 0 | 4 / 2 | 3 / 5 | venue home: 3.46 vs 4.45 ERA (ok) · opp run factor 1.03 (average) · 27 prior appearances this season |
Hitters: actual / projected (sorted by run impact vs projection)
| Team | Batter | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| BOS | Eli White (CF) | 4 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 3 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 1.4 | 0.275 weak | good day |
| BOS | Nick Sogard (2B) | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 3 / 1 | -1.11 | 0.321 above average | bad day |
| BAL | Gunnar Henderson (SS) | 3 / 5 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | -0.8 | 0.315 average | no signal |
| BAL | Colton Cowser (CF) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 1 | -0.8 | 0.319 average | no signal |
| BAL | Pete Alonso (1B) | 4 / 5 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 2 / 2 | -0.79 | 0.392 elite | bad day |
| BAL | Rece Hinds (LF) | 3 / 3 | 1 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 2 / 2 | 0.78 | 0.158 weak | good day |
| BOS | Adley Rutschman (C) | 4 / 5 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | -0.62 | 0.334 above average | bad day |
| BOS | Roman Anthony (RF) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 2 / 1 | -0.47 | 0.356 elite | — |
| BOS | Jarren Duran (LF) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.296 below average | — |
| BAL | Blaze Alexander (2B) | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 2 / 1 | -0.47 | 0.352 elite | — |
| BAL | Leody Taveras (RF) | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.272 weak | — |
| BOS | Trevor Story (SS) | 4 / 5 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | -0.31 | 0.252 weak | — |
| BAL | Coby Mayo (DH) | 4 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 0 | 1 / 1 | 0.31 | 0.317 average | — |
| BOS | Caleb Durbin (3B) | 2 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 1 / 1 | 0.19 | 0.289 below average | — |
| BOS | Mickey Gasper (1B) | 1 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 1 | 0 / 0 | -0.14 | 0.377 elite | — |
| BOS | Andruw Monasterio (DH) | 4 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 2 / 1 | 0 | 0.297 below average | — |
| BAL | Carlos Narváez (C) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.265 weak | — |
| BAL | Christian Encarnacion-Strand (3B) | 4 / 5 | 1 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 0 | 3 / 1 | 0 | 0.345 elite | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.555 | positive favors home; negative favors away |
| Recent form | -0.178 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.066 | positive favors home; negative favors away |
| Composite | -0.675 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.8-3.27 | n/a | Base ML historical model prediction |
| variance_applied | 5-3 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-3 | 0.549 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-3 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-3 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-3 | n/a | Capped at max 12 realistic runs |
| simulation_result | 4-3 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.8-3.27 | 5-3 | 0.471 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-3 | 4-3 | -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 | 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 |
|---|---|---|---|---|
| BOS | Payton Tolle | pitcher / Starter | better | predicted_SO 5 |
| BAL | Pete Alonso | batter / 1B | worse | predicted_H 2.14 |
| BOS | Adley Rutschman | batter / C | worse | predicted_AB -2.06 |
| BOS | Aroldis Chapman | pitcher / Closer | worse | predicted_SO -2 |
| BOS | Erik Miller | pitcher / Setup Man | worse | predicted_SO -2 |
| BAL | Blaze Alexander | batter / 2B | deboosted | predicted_AB 1.846 |
| BOS | Roman Anthony | batter / RF | better | predicted_RBI 1.811 |
| BAL | Carlos Narváez | batter / C | better | predicted_H 1.65 |
| 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=37; H: current=7, sim=10; 2B: current=1, sim=4; 3B: current=0, sim=1; HR: current=1, sim=0; RBI: current=4, sim=3; R: current=4, sim=3; BB: current=3, sim=0). | BAL |
| info | CURRENT_PLAYER_MATCH_BOX | BAL current finalized hitter lines are model predictions and differ from the simulation box score: Blaze Alexander: AB current=3 box=5, RBI current=0 box=1, SO current=1 box=0; Coby Mayo: AB current=3 box=4, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Rece Hinds: AB current=3 box=4, H current=0 box=1, 2B current=0 box=1, RBI current=1 box=0; Leody Taveras: AB current=3 box=4, 3B current=0 box=1, RBI current=0 box=1, R current=0 box=1; Carlos Narváez: AB current=3 box=4, H current=0 box=2, 2B current=0 box=1, RBI current=0 box=1; Christian Encarnacion-Strand: AB current=5 box=4, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Pete Alonso: AB current=5 box=4, H current=1 box=3, 2B current=0 box=1, HR current=1 box=0; Gunnar Henderson: AB current=5 box=4, 2B current=0 box=1, R current=1 box=0, BB current=1 box=0 | BAL |
| info | CURRENT_FINALIZED_MATCH_BOX | BOS model-prediction batting totals differ from final simulation box score (AB: current=35, sim=33; H: current=8, sim=6; 2B: current=2, sim=4; HR: current=1, sim=0; BB: current=3, sim=2; SO: current=8, sim=5). | BOS |
| info | CURRENT_PLAYER_MATCH_BOX | BOS current finalized hitter lines are model predictions and differ from the simulation box score: Mickey Gasper: AB current=3 box=4, H current=1 box=0, R current=1 box=0, BB current=1 box=0; Roman Anthony: AB current=4 box=3, 2B current=0 box=1, RBI current=0 box=2; Nick Sogard: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R 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; Trevor Story: AB current=5 box=4, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Andruw Monasterio: AB current=3 box=4, SO current=1 box=2; Caleb Durbin: 2B current=0 box=1, R current=0 box=1, SO current=1 box=0; Eli White: H current=1 box=2, 2B current=0 box=1, R current=0 box=1, SO current=1 box=0 | BOS |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| CHC | Clay Holmes | 2 ER / 18 outs | 8 ER / 13 outs | 6 |
| MIA | Tyler Phillips | 4 ER / 15 outs | 3 ER / 15 outs | -1 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Starter miss: Clay Holmes (CHC) posted 16.62 ERA vs projected 3.00 (8 ER in 13 outs); he is materially worse pitching away (2.42 ERA there vs 1.77 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
Clay Holmes (CHC) threw 13 outs, 8 ER = 16.62 ERA against a projected 3 ERA (13.62 ERA error)
Bullpen behind him: 2 ER over 8 outs.
The HOME lineup he faced produced 10 runs on 11 hits and 2 HR, against a projected 5 runs / 8 hits (5 runs vs projection).
Who did the damage to him:
Verdict: both: the starter was hit hard AND the lineup underproduced
HOME pitching
Tyler Phillips (MIA) threw 15 outs, 3 ER = 5.4 ERA against a projected 7.2 ERA (-1.8 ERA error)
Bullpen behind him: 0 ER over 3 outs.
The AWAY lineup he faced produced 3 runs on 5 hits and 1 HR, against a projected 5 runs / 8 hits (-2 runs vs projection).
No individual hitter beat his projection by a meaningful margin.
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) |
|---|---|---|---|---|---|---|---|---|---|
| CHC | Clay Holmes (Starter) | 13 / 18 | 16.62 / 3 (+13.62) | 8 / 2 | 6 / 2 | 1 / 1 | 3 / 3 | 2 / 7 | venue away: 2.42 vs 1.77 ERA (worse here) · opp run factor 0.98 (average) · 14 prior appearances this season |
| CHC | Colin Rea (Setup Man) | 8 / 4 | 6.75 / 6.75 | 2 / 1 | 5 / 1 | 1 / 0 | 2 / 0 | 2 / 0 | |
| MIA | Tyler Phillips (Starter) | 15 / 15 | 5.4 / 7.2 | 3 / 4 | 5 / 3 | 1 / 2 | 1 / 5 | 3 / 3 | venue home: 2.72 vs 5.82 ERA (ok) · opp run factor 1.05 (strong) · 33 prior appearances this season |
| MIA | Victor Vodnik (Middle Reliever (High Leverage)) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| MIA | Javier Sanoja (2B) | 4 / 3 | 2 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | 2 / 0 | 2 / 0 | 0 / 0 | 0 / 0 | 1.09 | 0.288 below average | good day |
| CHC | Michael Busch (1B) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | -0.8 | 0.328 above average | bad day |
| MIA | Heriberto Hernández (LF) | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 2 / 1 | 2 / 1 | 1 / 0 | 0 / 1 | 0.8 | 0.355 elite | projection too low |
| MIA | Graham Pauley (3B) | 2 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 2 / 0 | 0 / 1 | 0.66 | 0.231 weak | good day |
| CHC | Michael Conforto (DH) | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 0 | 0 / 1 | -0.6 | 0.335 above average | bad day |
| CHC | Pedro Ramirez (2B) | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.289 below average | — |
| MIA | Jakob Marsee (CF) | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 0 / 1 | 0.47 | 0.307 average | — |
| MIA | Otto Lopez (SS) | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 0 / 0 | 0 / 1 | 0.47 | 0.324 above average | — |
| CHC | Alex Bregman (3B) | 2 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 0 | 0 / 1 | -0.45 | 0.318 average | — |
| MIA | Kyle Stowers (DH) | 3 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 2 / 1 | 2 / 2 | -0.45 | 0.336 above average | — |
| CHC | Pete Crow-Armstrong (CF) | 3 / 6 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 2 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | -0.33 | 0.371 elite | — |
| MIA | Griffin Conine (1B) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | -0.33 | 0.37 elite | — |
| CHC | Seiya Suzuki (RF) | 3 / 5 | 1 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 1 / 1 | 0 | 0.339 elite | — |
| CHC | Nico Hoerner (SS) | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 | 0.324 above average | — |
| CHC | Carson Kelly (C) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 0 | 2 / 1 | 0 | 0.31 average | — |
| MIA | Owen Caissie (RF) | 5 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 1 / 0 | 0 / 0 | 3 / 1 | 0 | 0.294 below average | — |
| MIA | Joe Mack (C) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.29 below average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.841 | positive favors home; negative favors away |
| Recent form | -0.858 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.079 | positive favors home; negative favors away |
| Composite | -1.211 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.17-3.69 | n/a | Base ML historical model prediction |
| variance_applied | 4-4 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 6-4 | 0.58 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 6-4 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 6-4 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 6-4 | n/a | Capped at max 12 realistic runs |
| simulation_result | 6-4 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.17-3.69 | 4-4 | -0.476 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-4 | 6-4 | 2 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 6-4 | 6-4 | -0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 6-4 | 6-4 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 6-4 | 6-4 | -0 | Capped at max 12 realistic runs |
| simulation_result | 6-4 | 6-4 | -0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| CHC | Seiya Suzuki | batter / RF | better | predicted_AB -2.73 |
| MIA | Owen Caissie | batter / RF | better | predicted_RBI 2.62 |
| CHC | Michael Busch | batter / 1B | better | predicted_RBI 2.44 |
| CHC | Pedro Ramirez | batter / 2B | worse | predicted_SO 2.417 |
| CHC | Alex Bregman | batter / 3B | worse | predicted_AB -2.21 |
| MIA | Kyle Stowers | batter / DH | worse | predicted_AB -1.695 |
| CHC | Michael Conforto | batter / DH | worse | predicted_AB 1.5 |
| CHC | Pete Crow-Armstrong | batter / CF | worse | predicted_H -1.39 |
| 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=37, sim=30; H: current=9, sim=4; 2B: current=2, sim=0; HR: current=2, sim=3; BB: current=4, sim=6; SO: current=8, sim=9; SF: current=0, sim=1). | CHC |
| info | CURRENT_PLAYER_MATCH_BOX | CHC current finalized hitter lines are model predictions and differ from the simulation box score: Michael Busch: AB current=4 box=3, H current=1 box=2, HR current=0 box=2, RBI current=0 box=3; Seiya Suzuki: AB current=5 box=2, 2B current=1 box=0, HR current=0 box=1, RBI current=1 box=2; Nico Hoerner: H current=1 box=0, SO current=0 box=1; Alex Bregman: AB current=4 box=2, H current=1 box=0, 2B current=1 box=0, BB current=0 box=1; Pete Crow-Armstrong: AB current=6 box=5, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Ian Happ: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0; Pedro Ramirez: AB current=3 box=4, H current=1 box=0, SO current=1 box=3; Carson Kelly: AB current=4 box=3, RBI current=1 box=0, BB current=0 box=1, SO current=1 box=0 | CHC |
| info | CURRENT_FINALIZED_MATCH_BOX | MIA model pitcher projections differ from final simulation pitching box score (H: current=5, sim=4). | MIA |
| info | CURRENT_FINALIZED_MATCH_BOX | MIA model-prediction batting totals differ from final simulation box score (H: current=8, sim=4; 2B: current=2, sim=0; HR: current=1, sim=2; R: current=5, sim=4; SO: current=9, sim=7). | MIA |
| info | CURRENT_PLAYER_MATCH_BOX | MIA current finalized hitter lines are model predictions and differ from the simulation box score: Kyle Stowers: AB current=4 box=2, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Griffin Conine: AB current=3 box=4, RBI current=1 box=0, BB current=1 box=0, SO current=1 box=2; Owen Caissie: AB current=3 box=4, HR current=0 box=1, RBI current=0 box=3, R current=0 box=1; Joe Mack: AB current=3 box=4, HR current=0 box=1, RBI current=0 box=1, R current=0 box=1; Heriberto Hernández: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Javier Sanoja: H current=1 box=0, 2B current=1 box=0; Jakob Marsee: AB current=4 box=3, H current=1 box=0, R current=1 box=0; Graham Pauley: RBI current=1 box=0 | MIA |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
No large single-factor errors.
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| DET | Jackson Jobe | 1 ER / 15 outs | 2 ER / 15 outs | 1 |
| CLE | Gavin Williams | 2 ER / 16 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:
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 Jobe (DET) threw 15 outs, 2 ER = 3.6 ERA against a projected 1.8 ERA (1.8 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 6 outs.
The HOME lineup he faced produced 3 runs on 6 hits and 1 HR, against a projected 4 runs / 7 hits (-1 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
HOME pitching
Gavin Williams (CLE) threw 18 outs, 2 ER = 3 ERA against a projected 3.38 ERA (-0.38 ERA error)
Bullpen behind him: 0 ER over 12 outs.
The AWAY lineup he faced produced 2 runs on 4 hits and 0 HR, against a projected 4 runs / 8 hits (-2 runs vs projection).
No individual hitter beat his projection by a meaningful margin.
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 | Jackson Jobe (Starter) | 15 / 15 | 3.6 / 1.8 | 2 / 1 | 4 / 2 | 1 / 1 | 2 / 1 | 7 / 3 | venue away: 2.94 vs 7.88 ERA (ok) · opp run factor 0.96 (weak) · 5 prior appearances this season |
| DET | Tyler Holton (Setup Man) | 3 / 4 | 0 / 20.25 (-20.25) | 0 / 3 | 0 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | |
| DET | Kenley Jansen (Closer) | 3 / 5 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | |
| CLE | Gavin Williams (Starter) | 18 / 16 | 3 / 3.38 | 2 / 2 | 4 / 2 | 0 / 0 | 3 / 1 | 11 / 9 | venue home: 3.01 vs 4.79 ERA (ok) · opp run factor 0.96 (average) · 28 prior appearances this season |
| CLE | Cade Smith (Closer) | 6 / 4 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 5 / 1 | |
| CLE | Erik Sabrowski (Middle Reliever (High Leverage)) | 3 / 4 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | |
| CLE | Hunter Gaddis (Setup Man) | 3 / 3 | 0 / 9 (-9.00) | 0 / 1 | 0 / 1 | 0 / 1 | 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CLE | Angel Martínez (LF) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 0 | 1 / 1 | -1.07 | 0.303 below average | projection too high |
| CLE | Brayan Rocchio (SS) | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 1 | 0 / 0 | 1 / 1 | 0.93 | 0.291 below average | good day |
| DET | Max Clark (CF) | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 3 / 1 | -0.78 | 0.311 average | no signal |
| DET | John Peck (SS) | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 2 / 1 | -0.78 | 0.325 above average | bad day |
| CLE | Steven Kwan (DH) | 4 / 4 | 2 / 1 | 2 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 1 / 0 | 0.76 | 0.322 above average | projection too low |
| DET | Ben Malgeri (RF) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 2 / 1 | -0.47 | 0.322 above average | — |
| CLE | Jo Adell (RF) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.324 above average | — |
| CLE | Angel Genao (3B) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 1 / 0 | -0.47 | 0.29 below average | — |
| CLE | Petey Halpin (CF) | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.283 weak | — |
| CLE | Nathaniel Lowe (1B) | 2 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0.33 | 0.335 above average | — |
| DET | Riley Greene (DH) | 4 / 4 | 2 / 1 | 2 / 0 | 0 / 0 | 0 / 1 | 2 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -0.17 | 0.369 elite | — |
| DET | Kevin McGonigle (3B) | 2 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 1 | 1 / 0 | -0.14 | 0.35 elite | — |
| DET | Hao-Yu Lee (2B) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 2 / 1 | -0.14 | 0.299 below average | — |
| CLE | Travis Bazzana (2B) | 4 / 4 | 2 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 1 | 0 / 1 | 0.14 | 0.299 below average | — |
| CLE | Patrick Bailey (C) | 4 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0.14 | 0.308 average | — |
| DET | Colt Keith (1B) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 2 / 1 | 0 | 0.335 above average | — |
| DET | Brett Callahan (LF) | 4 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 4 / 1 | 0 | 0.31 average | — |
| DET | Dillon Dingler (C) | 4 / 5 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 1 | 0 | 0.343 elite | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.13 | positive favors home; negative favors away |
| Recent form | 0.434 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.005 | positive favors home; negative favors away |
| Composite | 0.229 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 3.62-5.23 | 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.52 | 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.62-5.23 | 4-5 | -0.609 | 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 |
|---|---|---|---|---|
| DET | Brett Callahan | batter / LF | worse | predicted_SO 3.143 |
| DET | Dillon Dingler | batter / C | worse | predicted_AB -1.99 |
| CLE | Brayan Rocchio | batter / SS | worse | predicted_AB -1.68 |
| CLE | Angel Martínez | batter / LF | worse | predicted_AB -1.598 |
| DET | Max Clark | batter / CF | worse | predicted_RBI 1.44 |
| CLE | Travis Bazzana | batter / 2B | better | predicted_RBI 1.42 |
| DET | Colt Keith | batter / 1B | worse | predicted_SO 1.397 |
| DET | Kevin McGonigle | batter / 3B | worse | predicted_SO 1.39 |
| 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=33, sim=28; H: current=7, sim=5; 2B: current=1, sim=0; HR: current=1, sim=2; BB: current=3, sim=1; SO: current=7, sim=4; SF: current=0, sim=1). | CLE |
| info | CURRENT_PLAYER_MATCH_BOX | CLE current finalized hitter lines are model predictions and differ from the simulation box score: Steven Kwan: H current=1 box=0, R current=1 box=0, BB current=1 box=0; Angel Martínez: AB current=4 box=2, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Travis Bazzana: H current=1 box=2, 2B current=1 box=0, HR current=0 box=1, RBI current=1 box=2; Nathaniel Lowe: H current=0 box=1, HR current=0 box=1, RBI current=0 box=1, R current=0 box=1; Jo Adell: H current=1 box=0, RBI current=1 box=0; Patrick Bailey: H current=0 box=1, R current=0 box=1, BB current=1 box=0; Angel Genao: AB current=4 box=3, H current=1 box=0, R current=1 box=0, SO current=0 box=1; Petey Halpin: 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=31; H: current=8, sim=4; 2B: current=2, sim=1; 3B: current=0, sim=1; RBI: current=4, sim=3; R: current=4, sim=3; BB: current=3, sim=2; SO: current=8, sim=12). | DET |
| info | CURRENT_PLAYER_MATCH_BOX | DET current finalized hitter lines are model predictions and differ from the simulation box score: Colt Keith: AB current=3 box=4, H current=1 box=0, SO current=1 box=2; Riley Greene: 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Kevin McGonigle: HR current=0 box=1, RBI current=0 box=1, BB current=1 box=0, SO current=0 box=2; Ben Malgeri: AB current=3 box=2, H current=1 box=0, SO current=1 box=0; Brett Callahan: AB current=3 box=4, SO current=1 box=4; Max Clark: AB current=4 box=3, 2B current=1 box=0, 3B current=0 box=1, RBI current=1 box=2; Dillon Dingler: AB current=5 box=3, RBI current=1 box=0, BB current=0 box=1; Hao-Yu Lee: AB current=3 box=4, H 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 | Walbert Ureña | 4 ER / 17 outs | 1 ER / 24 outs | -3 |
| PIT | Paul Skenes | 0 ER / 17 outs | 0 ER / 16 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: Walbert Ureña (LAA) posted 1.12 ERA vs projected 6.35 (1 ER in 24 outs); he is materially worse pitching away (3.71 ERA there vs 2.42 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
Walbert Ureña (LAA) threw 24 outs, 1 ER = 1.12 ERA against a projected 6.35 ERA (-5.23 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The HOME lineup he faced produced 1 runs on 3 hits and 1 HR, against a projected 5 runs / 8 hits (-4 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
HOME pitching
Paul Skenes (PIT) threw 16 outs, 0 ER = 0 ERA against a projected 0 ERA (0 ERA error)
Bullpen behind him: 0 ER over 5 outs.
The AWAY lineup he faced produced 0 runs on 5 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 | Walbert Ureña (Starter) | 24 / 17 | 1.12 / 6.35 (-5.23) | 1 / 4 | 3 / 2 | 1 / 0 | 1 / 1 | 4 / 8 | venue away: 3.71 vs 2.42 ERA (worse here) · opp run factor 0.96 (strong) · 25 prior appearances this season |
| PIT | Paul Skenes (Starter) | 16 / 17 | 0 / 0 | 0 / 0 | 4 / 2 | 0 / 0 | 1 / 3 | 2 / 2 | venue home: 3.94 vs 4.01 ERA (ok) · opp run factor 1.09 (weak) · 28 prior appearances this season |
| PIT | Gregory Soto (Middle Reliever (High Leverage)) | 2 / 3 | 0 / 9 (-9.00) | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 2 | |
| PIT | Mason Montgomery (Closer) | 3 / 3 | 0 / 9 (-9.00) | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 0 | 1 / 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| PIT | Bryan Reynolds (LF) | 2 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 1 | -1.4 | 0.36 elite | bad day |
| LAA | Zach Neto (SS) | 3 / 5 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 2 | -1.26 | 0.305 average | no signal |
| PIT | Henry Davis (C) | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 0.93 | 0.288 below average | good day |
| PIT | Oneil Cruz (CF) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -0.8 | 0.35 elite | bad day |
| PIT | Esmerlyn Valdez (RF) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -0.8 | 0.328 above average | bad day |
| LAA | Vaughn Grissom (3B) | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 1 | -0.78 | 0.314 average | no signal |
| LAA | Josh Lowe (CF) | 1 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 1 / 1 | 0.66 | 0.291 below average | good day |
| LAA | Moisés Ballesteros (1B) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.289 below average | — |
| LAA | Adam Frazier (LF) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.257 weak | — |
| PIT | Nick Gonzales (DH) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.327 above average | — |
| PIT | Konnor Griffin (SS) | 3 / 5 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | -0.47 | 0.297 below average | — |
| PIT | Jacob Gonzalez (3B) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.309 average | — |
| LAA | Mike Trout (DH) | 4 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 0.45 | 0.375 elite | — |
| 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.311 average | — |
| PIT | Brandon Lowe (2B) | 3 / 4 | 2 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | -0.17 | 0.323 above average | — |
| LAA | Tyler Heineman (C) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 | 0.243 weak | — |
| LAA | Christian Moore (2B) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.249 weak | — |
| PIT | Spencer Horwitz (1B) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.311 average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.719 | positive favors home; negative favors away |
| Recent form | 0.432 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.131 | positive favors home; negative favors away |
| Composite | 0.575 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.37-5.51 | n/a | Base ML historical model prediction |
| variance_applied | 4-6 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 0.572 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by season_quality_guardrail) |
| embedded_savant_run_environment | 3-5 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 3-5 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 3-5 | n/a | Capped at max 12 realistic runs |
| simulation_result | 3-5 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.37-5.51 | 4-6 | 0.867 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-6 | 4-5 | -1 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by season_quality_guardrail) |
| embedded_savant_run_environment | 4-5 | 3-5 | 1 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 3-5 | 3-5 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 3-5 | 3-5 | 0 | Capped at max 12 realistic runs |
| simulation_result | 3-5 | 3-5 | 0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| PIT | Oneil Cruz | batter / CF | worse | predicted_AB -2.47 |
| PIT | Spencer Horwitz | batter / 1B | worse | predicted_RBI 1.79 |
| PIT | Bryan Reynolds | batter / LF | better | predicted_2B 1.764 |
| PIT | Henry Davis | batter / C | worse | predicted_RBI 1.63 |
| PIT | Esmerlyn Valdez | batter / RF | worse | predicted_SO -1.523 |
| LAA | Adam Frazier | batter / LF | worse | predicted_AB 1.5 |
| PIT | Jacob Gonzalez | batter / 3B | better | predicted_H 1.418 |
| LAA | Zach Neto | batter / SS | better | predicted_SO -1.387 |
| 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=3, sim=7; BB: current=3, sim=5). | LAA |
| info | CURRENT_FINALIZED_MATCH_BOX | LAA model-prediction batting totals differ from final simulation box score (AB: current=32, sim=33; H: current=7, sim=6; HR: current=1, sim=2; RBI: current=4, sim=3; R: current=4, sim=3; BB: current=3, sim=5; SO: current=9, sim=8; HBP: current=0, sim=1). | LAA |
| info | CURRENT_PLAYER_MATCH_BOX | LAA current finalized hitter lines are model predictions and differ from the simulation box score: Mike Trout: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=1 box=2; Wade Meckler: AB current=3 box=4, H current=1 box=0, R current=1 box=0, BB current=1 box=0; Vaughn Grissom: AB current=4 box=3, 2B current=1 box=0, BB current=0 box=1; Moisés Ballesteros: H current=1 box=0, BB current=0 box=1, SO current=1 box=0; Josh Lowe: AB current=3 box=4, H current=0 box=1, HR current=0 box=1, RBI current=0 box=1; Adam Frazier: AB current=3 box=4; Zach Neto: AB current=5 box=4, H current=1 box=2, 2B current=0 box=1, SO current=2 box=0; Tyler Heineman: AB current=3 box=4, H current=0 box=1, SO current=0 box=1 | LAA |
| info | CURRENT_FINALIZED_MATCH_BOX | PIT model-prediction batting totals differ from final simulation box score (AB: current=33, sim=31; H: current=8, sim=7; 2B: current=1, sim=3; HR: current=1, sim=0; RBI: current=4, sim=5; BB: current=4, sim=5; 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: Nick Gonzales: H current=1 box=0, RBI current=1 box=0, SO current=1 box=2; Konnor Griffin: AB current=5 box=4, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Oneil Cruz: AB current=4 box=2, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Esmerlyn Valdez: RBI current=1 box=0, SO current=1 box=0; Jacob Gonzalez: AB current=3 box=4, H current=1 box=2, 2B current=0 box=1, RBI current=0 box=1; Bryan Reynolds: H current=1 box=2, 2B current=0 box=2, HR current=1 box=0, BB current=1 box=0; Brandon Lowe: H current=1 box=0, 2B current=1 box=0, R current=1 box=0, BB current=1 box=0; Henry Davis: RBI current=0 box=2, R current=0 box=1, BB 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 | Kyle Harrison | 2 ER / 15 outs | 4 ER / 11 outs | 2 |
| CIN | Brady Singer | 5 ER / 15 outs | 6 ER / 15 outs | 1 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Starter miss: Kyle Harrison (MIL) posted 9.82 ERA vs projected 3.60 (4 ER in 11 outs); he is materially worse pitching away (5.94 ERA there vs 1.26 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
Kyle Harrison (MIL) threw 11 outs, 4 ER = 9.82 ERA against a projected 3.6 ERA (6.22 ERA error)
Bullpen behind him: 3 ER over 3 outs.
The HOME lineup he faced produced 12 runs on 14 hits and 1 HR, against a projected 5 runs / 8 hits (7 runs vs projection).
Who did the damage to him:
Verdict: pitching: the starter gave up runs at a far worse rate than projected
HOME pitching
Brady Singer (CIN) threw 15 outs, 6 ER = 10.8 ERA against a projected 9 ERA (1.8 ERA error)
Bullpen behind him: 0 ER over 7 outs.
The AWAY lineup he faced produced 8 runs on 7 hits and 1 HR, against a projected 5 runs / 8 hits (3 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material)
| Team | Pitcher | Outs | ERA | ER | H | HR | BB | SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|
| MIL | Kyle Harrison (Starter) | 11 / 15 | 9.82 / 3.6 (+6.22) | 4 / 2 | 9 / 3 | 1 / 1 | 4 / 3 | 4 / 5 | venue away: 5.94 vs 1.26 ERA (worse here) · opp run factor 1.02 (weak) · 22 prior appearances this season |
| MIL | Abner Uribe (Setup Man) | 1 / 3 | 0 / 18 (-18.00) | 0 / 2 | 0 / 3 | 0 / 0 | 0 / 1 | 1 / 2 | |
| MIL | Antonio Senzatela (Middle Reliever (High Leverage)) | 2 / 3 | 40.5 / 9 (+31.50) | 3 / 1 | 2 / 4 | 0 / 0 | 2 / 0 | 1 / 0 | |
| CIN | Brady Singer (Starter) | 15 / 15 | 10.8 / 9 | 6 / 5 | 4 / 6 | 1 / 0 | 6 / 2 | 3 / 5 | venue home: 4.08 vs 5.67 ERA (ok) · opp run factor 1.04 (strong) · 27 prior appearances this season |
| CIN | Luis Mey (Setup Man) | 3 / 4 | 0 / 0 | 0 / 0 | 0 / 2 | 0 / 0 | 0 / 0 | 1 / 1 | |
| CIN | Brock Burke (Middle Reliever (High Leverage)) | 3 / 3 | 0 / 18 (-18.00) | 0 / 2 | 1 / 1 | 0 / 1 | 0 / 1 | 0 / 2 | |
| CIN | Emilio Pagán (Closer) | 1 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| MIL | Jake Bauers (1B) | 2 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 3 / 1 | 3 / 1 | 0 / 1 | 2.06 | 0.377 elite | projection too low |
| CIN | Juan Brito (2B) | 4 / 3 | 3 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 3 / 0 | 1 / 0 | 0 / 1 | 2.05 | 0.277 weak | good day |
| CIN | Elly De La Cruz (DH) | 4 / 4 | 2 / 1 | 1 / 1 | 0 / 0 | 1 / 0 | 4 / 0 | 1 / 1 | 2 / 1 | 1 / 1 | 1.73 | 0.368 elite | projection too low |
| CIN | Dane Myers (CF) | 4 / 3 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 3 / 0 | 2 / 0 | 0 / 1 | 1.44 | 0.314 average | no signal |
| MIL | Brice Turang (2B) | 3 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 3 / 1 | 1 / 1 | 2 / 1 | 0 / 1 | 1.11 | 0.336 above average | projection too low |
| MIL | Garrett Mitchell (CF) | 3 / 4 | 2 / 1 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 0 / 0 | 0 / 1 | 1.09 | 0.35 elite | projection too low |
| MIL | Jackson Chourio (LF) | 4 / 5 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 2 / 1 | 1 / 0 | 1 / 1 | -1.07 | 0.333 above average | bad day |
| CIN | JJ Bleday (LF) | 5 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -0.8 | 0.346 elite | bad day |
| MIL | Sal Frelick (RF) | 5 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | -0.47 | 0.283 weak | — |
| CIN | Tyler Stephenson (C) | 5 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 1 | 0 / 1 | 1 / 1 | 2 / 1 | -0.46 | 0.335 above average | — |
| CIN | Matt McLain (SS) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 1 / 0 | 2 / 1 | 0.33 | 0.307 average | — |
| MIL | Christian Yelich (DH) | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 1 | -0.31 | 0.317 average | — |
| CIN | Sal Stewart (1B) | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 1 / 1 | 0 / 1 | -0.31 | 0.351 elite | — |
| CIN | Eugenio Suárez (3B) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 2 / 0 | 2 / 1 | 0.19 | 0.29 below average | — |
| MIL | Cooper Pratt (SS) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 1 / 0 | 0 / 1 | -0.14 | 0.313 average | — |
| MIL | David Hamilton (3B) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | -0.14 | 0.276 weak | — |
| CIN | Héctor Rodríguez (RF) | 5 / 4 | 3 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 2 / 1 | 0 / 0 | 1 / 2 | 0.01 | 0.277 weak | — |
| MIL | Bo Naylor (C) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 0 | 2 / 1 | 0 | 0.296 below average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -1.48 | positive favors home; negative favors away |
| Recent form | -0.258 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.023 | positive favors home; negative favors away |
| Composite | -1.288 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.98-3.08 | n/a | Base ML historical model prediction |
| variance_applied | 5-3 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 7-5 | 0.53 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 7-5 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 7-5 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 7-5 | n/a | Capped at max 12 realistic runs |
| simulation_result | 7-5 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.98-3.08 | 5-3 | 0.106 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-3 | 7-5 | -0 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 7-5 | 7-5 | -0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 7-5 | 7-5 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 7-5 | 7-5 | -0 | Capped at max 12 realistic runs |
| simulation_result | 7-5 | 7-5 | -0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| CIN | Dane Myers | batter / CF | better | predicted_H 2.4 |
| CIN | Elly De La Cruz | batter / DH | better | predicted_H 1.892 |
| MIL | Brice Turang | batter / 2B | worse | predicted_SO 1.86 |
| MIL | Garrett Mitchell | batter / CF | better | predicted_RBI 1.69 |
| MIL | Jake Bauers | batter / 1B | deboosted | predicted_H 1.56 |
| MIL | Bo Naylor | batter / C | better | predicted_RBI 1.5 |
| MIL | Cooper Pratt | batter / SS | worse | predicted_SO 1.302 |
| MIL | David Hamilton | batter / 3B | better | predicted_SO 1.26 |
| 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=37; H: current=8, sim=10; 2B: current=2, sim=4; HR: current=2, sim=1; RBI: current=4, sim=5; BB: current=4, sim=5; SO: current=10, sim=8; HBP: current=0, sim=1). | CIN |
| info | CURRENT_PLAYER_MATCH_BOX | CIN current finalized hitter lines are model predictions and differ from the simulation box score: Elly De La Cruz: H current=1 box=3, 2B current=1 box=2, RBI current=0 box=1, SO current=1 box=0; Eugenio Suárez: AB current=3 box=4, RBI current=1 box=0, R current=0 box=1, BB current=0 box=1; Tyler Stephenson: H current=1 box=2, 2B current=0 box=1, HR current=1 box=0; Dane Myers: AB current=3 box=4, H current=1 box=3, 2B current=0 box=1, HR current=0 box=1; Matt McLain: AB current=3 box=4, H current=1 box=0, BB current=0 box=1; Juan Brito: AB current=3 box=4; Héctor Rodríguez: H current=1 box=0, HR current=1 box=0, R current=1 box=0, SO current=2 box=0; JJ Bleday: BB current=1 box=0, HBP current=0 box=1 | CIN |
| info | CURRENT_FINALIZED_MATCH_BOX | MIL model-prediction batting totals differ from final simulation box score (AB: current=34, sim=36; H: current=8, sim=9; 2B: current=1, sim=2; 3B: current=0, sim=1; RBI: current=4, sim=7; R: current=5, sim=7; SO: current=8, sim=11). | MIL |
| info | CURRENT_PLAYER_MATCH_BOX | MIL current finalized hitter lines are model predictions and differ from the simulation box score: Christian Yelich: AB current=4 box=5, 2B current=1 box=0, BB current=1 box=0; Jackson Chourio: H current=1 box=2, 2B current=0 box=1, HR current=1 box=0, SO current=1 box=2; Sal Frelick: RBI current=0 box=1, R current=0 box=1, BB current=0 box=1; Jake Bauers: AB current=3 box=4, H current=0 box=2, 3B current=0 box=1, RBI current=0 box=1; Garrett Mitchell: RBI current=0 box=2, R current=0 box=1, 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; Bo Naylor: AB current=4 box=3, HR current=0 box=1, RBI current=1 box=2, R current=0 box=1; Cooper Pratt: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=0 box=1 | MIL |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| MIN | Bailey Ober | 5 ER / 16 outs | 1 ER / 13 outs | -4 |
| CHW | Bryan Hudson | 0 ER / 15 outs | 0 ER / 5 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: Bailey Ober (MIN) posted 2.08 ERA vs projected 8.44 (1 ER in 13 outs); he is materially worse pitching away (6.20 ERA there vs 3.16 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
Bailey Ober (MIN) threw 13 outs, 1 ER = 2.08 ERA against a projected 8.44 ERA (-6.36 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The HOME lineup he faced produced 0 runs on 0 hits and 0 HR, against a projected 0 runs / 0 hits (0 runs vs projection).
No individual hitter beat his projection by a meaningful margin.
Verdict: offense: the lineup scored well below its projection
HOME pitching
No settled pitching line for this club. The forecast named Bryan Hudson (CHW) 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 0 outs.
The AWAY lineup he faced produced 1 runs on 3 hits and 1 HR, against a projected 5 runs / 8 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 | Bailey Ober (Starter) | 13 / 16 | 2.08 / 8.44 (-6.36) | 1 / 5 | 4 / 4 | 0 / 2 | 3 / 3 | 6 / 4 | venue away: 6.2 vs 3.16 ERA (worse here) · opp run factor 0.99 (average) · 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| MIN | Ryan Jeffers (C) | 2 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | 0 / 1 | -1.4 | 0.357 elite | bad day |
| MIN | Brooks Lee (3B) | 3 / 5 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 1.4 | 0.276 weak | good day |
| MIN | Luke Keaschall (RF) | 3 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 2 / 0 | -1.11 | 0.314 average | no signal |
| MIN | Josh Bell (DH) | 3 / 5 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.331 above average | — |
| MIN | Kody Clemens (2B) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | -0.47 | 0.339 elite | — |
| MIN | Trevor Larnach (LF) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 3 / 0 | -0.47 | 0.327 above average | — |
| MIN | Kaelen Culpepper (SS) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | -0.47 | 0.313 average | — |
| MIN | Walker Jenkins (CF) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 2 / 1 | -0.33 | 0.24 weak | — |
| MIN | Royce Lewis (1B) | 3 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | -0.31 | 0.315 average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.372 | positive favors home; negative favors away |
| Recent form | -0.018 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.011 | positive favors home; negative favors away |
| Composite | 0.537 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 3.3-6.14 | 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.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 | 3.3-6.14 | 3-6 | 0.154 | 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 matchup_recency_guardrail) |
| 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 |
|---|---|---|---|---|
| MIN | Walker Jenkins | batter / CF | better | predicted_RBI 2.79 |
| CHW | Miguel Vargas | batter / 3B | better | predicted_HR 1.8 |
| MIN | Trevor Larnach | batter / LF | better | predicted_H 1.66 |
| CHW | Chase Meidroth | batter / 2B | better | predicted_RBI 1.64 |
| CHW | Munetaka Murakami | batter / 1B | worse | predicted_SO -1.505 |
| CHW | Kyle Teel | batter / C | worse | predicted_SO -1.333 |
| MIN | Ryan Jeffers | batter / C | worse | predicted_RBI -1.27 |
| MIN | Josh Bell | batter / DH | worse | predicted_SO 1.184 |
| 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 (H: current=8, sim=7; HR: current=1, sim=3; RBI: current=4, sim=6; R: current=5, sim=6; BB: current=4, sim=3; SO: current=9, sim=7). | CHW |
| info | CURRENT_PLAYER_MATCH_BOX | CHW current finalized hitter lines are model predictions and differ from the simulation box score: Sam Antonacci: AB current=3 box=4, RBI current=0 box=1, BB current=1 box=0; Munetaka Murakami: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Braden Montgomery: 2B current=0 box=1, RBI current=1 box=0, R current=0 box=1, BB current=1 box=0; Tristan Peters: AB current=3 box=4, 2B current=1 box=0, R current=0 box=1, SO current=0 box=1; Colson Montgomery: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Miguel Vargas: H current=1 box=2, HR current=0 box=2, RBI current=1 box=2, BB current=1 box=0; Andrew Benintendi: AB current=3 box=4, 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1; Kyle Teel: AB current=3 box=2, BB current=0 box=1, SO current=1 box=0 | CHW |
| info | CURRENT_FINALIZED_MATCH_BOX | MIN model pitcher projections differ from final simulation pitching box score (H: current=6, sim=7; HR: current=2, sim=3). | MIN |
| info | CURRENT_FINALIZED_MATCH_BOX | MIN model-prediction batting totals differ from final simulation box score (AB: current=36, sim=35; 2B: current=2, sim=0; HR: current=1, sim=2; RBI: current=5, sim=4; R: current=5, sim=4; BB: current=3, sim=1; SO: current=7, sim=9). | MIN |
| info | CURRENT_PLAYER_MATCH_BOX | MIN current finalized hitter lines are model predictions and differ from the simulation box score: Luke Keaschall: 2B current=1 box=0, BB current=1 box=0, SO current=0 box=1; Josh Bell: AB current=5 box=4, RBI current=1 box=0, SO current=1 box=2; Ryan Jeffers: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Brooks Lee: AB current=5 box=4, RBI current=1 box=0, R current=0 box=1; Kody Clemens: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Royce Lewis: 2B current=1 box=0, RBI current=1 box=0, SO current=1 box=2; Trevor Larnach: AB current=3 box=4, H current=1 box=2, HR current=0 box=1, RBI current=0 box=1; Walker Jenkins: AB current=3 box=4, H current=0 box=1, HR current=0 box=1, RBI current=0 box=3 | MIN |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
No large single-factor errors.
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| NYY | Gerrit Cole | 3 ER / 19 outs | 4 ER / 21 outs | 1 |
| SD | Michael King | 2 ER / 18 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: Michael King (SD) posted 0.00 ERA vs projected 3.00 (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
Gerrit Cole (NYY) threw 21 outs, 4 ER = 5.14 ERA against a projected 4.26 ERA (0.88 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The HOME lineup he faced produced 4 runs on 6 hits and 4 HR, against a projected 3 runs / 7 hits (1 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
HOME pitching
Michael King (SD) threw 18 outs, 0 ER = 0 ERA against a projected 3 ERA (-3 ERA error)
Bullpen behind him: 2 ER over 9 outs.
The AWAY lineup he faced produced 2 runs on 6 hits and 0 HR, against a projected 5 runs / 8 hits (-3 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material)
| Team | Pitcher | Outs | ERA | ER | H | HR | BB | SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|
| NYY | Gerrit Cole (Starter) | 21 / 19 | 5.14 / 4.26 | 4 / 3 | 6 / 4 | 4 / 0 | 0 / 1 | 3 / 5 | venue away: 3.23 vs 3.35 ERA (ok) · opp run factor 0.99 (average) · 18 prior appearances this season |
| SD | Michael King (Starter) | 18 / 18 | 0 / 3 (-3.00) | 0 / 2 | 4 / 5 | 0 / 1 | 3 / 2 | 3 / 5 | venue home: 2.94 vs 3.29 ERA (ok) · opp run factor 1.01 (average) · 28 prior appearances this season |
| SD | Adrian Morejon (Setup Man) | 3 / 3 | 18 / 0 (+18.00) | 2 / 0 | 3 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | |
| SD | Bradgley Rodriguez (Middle Reliever (High Leverage)) | 3 / 3 | 0 / 18 (-18.00) | 0 / 2 | 0 / 1 | 0 / 1 | 0 / 1 | 2 / 0 | |
| SD | Mason Miller (Closer) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 3 / 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| NYY | Ben Rice (DH) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | 2 / 1 | -1.4 | 0.376 elite | bad day |
| SD | Luis Campusano (C) | 3 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 1.4 | 0.344 elite | projection too low |
| SD | Jake Cronenworth (2B) | 4 / 4 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | 0 / 1 | 0 / 1 | 1.07 | 0.271 weak | good day |
| SD | Manny Machado (3B) | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 1 | 1 / 1 | 0 / 1 | 0.93 | 0.336 above average | projection too low |
| 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.338 above average | bad day |
| NYY | Spencer Jones (CF) | 3 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 1 / 0 | 1 / 1 | 0.64 | 0.327 above average | projection too low |
| SD | Ty France (1B) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.332 above average | — |
| SD | Xander Bogaerts (SS) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.32 average | — |
| NYY | Cody Bellinger (LF) | 4 / 5 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | -0.33 | 0.341 elite | — |
| NYY | Jazz Chisholm Jr. (2B) | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | -0.33 | 0.295 below average | — |
| SD | Fernando Tatis Jr. (RF) | 4 / 5 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | -0.33 | 0.375 elite | — |
| NYY | George Lombard Jr. (SS) | 4 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0.31 | 0.283 weak | — |
| NYY | Jasson Domínguez (RF) | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | -0.31 | 0.291 below average | — |
| NYY | Austin Wells (C) | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 2 / 0 | 1 / 1 | 0.19 | 0.292 below average | — |
| NYY | Luis García Jr. (1B) | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | 0 | 0.349 elite | — |
| NYY | Ryan McMahon (3B) | 4 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0 | 0.305 average | — |
| SD | Ethan Salas (DH) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.147 weak | — |
| SD | Dustin Harris (LF) | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 | 0.328 above average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.776 | positive favors home; negative favors away |
| Recent form | -0.628 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.026 | positive favors home; negative favors away |
| Composite | -0.82 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.11-4.01 | n/a | Base ML historical model prediction |
| variance_applied | 4-4 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-3 | 0.536 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-3 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-3 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-3 | n/a | Capped at max 12 realistic runs |
| simulation_result | 4-3 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.11-4.01 | 4-4 | -0.104 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-4 | 4-3 | 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 | 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 |
|---|---|---|---|---|
| NYY | Gerrit Cole | pitcher / Starter | better | predicted_SO 3 |
| NYY | Brent Headrick | pitcher / Setup Man | worse | predicted_SO -2 |
| SD | Michael King | pitcher / Starter | better | predicted_SO 2 |
| SD | Bradgley Rodriguez | pitcher / Middle Reliever (High Leverage) | worse | predicted_SO -2 |
| NYY | Ryan McMahon | batter / 3B | better | predicted_RBI 1.86 |
| NYY | Ben Rice | batter / DH | worse | predicted_AB -1.45 |
| NYY | Cody Bellinger | batter / LF | worse | predicted_SO 1.345 |
| SD | Dustin Harris | batter / LF | worse | predicted_AB 1.238 |
| 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=32, sim=33; H: current=8, sim=6; 2B: current=1, sim=0; HR: current=1, sim=2; R: current=5, sim=4; SO: current=9, sim=7). | NYY |
| info | CURRENT_PLAYER_MATCH_BOX | NYY current finalized hitter lines are model predictions and differ from the simulation box score: Ben Rice: AB current=4 box=3, HR current=1 box=0, SO current=1 box=2; Cody Bellinger: AB current=5 box=4, RBI current=1 box=0, BB current=1 box=0, SO current=1 box=2; Spencer Jones: RBI current=1 box=0, R current=1 box=0; Luis García Jr.: AB current=3 box=4, R current=1 box=0, SO current=1 box=0; Jazz Chisholm Jr.: AB current=3 box=4, HR current=0 box=1, RBI current=0 box=1, BB current=1 box=0; George Lombard Jr.: H current=1 box=0, BB current=0 box=1, SO current=1 box=0; Jasson Domínguez: H current=1 box=0, 2B current=1 box=0; Ryan McMahon: AB current=3 box=4, H current=0 box=1, HR current=0 box=1, RBI current=0 box=2 | NYY |
| info | CURRENT_FINALIZED_MATCH_BOX | SD model-prediction batting totals differ from final simulation box score (H: current=7, sim=6; 2B: current=1, sim=2; HR: current=1, sim=0; BB: current=3, sim=1; SO: current=8, sim=5). | SD |
| info | CURRENT_PLAYER_MATCH_BOX | SD current finalized hitter lines are model predictions and differ from the simulation box score: Fernando Tatis Jr.: AB current=5 box=4, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Jake Cronenworth: BB current=1 box=0, SO current=1 box=2; Manny Machado: AB current=4 box=3, H current=1 box=2, 2B current=0 box=1, SO current=1 box=0; Ty France: AB current=3 box=4, H current=1 box=0, SO current=1 box=0; Xander Bogaerts: RBI current=0 box=1, R current=0 box=1, SO current=1 box=0; Dustin Harris: AB current=3 box=4, H current=1 box=0, SO current=0 box=1; Jackson Merrill: AB current=5 box=4, H current=1 box=2, 2B current=1 box=0, RBI current=1 box=0; Luis Campusano: AB current=3 box=4, 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1 | SD |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| OAK | Gage Jump | 4 ER / 14 outs | 2 ER / 12 outs | -2 |
| SEA | Bryan Woo | 3 ER / 17 outs | 0 ER / 24 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: Bryan Woo (SEA) posted 0.00 ERA vs projected 4.76 (0 ER in 24 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
Gage Jump (OAK) threw 12 outs, 2 ER = 4.5 ERA against a projected 7.71 ERA (-3.21 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The HOME lineup he faced produced 2 runs on 7 hits and 0 HR, against a projected 4 runs / 8 hits (-2 runs vs projection).
No individual hitter beat his projection by a meaningful margin.
Verdict: offense: the lineup scored well below its projection
HOME pitching
Bryan Woo (SEA) threw 24 outs, 0 ER = 0 ERA against a projected 4.76 ERA (-4.76 ERA error)
Bullpen behind him: 0 ER over 3 outs.
The AWAY lineup he faced produced 0 runs on 1 hits and 0 HR, against a projected 4 runs / 9 hits (-4 runs vs projection).
No individual hitter beat his projection by a meaningful margin.
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) |
|---|---|---|---|---|---|---|---|---|---|
| OAK | Gage Jump (Starter) | 12 / 14 | 4.5 / 7.71 (-3.21) | 2 / 4 | 6 / 5 | 0 / 2 | 0 / 2 | 7 / 2 | venue away: 4.61 vs 5.62 ERA (ok) · opp run factor 1.02 (weak) · 18 prior appearances this season |
| SEA | Bryan Woo (Starter) | 24 / 17 | 0 / 4.76 (-4.76) | 0 / 3 | 1 / 4 | 0 / 1 | 2 / 0 | 9 / 7 | venue home: 2.63 vs 5.62 ERA (ok) · opp run factor 1 (weak) · 26 prior appearances this season |
| SEA | Andrés Muñoz (Closer) | 3 / 4 | 0 / 6.75 (-6.75) | 0 / 1 | 0 / 1 | 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| OAK | Zack Gelof (3B) | 4 / 5 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 2 / 1 | -1.4 | 0.313 average | no signal |
| SEA | Cal Raleigh (DH) | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 1 / 1 | 2 / 1 | -0.93 | 0.316 average | no signal |
| OAK | Lawrence Butler (RF) | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 1 / 1 | -0.8 | 0.322 above average | bad day |
| OAK | Alika Williams (SS) | 3 / 3 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | -0.78 | 0.243 weak | projection too high |
| OAK | Jeff McNeil (1B) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | -0.47 | 0.306 average | — |
| OAK | Max Muncy (DH) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.291 below average | — |
| OAK | Carlos Cortes (LF) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.304 below average | — |
| OAK | Brian Serven (C) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | -0.47 | 0.302 below average | — |
| SEA | Michael Arroyo (2B) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | -0.47 | — | — |
| SEA | Jhonny Pereda (C) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.342 elite | — |
| OAK | Henry Bolte (CF) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 2 / 1 | -0.33 | 0.311 average | — |
| SEA | J.P. Crawford (SS) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | -0.33 | 0.325 above average | — |
| SEA | Weston Wilson (3B) | 2 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 1 | -0.33 | 0.257 weak | — |
| SEA | Julio Rodríguez (CF) | 4 / 5 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 0 | 2 / 1 | -0.31 | 0.335 above average | — |
| SEA | Randy Arozarena (LF) | 4 / 4 | 2 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 2 / 1 | -0.17 | 0.348 elite | — |
| OAK | Donovan Walton (2B) | 1 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 1 / 1 | -0.14 | 0.333 above average | — |
| SEA | Dominic Canzone (RF) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 0 / 0 | 1 / 1 | 0 | 0.355 elite | — |
| SEA | Josh Naylor (1B) | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 | 0.314 average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.352 | positive favors home; negative favors away |
| Recent form | -0.706 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.011 | positive favors home; negative favors away |
| Composite | 0.222 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 3.79-4.82 | n/a | Base ML historical model prediction |
| variance_applied | 4-5 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 6-7 | 0.544 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, season_quality_guardrail) |
| embedded_savant_run_environment | 6-7 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 6-7 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 6-7 | n/a | Capped at max 12 realistic runs |
| simulation_result | 6-7 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 3.79-4.82 | 4-5 | -0.03 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 6-7 | 0 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, season_quality_guardrail) |
| embedded_savant_run_environment | 6-7 | 6-7 | 0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 6-7 | 6-7 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 6-7 | 6-7 | 0 | Capped at max 12 realistic runs |
| simulation_result | 6-7 | 6-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 |
|---|---|---|---|---|
| OAK | Jeff McNeil | batter / 1B | better | predicted_RBI 2.581 |
| SEA | Dominic Canzone | batter / RF | better | predicted_RBI 2.488 |
| OAK | Zack Gelof | batter / 3B | better | predicted_2B 1.841 |
| OAK | Carlos Cortes | batter / LF | boosted | predicted_RBI 1.635 |
| SEA | Michael Arroyo | batter / 2B | better | predicted_RBI 1.607 |
| OAK | Donovan Walton | batter / 2B | worse | predicted_SO 1.469 |
| SEA | Randy Arozarena | batter / LF | better | predicted_RBI 1.46 |
| OAK | Alika Williams | batter / SS | worse | predicted_SO 1.306 |
| 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=34; H: current=9, sim=7; 2B: current=1, sim=2; HR: current=1, sim=3; RBI: current=5, sim=6; R: current=4, sim=6; BB: current=3, sim=0; SO: current=8, sim=10). | OAK |
| info | CURRENT_PLAYER_MATCH_BOX | OAK current finalized hitter lines are model predictions and differ from the simulation box score: Henry Bolte: BB current=1 box=0; Jeff McNeil: H current=1 box=2, HR current=0 box=2, RBI current=1 box=3; Max Muncy: AB current=3 box=4, R current=0 box=1, SO current=1 box=0; Carlos Cortes: AB current=3 box=4, HR current=0 box=1, RBI current=0 box=2, R current=0 box=1; Alika Williams: H current=1 box=0, 2B current=1 box=0, SO current=1 box=2; Donovan Walton: AB current=3 box=4, H current=1 box=0, BB current=1 box=0, SO current=1 box=2; Zack Gelof: AB current=5 box=4, H current=1 box=2, 2B current=0 box=2, HR current=1 box=0; Lawrence Butler: H current=1 box=0, RBI current=1 box=0, R current=0 box=1, BB current=1 box=0 | OAK |
| info | CURRENT_FINALIZED_MATCH_BOX | SEA model-prediction batting totals differ from final simulation box score (AB: current=32, sim=30; H: current=8, sim=6; 2B: current=2, sim=0; HR: current=1, sim=3; RBI: current=4, sim=7; R: current=4, sim=7; SO: current=8, sim=4). | SEA |
| info | CURRENT_PLAYER_MATCH_BOX | SEA current finalized hitter lines are model predictions and differ from the simulation box score: Cal Raleigh: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Dominic Canzone: AB current=3 box=4, H current=1 box=3, HR current=0 box=1, RBI current=1 box=3; Josh Naylor: H current=1 box=0, SO current=0 box=1; J.P. Crawford: AB current=3 box=4, R current=0 box=1, BB current=1 box=0, SO current=1 box=0; Michael Arroyo: AB current=3 box=2, HR current=0 box=1, RBI current=0 box=2, BB current=0 box=1; Julio Rodríguez: AB current=5 box=4, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Randy Arozarena: AB current=4 box=3, 2B current=1 box=0, HR current=0 box=1, RBI current=1 box=2; Jhonny Pereda: H current=1 box=0, SO current=1 box=0 | SEA |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| SF | Cesar Perdomo | 6 ER / 12 outs | 0 ER / 18 outs | -6 |
| NYM | Christian Scott | 3 ER / 15 outs | 2 ER / 14 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: Cesar Perdomo (SF) posted 0.00 ERA vs projected 13.50 (0 ER in 18 outs). Thin prior record (1 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
Cesar Perdomo (SF) threw 18 outs, 0 ER = 0 ERA against a projected 13.5 ERA (-13.5 ERA error) only 1 prior appearances in the covered season - the projection had little of his own record to stand on
Bullpen behind him: 4 ER over 3 outs.
The HOME lineup he faced produced 3 runs on 6 hits and 1 HR, against a projected 4 runs / 8 hits (-1 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
HOME pitching
Christian Scott (NYM) threw 14 outs, 2 ER = 3.86 ERA against a projected 5.4 ERA (-1.54 ERA error)
Bullpen behind him: 0 ER over 4 outs.
The AWAY lineup he faced produced 2 runs on 5 hits and 0 HR, against a projected 4 runs / 8 hits (-2 runs vs projection).
No individual hitter beat his projection by a meaningful margin.
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 | Cesar Perdomo (Starter) | 18 / 12 | 0 / 13.5 (-13.50) | 0 / 6 | 3 / 5 | 0 / 2 | 1 / 1 | 4 / 4 | opp run factor 1 (weak) · thin sample: 1 prior appearances this season (high uncertainty) |
| SF | Carson Seymour (Middle Reliever (High Leverage)) | 3 / 4 | 36 / 0 (+36.00) | 4 / 0 | 3 / 1 | 2 / 0 | 1 / 0 | 0 / 1 | |
| NYM | Christian Scott (Starter) | 14 / 15 | 3.86 / 5.4 | 2 / 3 | 4 / 3 | 0 / 1 | 0 / 3 | 7 / 3 | venue home: 3.93 vs 3.98 ERA (ok) · opp run factor 0.98 (weak) · 20 prior appearances this season |
| NYM | Nathan Lavender (Middle Reliever (High Leverage)) | 1 / 4 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | |
| NYM | Kodai Senga (Closer) | 3 / 4 | 0 / 6.75 (-6.75) | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 |
Hitters: actual / projected (sorted by run impact vs projection)
| Team | Batter | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| SF | Rafael Devers (DH) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 3 / 1 | -1.26 | 0.339 elite | bad day |
| NYM | Juan Soto (DH) | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 1 / 1 | 0 / 0 | -0.93 | 0.416 elite | bad day |
| NYM | Bo Bichette (3B) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 3 / 0 | 1 / 1 | 0 / 0 | 1 / 1 | 0.93 | 0.326 above average | projection too low |
| SF | Bryce Eldridge (1B) | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 0 / 1 | 1 / 1 | -0.64 | 0.356 elite | bad day |
| SF | Osleivis Basabe (3B) | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 3 / 1 | -0.47 | 0.273 weak | — |
| SF | Christian Koss (SS) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | -0.47 | 0.236 weak | — |
| SF | Drew Gilbert (CF) | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 3 / 1 | -0.47 | 0.325 above average | — |
| NYM | Mark Vientos (1B) | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.312 average | — |
| NYM | Luis Torrens (C) | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.295 below average | — |
| SF | Grant McCray (LF) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | -0.33 | 0.311 average | — |
| NYM | Marcus Semien (2B) | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | -0.33 | 0.306 average | — |
| NYM | Carson Benge (RF) | 4 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | 0.31 | 0.336 above average | — |
| NYM | A.J. Ewing (CF) | 3 / 4 | 2 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0 / 1 | -0.17 | 0.322 above average | — |
| NYM | Francisco Lindor (SS) | 3 / 5 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 0 | 0 / 1 | -0.14 | 0.338 above average | — |
| SF | Jonah Cox (2B) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 1 / 1 | 0 | 0.273 weak | — |
| SF | Drew Cavanaugh (C) | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.322 above average | — |
| SF | Jung Hoo Lee (RF) | 4 / 5 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.316 average | — |
| NYM | Nick Morabito (LF) | 2 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.294 below average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.029 | positive favors home; negative favors away |
| Recent form | -0.106 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.024 | positive favors home; negative favors away |
| Composite | 0.402 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 3.44-4.92 | n/a | Base ML historical model prediction |
| variance_applied | 3-5 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 0.516 | 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 | 3.44-4.92 | 3-5 | 0.521 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 3-5 | 4-5 | -1 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| 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 |
|---|---|---|---|---|
| NYM | Francisco Lindor | batter / SS | better | predicted_RBI 3.41 |
| SF | Jonah Cox | batter / 2B | better | predicted_RBI 2.684 |
| SF | Jung Hoo Lee | batter / RF | worse | predicted_AB -1.88 |
| SF | Osleivis Basabe | batter / 3B | worse | predicted_SO 1.333 |
| NYM | Bo Bichette | batter / 3B | worse | predicted_H -1.19 |
| NYM | Mark Vientos | batter / 1B | better | predicted_H 1.12 |
| SF | Bryce Eldridge | batter / 1B | better | predicted_SO -1.093 |
| NYM | A.J. Ewing | batter / CF | better | predicted_SO -1.091 |
| 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=4, sim=3). | NYM |
| info | CURRENT_FINALIZED_MATCH_BOX | NYM model-prediction batting totals differ from final simulation box score (AB: current=34, sim=31; H: current=8, sim=7; 2B: current=1, sim=0; 3B: current=0, sim=1; HR: current=1, sim=3; RBI: current=4, sim=6; R: current=4, sim=6; BB: current=3, sim=1). | NYM |
| info | CURRENT_PLAYER_MATCH_BOX | NYM current finalized hitter lines are model predictions and differ from the simulation box score: Juan Soto: H current=1 box=2, HR current=1 box=0, RBI current=1 box=0, BB current=1 box=0; Carson Benge: H current=1 box=0, R current=1 box=0; Mark Vientos: AB current=3 box=4, H current=1 box=2, HR current=0 box=1, R current=0 box=1; Nick Morabito: RBI current=1 box=0, SO current=1 box=2; A.J. Ewing: AB current=4 box=3, 2B current=1 box=0, HR current=0 box=1, RBI current=0 box=1; Bo Bichette: H current=1 box=0; Francisco Lindor: AB current=5 box=4, H current=1 box=2, 3B current=0 box=1, HR current=0 box=1; Marcus Semien: AB current=4 box=3, H current=1 box=0, BB current=1 box=0, SO current=1 box=0 | NYM |
| info | CURRENT_FINALIZED_MATCH_BOX | SF model pitcher projections differ from final simulation pitching box score (H: current=6, sim=7; HR: current=2, sim=3). | SF |
| info | CURRENT_FINALIZED_MATCH_BOX | SF model-prediction batting totals differ from final simulation box score (AB: current=31, sim=30; H: current=8, sim=3; 2B: current=1, sim=0; SO: current=9, sim=4; HBP: current=0, sim=1). | SF |
| info | CURRENT_PLAYER_MATCH_BOX | SF current finalized hitter lines are model predictions and differ from the simulation box score: Rafael Devers: HR current=1 box=0, BB current=1 box=0, SO current=1 box=0; Bryce Eldridge: 2B current=1 box=0, RBI current=1 box=0, R current=0 box=1, BB current=1 box=0; Jonah Cox: AB current=3 box=4, HR current=0 box=1, RBI current=0 box=3; Osleivis Basabe: AB current=3 box=4, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Grant McCray: SO current=1 box=0; Christian Koss: H current=1 box=0, R current=1 box=0, SO current=1 box=0; Drew Cavanaugh: H current=1 box=0, SO current=1 box=0; Drew Gilbert: AB current=3 box=2, H current=1 box=0, R current=0 box=1, BB current=0 box=1 | SF |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| STL | Kyle Leahy | 3 ER / 16 outs | 5 ER / 8 outs | 2 |
| COL | Tanner Gordon | 2 ER / 15 outs | 5 ER / 14 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: Kyle Leahy (STL) posted 16.88 ERA vs projected 5.06 (5 ER in 8 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
Kyle Leahy (STL) threw 8 outs, 5 ER = 16.88 ERA against a projected 5.06 ERA (11.82 ERA error)
Bullpen behind him: 0 ER over 1 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: pitching: the starter gave up runs at a far worse rate than projected
HOME pitching
Tanner Gordon (COL) threw 14 outs, 5 ER = 9.64 ERA against a projected 3.6 ERA (6.04 ERA error)
Bullpen behind him: 2 ER over 1 outs.
The AWAY lineup he faced produced 9 runs on 14 hits and 1 HR, against a projected 5 runs / 9 hits (4 runs vs projection).
Who did the damage to him:
Verdict: pitching: the starter gave up runs at a far worse rate than projected
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material)
| Team | Pitcher | Outs | ERA | ER | H | HR | BB | SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|
| STL | Kyle Leahy (Starter) | 8 / 16 | 16.88 / 5.06 (+11.82) | 5 / 3 | 6 / 2 | 1 / 0 | 0 / 0 | 6 / 6 | venue away: 3.38 vs 2.91 ERA (ok) · opp run factor 1.01 (average) · 26 prior appearances this season |
| STL | George Soriano (Setup Man) | 1 / 5 | 0 / 5.4 (-5.40) | 0 / 1 | 1 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | |
| COL | Tanner Gordon (Starter) | 14 / 15 | 9.64 / 3.6 (+6.04) | 5 / 2 | 8 / 4 | 0 / 0 | 1 / 3 | 4 / 5 | venue home: 7.71 vs 1.59 ERA (worse here) · opp run factor 1.01 (average) · 20 prior appearances this season |
| COL | Jimmy Herget (Middle Reliever (High Leverage)) | 1 / 3 | 54 / 27 (+27.00) | 2 / 3 | 2 / 4 | 1 / 0 | 0 / 0 | 1 / 0 |
Hitters: actual / projected (sorted by run impact vs projection)
| Team | Batter | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| COL | Jake McCarthy (LF) | 5 / 5 | 3 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | 3 / 1 | 2 / 1 | 0 / 0 | 0 / 1 | 1.56 | 0.322 above average | projection too low |
| COL | Mickey Moniak (DH) | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 4 / 1 | 1 / 0 | 0 / 0 | 2 / 1 | 1.4 | 0.285 below average | good day |
| STL | Alec Burleson (1B) | 5 / 4 | 3 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 1.25 | 0.373 elite | projection too low |
| STL | Nolan Gorman (3B) | 5 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 0.93 | 0.276 weak | good day |
| STL | Iván Herrera (DH) | 5 / 5 | 3 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 2 / 1 | 0 / 1 | 1 / 1 | 0.92 | 0.332 above average | projection too low |
| COL | Adael Amador (2B) | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 0 | -0.8 | 0.253 weak | projection too high |
| COL | Cole Carrigg (CF) | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 2 / 1 | -0.64 | 0.32 average | no signal |
| COL | Troy Johnston (RF) | 5 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 4 / 1 | -0.47 | 0.326 above average | — |
| COL | Vimael Machín (3B) | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 2 / 1 | -0.47 | — | — |
| COL | Brett Sullivan (C) | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | -0.47 | 0.288 below average | — |
| COL | Ezequiel Tovar (SS) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.276 weak | — |
| STL | Jordan Walker (RF) | 4 / 5 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 0 | 2 / 1 | -0.45 | 0.347 elite | — |
| STL | Thomas Saggese (SS) | 4 / 3 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0 / 1 | 1 / 1 | 0.45 | 0.313 average | — |
| STL | Joshua Baez (LF) | 3 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 1 | 1 / 0 | 0 / 1 | -0.13 | 0.337 above average | — |
| COL | TJ Rumfield (1B) | 4 / 4 | 3 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 2 / 1 | 0 / 1 | 1 / 1 | -0.01 | 0.334 above average | — |
| STL | Bryan Torres (2B) | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.298 below average | — |
| STL | Leonardo Bernal (C) | 4 / 5 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 1 / 1 | 1 / 1 | 1 / 1 | 0 | 0.365 elite | — |
| STL | Nathan Church (CF) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 0 | 0.282 weak | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.729 | positive favors home; negative favors away |
| Recent form | -0.186 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.001 | positive favors home; negative favors away |
| Composite | -0.628 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 5.47-4.02 | n/a | Base ML historical model prediction |
| variance_applied | 5-4 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-4 | 0.559 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 5-4 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 5-4 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 5-4 | n/a | Capped at max 12 realistic runs |
| simulation_result | 5-4 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 5.47-4.02 | 5-4 | -0.456 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-4 | 5-4 | -0 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 5-4 | 5-4 | -0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 5-4 | 5-4 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 5-4 | 5-4 | -0 | Capped at max 12 realistic runs |
| simulation_result | 5-4 | 5-4 | -0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| COL | TJ Rumfield | batter / 1B | worse | predicted_RBI 2.44 |
| STL | Nathan Church | batter / CF | better | predicted_RBI 1.66 |
| STL | Leonardo Bernal | batter / C | worse | predicted_H -1.58 |
| STL | Alec Burleson | batter / 1B | better | predicted_RBI 1.32 |
| STL | Joshua Baez | batter / LF | worse | predicted_SO -1.3 |
| COL | Jake McCarthy | batter / LF | worse | predicted_H -1.2 |
| STL | Nolan Gorman | batter / 3B | worse | predicted_SO -1.197 |
| STL | Iván Herrera | batter / DH | worse | predicted_SO 1.165 |
| 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=32, sim=30; H: current=9, sim=3; 2B: current=2, sim=0; RBI: current=5, sim=4; R: current=5, sim=4; BB: current=3, sim=0; SO: current=7, sim=8). | COL |
| info | CURRENT_PLAYER_MATCH_BOX | COL current finalized hitter lines are model predictions and differ from the simulation box score: Cole Carrigg: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Mickey Moniak: AB current=4 box=3, RBI current=1 box=0, R current=0 box=1, SO current=1 box=2; Troy Johnston: AB current=3 box=4, H current=1 box=0; Adael Amador: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Vimael Machín: HR current=0 box=1, RBI current=0 box=1; Jake McCarthy: AB current=5 box=4, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; TJ Rumfield: AB current=4 box=3, HR current=1 box=0, RBI current=1 box=3, BB current=1 box=0; Brett Sullivan: H current=1 box=0 | COL |
| info | CURRENT_FINALIZED_MATCH_BOX | STL model-prediction batting totals differ from final simulation box score (AB: current=34, sim=36; 2B: current=1, sim=2; HR: current=1, sim=0; SO: current=8, sim=7; HBP: current=0, sim=2). | STL |
| info | CURRENT_PLAYER_MATCH_BOX | STL current finalized hitter lines are model predictions and differ from the simulation box score: Bryan Torres: H current=1 box=0, BB current=0 box=1, HBP current=0 box=1; Jordan Walker: H current=1 box=2, 2B current=1 box=0; Joshua Baez: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Alec Burleson: AB current=4 box=5, H current=1 box=2, RBI current=1 box=2, R current=0 box=1; Iván Herrera: RBI current=1 box=0, BB current=1 box=0, SO current=1 box=2; Thomas Saggese: 2B current=0 box=1, SO current=1 box=0; Leonardo Bernal: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Nolan Gorman: AB current=3 box=4, 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 | Ian Seymour | 3 ER / 16 outs | 3 ER / 9 outs | 0 |
| TEX | MacKenzie Gore | 2 ER / 16 outs | 5 ER / 9 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: MacKenzie Gore (TEX) posted 15.00 ERA vs projected 3.38 (5 ER in 9 outs); no credible venue, opponent-strength or experience signal explains it — an outlier start (variance).
What to do: Variance — no model change is warranted for this start.
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Ian Seymour (TB) threw 9 outs, 3 ER = 9 ERA against a projected 5.06 ERA (3.94 ERA error)
Bullpen behind him: 0 ER over 2 outs.
The HOME lineup he faced produced 8 runs on 11 hits and 3 HR, against a projected 4 runs / 7 hits (4 runs vs projection).
Who did the damage to him:
Verdict: pitching: the starter gave up runs at a far worse rate than projected
HOME pitching
MacKenzie Gore (TEX) threw 9 outs, 5 ER = 15 ERA against a projected 3.38 ERA (11.62 ERA error)
Bullpen behind him: 1 ER over 12 outs.
The AWAY lineup he faced produced 5 runs on 9 hits and 0 HR, against a projected 4 runs / 7 hits (1 runs vs projection).
Who did the damage to him:
Verdict: pitching: the starter gave up runs at a far worse rate than projected
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 | Ian Seymour (Starter) | 9 / 16 | 9 / 5.06 (+3.94) | 3 / 3 | 5 / 0 | 2 / 0 | 1 / 2 | 2 / 4 | venue away: 3 vs 5.35 ERA (ok) · opp run factor 1 (weak) · 42 prior appearances this season |
| TB | Kevin Kelly (Setup Man) | 2 / 3 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | |
| TEX | MacKenzie Gore (Starter) | 9 / 16 | 15 / 3.38 (+11.62) | 5 / 2 | 7 / 2 | 0 / 1 | 3 / 2 | 1 / 6 | venue home: 2.89 vs 5.62 ERA (ok) · opp run factor 1.02 (average) · 29 prior appearances this season |
| TEX | Jacob Latz (Closer) | 3 / 3 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | |
| TEX | Jakob Junis (Setup Man) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 3 | |
| TEX | Tyler Alexander (Middle Reliever (High Leverage)) | 3 / 3 | 9 / 0 (+9.00) | 1 / 0 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | |
| TEX | Chase Silseth (Middle Reliever (High Leverage)) | 3 / 2 | 0 / 40.5 (-40.50) | 0 / 3 | 0 / 4 | 0 / 0 | 0 / 1 | 1 / 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| TEX | Jake Burger (1B) | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 2 / 0 | 3 / 1 | 3 / 1 | 1 / 0 | 2 / 1 | 2.66 | 0.317 average | no signal |
| TB | Junior Caminero (3B) | 2 / 5 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 2 / 1 | 0 / 1 | -1.07 | 0.362 elite | bad day |
| TEX | Logan O'Hoppe (DH) | 3 / 3 | 2 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 0 | 0 / 1 | 0.94 | 0.268 weak | good day |
| TB | Jonathan Aranda (1B) | 4 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 1 | 0.78 | 0.35 elite | projection too low |
| TEX | Corey Seager (SS) | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | 0.6 | 0.35 elite | projection too low |
| TB | Chandler Simpson (LF) | 5 / 5 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 0 | 0 / 0 | 0.47 | 0.261 weak | — |
| TB | Jonny DeLuca (CF) | 5 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0.47 | 0.268 weak | — |
| TEX | Elias Díaz (C) | 3 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0.47 | 0.275 weak | — |
| TEX | Cody Freeman (3B) | 1 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | -0.47 | 0.232 weak | — |
| TEX | Ezequiel Duran (CF) | 5 / 4 | 3 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 1 | 0 / 1 | 2 / 1 | -0.32 | 0.307 average | — |
| TEX | Justin Foscue (2B) | 4 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0.31 | 0.334 above average | — |
| TEX | Brandon Nimmo (RF) | 5 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | -0.31 | 0.353 elite | — |
| TB | Ryan Vilade (2B) | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 2 / 0 | 1 / 1 | 0.19 | 0.335 above average | — |
| TB | Yandy Díaz (DH) | 5 / 5 | 2 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 0 / 1 | 1 / 0 | -0.17 | 0.358 elite | — |
| TEX | Wyatt Langford (LF) | 2 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 3 / 1 | 1 / 1 | -0.12 | 0.314 average | — |
| TB | Jorge Mateo (SS) | 4 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 1 / 1 | 0 | 0.302 below average | — |
| TB | Nick Fortes (C) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 0 / 0 | 1 / 0 | 0 | 0.274 weak | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.688 | positive favors home; negative favors away |
| Recent form | -0.634 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.021 | positive favors home; negative favors away |
| Composite | -0.763 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.93-3.71 | n/a | Base ML historical model prediction |
| variance_applied | 5-4 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-4 | 0.527 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 5-4 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 5-4 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 5-4 | n/a | Capped at max 12 realistic runs |
| simulation_result | 5-4 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.93-3.71 | 5-4 | -0.219 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-4 | 5-4 | -0 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 5-4 | 5-4 | -0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 5-4 | 5-4 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 5-4 | 5-4 | -0 | Capped at max 12 realistic runs |
| simulation_result | 5-4 | 5-4 | -0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| TEX | Wyatt Langford | batter / LF | deboosted | predicted_RBI 3.72 |
| TB | Ian Seymour | pitcher / Starter | better | predicted_SO 3 |
| TB | Jorge Mateo | batter / SS | better | predicted_RBI 2.88 |
| TB | Yandy Díaz | batter / DH | worse | predicted_SO 2.375 |
| TB | Ryan Vilade | batter / 2B | worse | predicted_AB 2.316 |
| TEX | Corey Seager | batter / SS | worse | predicted_AB -2.12 |
| TB | Chandler Simpson | batter / LF | worse | predicted_AB -1.61 |
| TB | Nick Fortes | batter / C | boosted | predicted_H 1.37 |
| 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-prediction batting totals differ from final simulation box score (AB: current=34, sim=36; H: current=8, sim=9; 2B: current=1, sim=2; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=2, sim=3; SO: current=6, sim=11; HBP: current=0, sim=1). | TB |
| info | CURRENT_PLAYER_MATCH_BOX | TB current finalized hitter lines are model predictions and differ from the simulation box score: Ryan Vilade: AB current=3 box=5, RBI current=1 box=0; Chandler Simpson: AB current=5 box=3, SO current=0 box=1, HBP current=0 box=1; Jonny DeLuca: H current=1 box=0, BB current=0 box=1, SO current=1 box=0; Yandy Díaz: H current=1 box=2, 2B current=1 box=0, HR current=0 box=1, BB current=1 box=0; Junior Caminero: AB current=5 box=4, HR current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Jonathan Aranda: AB current=4 box=5, RBI current=1 box=0, SO current=1 box=2; Victor Mesa Jr.: AB current=3 box=4, H current=1 box=0, SO current=1 box=2; Jorge Mateo: H current=0 box=1, 2B current=0 box=1, RBI current=0 box=3, BB 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=29; H: current=7, sim=2; 2B: current=2, sim=0; HR: current=1, sim=0; BB: current=3, sim=4; SO: current=8, sim=4). | TEX |
| info | CURRENT_PLAYER_MATCH_BOX | TEX current finalized hitter lines are model predictions and differ from the simulation box score: Ezequiel Duran: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Corey Seager: AB current=4 box=2, H current=1 box=0, RBI current=1 box=0, BB current=1 box=2; Justin Foscue: H current=1 box=0, R current=0 box=1, BB current=0 box=1, SO current=1 box=0; Wyatt Langford: 2B current=1 box=0, RBI current=0 box=4, BB current=1 box=0, SO current=1 box=0; Brandon Nimmo: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Elias Díaz: SO current=1 box=2; Logan O'Hoppe: SO current=1 box=0; Cody Freeman: AB current=3 box=2, R current=0 box=1, BB 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 | Spencer Arrighetti | 4 ER / 15 outs | 6 ER / 14 outs | 2 |
| KC | Randy Dobnak | 4 ER / 18 outs | 1 ER / 18 outs | -3 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Starter miss: Randy Dobnak (KC) posted 1.50 ERA vs projected 6.00 (1 ER in 18 outs); he is materially worse pitching home (4.44 ERA there vs 1.14 on the other side), a venue-role weakness the model under-weighted.
What to do: Enable/raise the venue-split weight (context.venue_adjustment_weight) and validate in shadow; the split is credible for this starter.
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Spencer Arrighetti (TOR) threw 14 outs, 6 ER = 11.57 ERA against a projected 7.2 ERA (4.37 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The HOME lineup he faced produced 6 runs on 7 hits and 2 HR, against a projected 4 runs / 7 hits (2 runs vs projection).
Who did the damage to him:
Verdict: both: the starter was hit hard AND the lineup underproduced
HOME pitching
Randy Dobnak (KC) threw 18 outs, 1 ER = 1.5 ERA against a projected 6 ERA (-4.5 ERA error) only 11 prior appearances in the covered season - the projection had little of his own record to stand on
Bullpen behind him: 0 ER over 0 outs.
The AWAY lineup he faced produced 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: neither side broke materially - the result is closer to variance
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material)
| Team | Pitcher | Outs | ERA | ER | H | HR | BB | SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|
| TOR | Spencer Arrighetti (Starter) | 14 / 15 | 11.57 / 7.2 (+4.37) | 6 / 4 | 6 / 4 | 2 / 1 | 3 / 2 | 3 / 4 | venue away: 5.98 vs 3.38 ERA (worse here) · opp run factor 0.98 (weak) · 20 prior appearances this season |
| KC | Randy Dobnak (Starter) | 18 / 18 | 1.5 / 6 (-4.50) | 1 / 4 | 4 / 6 | 1 / 1 | 0 / 2 | 3 / 5 | venue home: 4.44 vs 1.14 ERA (worse here) · opp run factor 0.92 (weak) · 11 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) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | -1.4 | 0.317 average | no signal |
| TOR | Josh Smith (2B) | 2 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | 0 / 1 | 0 / 1 | 1.07 | 0.287 below average | good day |
| KC | Vinnie Pasquantino (1B) | 3 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | 3 / 1 | 2 / 1 | 2 / 1 | 0 / 1 | 0.95 | 0.328 above average | projection too low |
| KC | Salvador Perez (DH) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 0.93 | 0.309 average | no signal |
| TOR | Brandon Valenzuela (C) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | -0.8 | 0.312 average | no signal |
| TOR | Jesús Sánchez (LF) | 2 / 3 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | -0.78 | 0.324 above average | bad day |
| KC | Luke Maile (C) | 2 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 1 / 1 | 0.66 | 0.196 weak | good day |
| TOR | Brett Bateman (CF) | 3 / 5 | 3 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0.61 | 0.3 below average | good day |
| TOR | Vladimir Guerrero Jr. (DH) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | -0.47 | 0.332 above average | — |
| TOR | Sean Keys (1B) | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 2 / 1 | -0.47 | 0.236 weak | — |
| TOR | Andrés Giménez (SS) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.269 weak | — |
| KC | Josh Rojas (3B) | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | -0.47 | 0.219 weak | — |
| KC | Nick Loftin (2B) | 4 / 3 | 2 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0 / 0 | 1 / 0 | 0.16 | 0.297 below average | — |
| KC | Bobby Witt Jr. (SS) | 4 / 5 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 2 / 1 | 1 / 1 | 1 / 1 | -0.15 | 0.385 elite | — |
| KC | Isaac Collins (LF) | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 1 / 1 | -0.14 | 0.296 below average | — |
| TOR | Nathan Lukes (RF) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 0 | 0.289 below average | — |
| KC | John Rave (RF) | 5 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 2 / 1 | 0 | 0.316 average | — |
| KC | Kyle Isbel (CF) | 4 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.262 weak | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.604 | positive favors home; negative favors away |
| Recent form | -0.842 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.06 | positive favors home; negative favors away |
| Composite | -0.592 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 5.1-4.65 | n/a | Base ML historical model prediction |
| variance_applied | 5-5 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-4 | 0.537 | 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 | 5-4 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 5-4 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 5-4 | n/a | Capped at max 12 realistic runs |
| simulation_result | 5-4 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 5.1-4.65 | 5-5 | -0.452 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-5 | 5-4 | 1 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by starter_quality_favours_the_other_side, projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 5-4 | 5-4 | -0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 5-4 | 5-4 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 5-4 | 5-4 | -0 | Capped at max 12 realistic runs |
| simulation_result | 5-4 | 5-4 | -0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| KC | John Rave | batter / RF | better | predicted_RBI 2.63 |
| TOR | Nathan Lukes | batter / RF | better | predicted_RBI 2.48 |
| KC | Vinnie Pasquantino | batter / 1B | worse | predicted_SO 2.347 |
| TOR | Jesús Sánchez | batter / LF | worse | predicted_AB 2.232 |
| TOR | Josh Smith | batter / 2B | better | predicted_H 1.8 |
| KC | Bobby Witt Jr. | batter / SS | worse | predicted_AB -1.55 |
| TOR | Vladimir Guerrero Jr. | batter / DH | worse | predicted_SO 1.465 |
| TOR | Kazuma Okamoto | batter / 3B | deboosted | predicted_AB -1.43 |
| 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 pitcher projections differ from final simulation pitching box score (H: current=7, sim=9). | KC |
| info | CURRENT_FINALIZED_MATCH_BOX | KC model-prediction batting totals differ from final simulation box score (AB: current=31, sim=32; H: current=7, sim=5; 2B: current=2, sim=0; RBI: current=3, sim=4; BB: current=3, sim=2). | KC |
| info | CURRENT_PLAYER_MATCH_BOX | KC current finalized hitter lines are model predictions and differ from the simulation box score: John Rave: AB current=3 box=4, HR current=0 box=1, RBI current=0 box=3, SO current=1 box=0; Vinnie Pasquantino: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Nick Loftin: AB current=3 box=4, H current=1 box=0, 2B current=1 box=0, R current=1 box=0; Bobby Witt Jr.: AB current=5 box=3, HR current=1 box=0, RBI current=1 box=0; Salvador Perez: H current=1 box=2, R current=0 box=1; Josh Rojas: AB current=3 box=4, R current=0 box=1; Luke Maile: SO current=1 box=0; Isaac Collins: AB current=3 box=4, H current=1 box=0, BB current=1 box=0 | KC |
| info | CURRENT_FINALIZED_MATCH_BOX | TOR model-prediction batting totals differ from final simulation box score (AB: current=32, sim=36; H: current=8, sim=9; 2B: current=1, sim=4; HR: current=1, sim=2; RBI: current=4, sim=5; R: current=4, sim=5; HBP: current=0, sim=1). | TOR |
| info | CURRENT_PLAYER_MATCH_BOX | TOR current finalized hitter lines are model predictions and differ from the simulation box score: Vladimir Guerrero Jr.: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=0 box=1; Jesús Sánchez: AB current=3 box=5, SO current=1 box=2; Sean Keys: AB current=3 box=4, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Brett Bateman: H current=1 box=2, 2B current=0 box=1, BB current=1 box=0, SO current=1 box=2; Nathan Lukes: H current=1 box=2, 2B current=0 box=1, HR current=0 box=1, RBI current=1 box=3; Kazuma Okamoto: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, BB current=0 box=1; Josh Smith: AB current=3 box=4, H current=0 box=2, HR current=0 box=1, RBI current=0 box=1; Brandon Valenzuela: AB current=3 box=4, H current=1 box=2, 2B current=0 box=1, R current=0 box=1 | TOR |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| WAS | Andrew Alvarez | 2 ER / 15 outs | 3 ER / 13 outs | 1 |
| LAD | Justin Wrobleski | 1 ER / 16 outs | 4 ER / 9 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: Justin Wrobleski (LAD) posted 12.00 ERA vs projected 1.69 (4 ER in 9 outs); he faced a strong offense (opponent run factor 1.10, bucket strong).
What to do: Consider raising context.opponent_strength_weight; validate across the rolling window before promotion.
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Andrew Alvarez (WAS) threw 13 outs, 3 ER = 6.23 ERA against a projected 3.6 ERA (2.63 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The HOME 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: neither side broke materially - the result is closer to variance
HOME pitching
Justin Wrobleski (LAD) threw 9 outs, 4 ER = 12 ERA against a projected 1.69 ERA (10.31 ERA error)
Bullpen behind him: 0 ER over 6 outs.
The AWAY lineup he faced produced 5 runs on 9 hits and 1 HR, against a projected 5 runs / 8 hits (0 runs vs projection).
Who did the damage to him:
Verdict: 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) |
|---|---|---|---|---|---|---|---|---|---|
| WAS | Andrew Alvarez (Starter) | 13 / 15 | 6.23 / 3.6 | 3 / 2 | 4 / 3 | 0 / 0 | 2 / 1 | 5 / 5 | venue away: 3.48 vs 3.26 ERA (ok) · opp run factor 1.02 (strong) · 21 prior appearances this season |
| LAD | Justin Wrobleski (Starter) | 9 / 16 | 12 / 1.69 (+10.31) | 4 / 1 | 8 / 2 | 1 / 0 | 1 / 4 | 6 / 7 | venue home: 2.96 vs 3.86 ERA (ok) · opp run factor 1.1 (strong) · 22 prior appearances this season |
| LAD | Brock Stewart (Middle Reliever (High Leverage)) | 3 / 4 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 0 | 0 / 2 | |
| LAD | Edgardo Henriquez (Setup Man) | 3 / 3 | 0 / 18 (-18.00) | 0 / 2 | 0 / 2 | 0 / 0 | 1 / 1 | 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| LAD | Will Smith (C) | 3 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 2 / 0 | 1 / 1 | 1.13 | 0.38 elite | projection too low |
| WAS | Harry Ford (C) | 2 / 3 | 1 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 2 / 0 | 2 / 1 | 0 / 1 | 1.11 | 0.285 below average | good day |
| LAD | Tommy Edman (CF) | 4 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 2 / 1 | 1 / 0 | 1 / 1 | 1.11 | 0.316 average | no signal |
| WAS | Daylen Lile (LF) | 4 / 4 | 2 / 1 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 0 | 2 / 1 | 1.09 | 0.33 above average | projection too low |
| WAS | CJ Abrams (2B) | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 1 | 1 / 1 | 2 / 1 | 0.93 | 0.329 above average | projection too low |
| LAD | Max Muncy (DH) | 4 / 3 | 3 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 1 | 0 / 1 | 0.92 | 0.349 elite | projection too low |
| LAD | Kyle Tucker (RF) | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -0.8 | 0.326 above average | bad day |
| WAS | Dylan Crews (RF) | 4 / 5 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0 / 0 | 2 / 1 | -0.78 | 0.307 average | no signal |
| LAD | Miguel Rojas (2B) | 2 / 3 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | -0.78 | 0.309 average | no signal |
| LAD | Freddie Freeman (1B) | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -0.64 | 0.372 elite | bad day |
| WAS | Nasim Nuñez (SS) | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.266 weak | — |
| WAS | Jacob Young (CF) | 4 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 0.47 | 0.32 average | — |
| LAD | Enrique Hernández (3B) | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.258 weak | — |
| LAD | Teoscar Hernández (LF) | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 1 / 0 | 1 / 1 | 0.33 | 0.325 above average | — |
| LAD | Mookie Betts (SS) | 5 / 5 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 4 / 1 | 1 / 1 | 0 / 1 | 0 / 0 | -0.33 | 0.33 above average | — |
| WAS | Brady House (3B) | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 0 / 0 | 1 / 1 | -0.31 | 0.336 above average | — |
| WAS | James Wood (DH) | 2 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 3 / 1 | 0 / 1 | -0.27 | 0.417 elite | — |
| WAS | Andrés Chaparro (1B) | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0 | 0.348 elite | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.789 | positive favors home; negative favors away |
| Recent form | 0.414 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.082 | positive favors home; negative favors away |
| Composite | 0.537 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.35-4.07 | n/a | Base ML historical model prediction |
| variance_applied | 4-4 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 0.53 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail, season_quality_guardrail) |
| embedded_savant_run_environment | 4-5 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-5 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-5 | n/a | Capped at max 12 realistic runs |
| simulation_result | 4-5 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.35-4.07 | 4-4 | 0.276 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-4 | 4-5 | 1 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail, season_quality_guardrail) |
| embedded_savant_run_environment | 4-5 | 4-5 | 0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-5 | 4-5 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-5 | 4-5 | 0 | Capped at max 12 realistic runs |
| simulation_result | 4-5 | 4-5 | 0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| WAS | Andrés Chaparro | batter / 1B | worse | predicted_AB 2.5 |
| LAD | Freddie Freeman | batter / 1B | worse | predicted_SO 2.294 |
| WAS | Dylan Crews | batter / RF | worse | predicted_RBI 1.54 |
| LAD | Mookie Betts | batter / SS | worse | predicted_SO 1.524 |
| LAD | Max Muncy | batter / DH | better | predicted_RBI 1.469 |
| WAS | Harry Ford | batter / C | better | predicted_H 1.42 |
| WAS | James Wood | batter / DH | worse | predicted_SO -1.342 |
| LAD | Kyle Tucker | batter / RF | better | predicted_H 1.25 |
| 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=29; H: current=8, sim=6; 2B: current=2, sim=3; 3B: current=0, sim=1; BB: current=4, sim=1; SO: current=7, sim=8; SF: current=0, sim=1). | LAD |
| info | CURRENT_PLAYER_MATCH_BOX | LAD current finalized hitter lines are model predictions and differ from the simulation box score: Tommy Edman: 2B current=0 box=1, SO current=1 box=0; Will Smith: AB current=3 box=4, R current=1 box=0, SO current=1 box=0; Teoscar Hernández: AB current=4 box=3, 2B current=0 box=1, RBI current=1 box=0; Freddie Freeman: 2B current=1 box=0, RBI current=1 box=0, BB current=1 box=0, SO current=1 box=3; Max Muncy: AB current=3 box=2, HR current=0 box=1, RBI current=0 box=2, R current=0 box=1; Mookie Betts: AB current=5 box=4, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Kyle Tucker: AB current=4 box=3, H current=1 box=2, 2B current=0 box=1, 3B current=0 box=1; Enrique Hernández: H current=1 box=0 | LAD |
| info | CURRENT_FINALIZED_MATCH_BOX | WAS model-prediction batting totals differ from final simulation box score (AB: current=33, sim=34; 2B: current=2, sim=1; 3B: current=0, sim=1; HR: current=1, sim=0; R: current=5, sim=4; BB: current=3, sim=6; SF: current=0, sim=1). | WAS |
| info | CURRENT_PLAYER_MATCH_BOX | WAS current finalized hitter lines are model predictions and differ from the simulation box score: James Wood: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, RBI 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=2; Daylen Lile: AB current=4 box=3, 3B current=0 box=1, BB current=0 box=1, SO current=1 box=0; Andrés Chaparro: AB current=3 box=5; Brady House: AB current=4 box=5, H current=1 box=2, RBI current=1 box=0, R current=0 box=1; Nasim Nuñez: H current=1 box=0, BB current=0 box=1; Dylan Crews: H current=1 box=2, 2B current=1 box=0, RBI current=0 box=2, SO current=1 box=2; Harry Ford: AB current=3 box=2, H current=0 box=2, RBI current=0 box=1, R current=0 box=1 | 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; 15/15 games; 4/4 causes; 6/6 sources
Six of seven manifest entries were loaded:
/app/output/reports/prediction_review_20260906.json, 377,236 bytes; official outcomes and scoring errors./app/output/reports/PREDICTION_SYSTEM_DEEP_AUDIT_20260906.json, 240,848 bytes; probability, provenance, starter, and decision contracts./app/output/learning/continuous_learning_daily_20260906.json, 2,489,405 bytes; pipeline quality, calibration, lineage, score distribution, and starter comparisons./app/output/reports/detailed_20260906.html, 349,460 bytes./app/output/reports/20260906_ultra_detailed_player_audit.html, 30,202,030 bytes./app/output/reports/audit_report_20260906.html, 1,864,642 bytes./app/output/reports/audit_report_20260906_integrity_revision.html, purpose “post-Luna remediation proof for immutable revision artifacts.” Its status is explicitly missing.All 15 expected games were reviewed:
ARI@HOU, ATL@PHI, BOS@BAL, CHC@MIA, DET@CLE, LAA@PIT, MIL@CIN, MIN@CHW, NYY@SD, OAK@SEA, SF@NYM, STL@COL, TB@TEX, TOR@KC, and WAS@LAD.
Coverage counts are complete for the supplied artifacts:
Each says "no recorded transformation explains the publication delta" while also reporting unexplained_material_delta: false. The deltas are small, but the wording and flag do not agree.
The slate went 9–6, 60.0%, versus a walk-forward baseline of 56.0% and model-validation winner accuracy of 59.6244%. This is a positive result, but only modestly above baseline and not evidence that the score forecasts were reliable.
The winner model was correct in:
ARI@HOU, BOS@BAL, DET@CLE, LAA@PIT, MIN@CHW, OAK@SEA, SF@NYM, STL@COL, and WAS@LAD.
It missed:
ATL@PHI, CHC@MIA, MIL@CIN, NYY@SD, TB@TEX, and TOR@KC.
Calibration was mixed and materially imperfect:
The published confidence was therefore not uniformly conservative. The lower-confidence bucket was underconfident, but the higher-confidence bucket and high-conviction subset were too aggressive. This supports bounded confidence-cap work, not a blanket conclusion that every probability was overconfident.
Score accuracy was the principal weakness:
The registered weak_run_model_signal issue is therefore substantiated. The model beat average guessing, but its exact run estimates and tails were weak. The small positive R² must not be interpreted as reliable score prediction.
Starter projections were highly variable. Identity matching was successful for all listed starters, but actual earned runs often diverged materially from projection. Examples include:
The lever-tension receipt records the pitcher-weighting lever as helping 10 games and hurting 2. That is useful directional evidence, but not a controlled causal result. Cross-slate evidence does not support changing context.opponent_strength_weight: starter ERA error has the same sign on only 4 of 7 measured slates, with z = 0.65.
Artifact integrity was strong for the delivered slate:
The missing integrity-revision audit remains a documentation gap. It does not invalidate the supplied structural passes, but it prevents a fully closed artifact chain.
weak_run_model_signalcomplete_slate_audit_coverageprobability_publication_delta_explainedsimulation_inert_on_slateConventions: Published probability is the probability of the published side, while the raw field published_pick_probability is the home probability. “Edge” is home minus away. Team-run error is the absolute team-run error. Total bias is actual total minus predicted total; positive means the model underpredicted total runs.
All player actuals were unavailable because the slate player feed had no rows.
no_change.wrong_conviction_side; secondary none. The model committed to PHI despite season and composite edges favoring ATL. The score was close, but the winner direction was wrong.starter_projection; secondary wrong_conviction_side. Holmes’ six-ER projection miss was the earliest clear game-specific failure. The model also gave a strong CHC conviction despite MIA’s actual offensive breakout.run_environment_under. Both clubs scored materially above forecast, especially CIN, which was underprojected by 7. The winner error followed the run-tail failure.mixed. The model had strong season/recent NYY evidence, but King’s shutout performance and a one-run game produced the reversal. This is not principally a run-total miss; it is a close winner-direction miss.run_environment_under; Gore’s projection was also materially wrong. The stronger TB evidence did not survive the actual run distribution.lean_side_miss; small losing-side edge rather than high conviction. Secondary causal evidence is starter/run realization: KC’s Dobnak allowed only 1 versus 4 projected, while Arrighetti allowed 6.enhanced_prediction moved CHC from 4 to 6 and retained CHC as leader. The later run-volatility logic expanded the wrong leader; it did not create the initial side choice.supported_blowout_margin_expansion widened the MIL-led score, so it reinforced the wrong winner rather than correcting it.enhanced_prediction changed the path to NYY 4–3. This was a winner-direction regression from a near-even 4–4 baseline, and later stages did not recover it.variance_applied and enhanced stages retained TOR as leader despite a negative composite home edge. Starter-quality controls reduced confidence but left the winner unchanged. This is a lean-side weighting/starter miss.| Stage | Winner accuracy | Team-run MAE | Total-run MAE | Margin MAE | Interpretation |
|---|---|---|---|---|---|
| historical_ml | 8/15 = 53.33% | 2.6762 | 4.6454 | 2.4455 | Baseline |
| variance_applied | 8/15 = 53.33% | 2.6667 | 4.8000 | 2.2667 | Margin improved; total error worsened |
| enhanced_prediction | 9/15 = 60.00% | 2.7000 | 4.2000 | 2.7333 | Winner accuracy improved, but margin error regressed versus baseline |
| embedded_savant_run_environment | 9/15 | 2.6667 | 4.1333 | 2.6667 | Small score recovery |
| fundamental_edge_target_review | 9/15 | 2.6667 | 4.1333 | 2.6667 | No change |
| capped_target | 9/15 | 2.6667 | 4.1333 | 2.6667 | No change |
| simulation_result | 9/15 | 2.6667 | 4.1333 | 2.6667 | No change |
| published_final | 9/15 | 2.6667 | 4.1333 | 2.6667 | No change |
Important transitions:
A later recovery does not erase an intermediate winner-direction regression. In particular, enhanced prediction improved the aggregate hit count but still introduced or preserved wrong-direction states in ATL@PHI, CHC@MIA, NYY@SD, TOR@KC, and WAS@LAD transitions as documented by the transition receipt.
Lever: score.variance_multiplier / score.variance_floor
lineup_run_delta bias is not persistent.Lever: player.pitcher.v4 form weights / player.pitcher_prior_games
Lever: recent.* / season.* run-mean weighting
Across the structural audit:
Every per-game audit reported PASS, with zero defects and zero warnings. Thus, there were no supplied structural contract failures that explain the misses.
The major non-structural defects are:
These should not be conflated: clean structural artifacts do not imply a strong predictive model.
The required layers are raw model → calibrated → governor → score coherence/recency → published.
Examples:
For the eight material movements identified in the causal register, a named transformation is present. No material governor bypass is demonstrated.
However, ARI@HOU, ATL@PHI, LAA@PIT, and OAK@SEA have small publication deltas and text stating that no transformation explains them. Because their unexplained_material_delta flags are false, the likely intended interpretation is that the deltas are below materiality. The lineage contract should record the exact transformation or explicitly mark them as nonmaterial rounding/serialization differences.
The raw structural and trend evidence contains both persistent signals and nonpersistent noise.
| Finding | Consecutive-slate count | Present now? | Interpretation |
|---|---|---|---|
| high_raw_probability_cluster | 0 | No | 3 incidences in 10 slates, not consecutive |
| pipeline_winner_instability | 0 | No | 4 incidences in 10 slates, not currently present |
| score_margin_compression | 0 | No | 3 incidences in 10 slates, not currently present |
| simulation_inert_on_slate | 10 | Yes | Established persistent failure |
| single_slate_calibration_instability | 0 | No | 5 incidences in 10 slates, but no current streak |
| weak_run_model_signal | 10 | Yes | Established persistent failure |
The two ten-slate findings must be treated as established failures, not single-slate noise.
simulation_inert_on_slatesimulation.allow_score, although the register says it is not parameter-actionable.team_run_mae, total_run_mae; also winner-direction intervention is effectively absent.The self-assessment identifies the likely mechanism: target-realization draws are reused as the win-probability distribution, and the loop exits early after finding a play-by-play realization. A win rate based on approximately two selected draws is not a probability.
weak_run_model_signaltraining.xgb.n_estimators, training.xgb.max_depth, training.xgb.learning_rate.The register marks this as not parameter-actionable despite listing training parameters. That means the listed parameters are candidate experiment controls, not a justified live change.
All requested directions:
Improving trend labels do not erase the persistent run-model and simulation failures.
Recommendations are ranked by persistence and scope.
simulation.allow_scoreallow_score invokes an independent simulation distribution and that the draw loop cannot early-exit before a meaningful sample.team_run_mae and total_run_mae, and restore meaningful winner-probability intervention.historical_game_features.py and training in historical_game_analyzer.py; candidate XGB parameters are training.xgb.n_estimators, training.xgb.max_depth, and training.xgb.learning_rate.confidence.base_cap, confidence.moderate_cap, score.variance_multiplier, and score.variance_floor.context.opponent_strength_weight; cross-slate starter bias is not persistent.score.variance_floor aggressively based only on the two-game help count; the cross-slate lineup-run bias is nonpersistent.Known:
Uncertain:
Safest next action: repair and instrument the simulation distribution in shadow mode, using an independent sufficiently large draw batch and a rollback monitor. This addresses the strongest persistent process failure without forcing an unvalidated live parameter change, while preserving the ability to measure whether the simulation actually improves probability calibration, winner accuracy, and run-error metrics on the next slate.