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_20260915.json | 379319 |
| forensic deep audit | loaded | probability, provenance, starter and decision contracts | /app/output/reports/PREDICTION_SYSTEM_DEEP_AUDIT_20260915.json | 241007 |
| continuous learning | loaded | pipeline-stage quality, calibration, probability lineage, score distribution, and official starter comparisons | /app/output/learning/continuous_learning_daily_20260915.json | 2583429 |
| detailed report | loaded | full game and simulation rendering | /app/output/reports/detailed_20260915.html | 354134 |
| ultra detailed player audit | loaded | player-level prediction trace | /app/output/reports/20260915_ultra_detailed_player_audit.html | 33583352 |
| structural audit | loaded | all invariant findings | /app/output/reports/audit_report_20260915.html | 1881324 |
| integrity revision audit | missing | post-Luna remediation proof for immutable revision artifacts | /app/output/reports/audit_report_20260915_integrity_revision.html | n/a |
Deterministic findings across data integrity, model validation, calibration, score distribution, pipeline stages, simulation, and coverage. Critical is reserved for broken evidence or an unexplained contract violation; high marks material model/process risk. Each row pairs the action to take (Do this) with the wrong conclusion to avoid (Don't conclude).
| Severity | Domain | Finding and evidence | Affected | Action & guardrail |
|---|---|---|---|---|
| HIGH | artifact_integrity | Canonical artifact warning requires reconciliation structural audit totals: {'critical': 0, 'error': 0, 'warning': 1, 'info': 114} | slate-wide | Do thisFix the flagged stat or presentation contract before treating this slate as clean evidence. Don't concludeA warning flags a display or contract issue; it does not prove the model picked the wrong side. |
| HIGH | calibration | Published confidence buckets were poorly aligned on this slate weighted absolute calibration error 0.2795 across 15 games | ATL@CHC, BAL@NYM, BOS@TEX, CHW@CLE, DET@TOR, KC@HOU, LAD@CIN, MIA@ARI, MIL@PIT, NYY@MIN, OAK@TB, PHI@WAS, SD@COL, SEA@LAA, SF@STL | Do thisWatch the same confidence buckets over the full rolling window before changing any calibration weight. Don't concludeA single slate has far too few games to establish a stable calibration curve. |
| HIGH | model_validation | Validated run models explain very little holdout variance home/away/total R² = 0.0045/0.0275/0.0075 | ATL@CHC, BAL@NYM, BOS@TEX, CHW@CLE, DET@TOR, KC@HOU, LAD@CIN, MIA@ARI, MIL@PIT, NYY@MIN, OAK@TB, PHI@WAS, SD@COL, SEA@LAA, SF@STL | Do thisTreat exact run scores as low-confidence estimates, and look for stronger features or a better target before tuning the score tails. Don't concludeA small positive R² only means the model beats guessing the average; it does not make the exact scores reliable. |
| INFO | coverage | Every settled game received structural QA 15/15 games structurally audited | ATL@CHC, BAL@NYM, BOS@TEX, CHW@CLE, DET@TOR, KC@HOU, LAD@CIN, MIA@ARI, MIL@PIT, NYY@MIN, OAK@TB, PHI@WAS, SD@COL, SEA@LAA, SF@STL | Do thisKeep the per-game audit receipt in every report. Don't concludeFull audit coverage does not cancel the findings raised inside the audited games. |
| INFO | probability_lineage | Material calibrated-to-published movements have recorded lineage 10 material movement(s), all explained by named score-coherence and/or recency transformations | BAL@NYM, BOS@TEX, DET@TOR, LAD@CIN, MIL@PIT, NYY@MIN, PHI@WAS, SD@COL, SEA@LAA, SF@STL | Do thisKeep showing every probability layer and the named transformation between them. Don't concludeA published probability above the calibrated one is not a governor bypass when a recorded transformation explains it. |
| INFO | simulation | Simulation produced no winner-direction intervention on this slate flip candidates 0; published flips 0 | ATL@CHC, BAL@NYM, BOS@TEX, CHW@CLE, DET@TOR, KC@HOU, LAD@CIN, MIA@ARI, MIL@PIT, NYY@MIN, OAK@TB, PHI@WAS, SD@COL, SEA@LAA, SF@STL | Do thisMeasure the simulation's contribution across rolling slates, separating score realization from winner flipping. Don't concludeZero winner flips is not a defect and does not mean the simulation did no score-reconciliation work. |
A finding that has repeated at or beyond the escalation streak is no longer single-slate noise. It carries its target registered lever and an action-oriented guardrail.
| Finding | Persistence | Target lever(s) | Direction | Guardrail |
|---|---|---|---|---|
| simulation_inert_on_slate | 11 consecutive · 11 in window | simulation.allow_score | confirm the simulation module is running, not silently no-oping | simulation_inert_on_slate has persisted 11 consecutive slates; this is no longer single-slate noise. Treat it as an actionable pattern and raise the code/diagnostic action named; do not force a parameter move. |
| weak_run_model_signal | 11 consecutive · 11 in window | training.xgb.n_estimators, training.xgb.max_depth, training.xgb.learning_rate | investigate features/target via isolated training backtest (manual) | weak_run_model_signal has persisted 11 consecutive slates; this is no longer single-slate noise. Treat it as an actionable pattern and raise the code/diagnostic action named; do not force a parameter move. |
| Finding | Consecutive slates | Incidence | Present now | Fix type |
|---|---|---|---|---|
| high_raw_probability_cluster | 0 | 1/11 | no | param |
| pipeline_winner_instability | 0 | 2/11 | no | code/diagnostic |
| score_margin_compression | 0 | 1/11 | no | param |
| simulation_inert_on_slate | 11 | 11/11 | yes | code/diagnostic |
| single_slate_calibration_instability | 2 | 6/11 | yes | param |
| weak_run_model_signal | 11 | 11/11 | yes | code/diagnostic |
| Metric | Direction | Series (old → new) |
|---|---|---|
| winner_accuracy | regressing | [0.5333, 0.6, 0.5455, 0.7333, 0.6667, 0.6, 0.6667, 0.5333, 0.6, 0.7, 0.4] |
| weighted_calibration_error | regressing | [0.1, 0.0937, 0.2611, 0.1825, 0.1069, 0.1171, 0.2091, 0.1711, 0.0827, 0.2812, 0.2795] |
| margin_bias | regressing | [-1.467, -1.467, -0.182, -0.867, -2.133, -1.0, -2.933, -2.667, -1.8, -0.4, -1.667] |
| team_run_error_on_losses | flat | [5.286, 5.333, 3.8, 6.75, 5.6, 6.5, 5.0, 6.143, 5.0, 6.333, 5.556] |
Every stored stage is scored against the same official finals. A later recovery remains visible; it does not erase an unstable intermediate flip.
| Stage | Winner hits | Accuracy | Team-run MAE | Total-run MAE | Margin MAE |
|---|---|---|---|---|---|
| historical_ml | 7/15 | 46.7% | 2.379 | 2.958 | 3.61 |
| variance_applied | 7/15 | 46.7% | 2.4 | 2.933 | 3.6 |
| enhanced_prediction | 7/15 | 46.7% | 2.667 | 3.467 | 3.733 |
| embedded_savant_run_environment | 7/15 | 46.7% | 2.7 | 3.533 | 3.667 |
| fundamental_edge_target_review | 6/15 | 40% | 2.767 | 3.667 | 3.8 |
| capped_target | 6/15 | 40% | 2.767 | 3.667 | 3.8 |
| simulation_result | 6/15 | 40% | 2.767 | 3.667 | 3.8 |
| published_final | 6/15 | 40% | 2.767 | 3.667 | 3.8 |
| Transition | Δ accuracy | Δ hits | Δ team-run MAE | Δ margin MAE | Games whose winner/tie changed |
|---|---|---|---|---|---|
| historical_ml → variance_applied | 0 | 0 | 0.0211 | -0.0102 | BAL@NYM: NYM → TIE; SD@COL: SD → TIE |
| variance_applied → enhanced_prediction | 0 | 0 | 0.2667 | 0.1333 | BAL@NYM: TIE → NYM; SD@COL: TIE → SD |
| enhanced_prediction → embedded_savant_run_environment | 0 | 0 | 0.0333 | -0.0666 | |
| embedded_savant_run_environment → fundamental_edge_target_review | -0.0667 | -1 | 0.0667 | 0.1333 | BOS@TEX: TEX → BOS |
| fundamental_edge_target_review → capped_target | 0 | 0 | 0 | 0 | |
| capped_target → simulation_result | 0 | 0 | 0 | 0 | |
| simulation_result → published_final | 0 | 0 | 0 | 0 |
All columns are pick-side probabilities, so away favorites are not accidentally compared using home-side semantics.
| Game | Outcome | Raw model | Calibrated | Governor | Score coherence | Published | Explanation |
|---|---|---|---|---|---|---|---|
| ATL@CHC | miss | 0.5467 | 0.5417 | 0.5417 | 0.5417 | 0.5355 | no recorded transformation explains the publication delta |
| BAL@NYM | miss | 0.6158 | 0.6001 | 0.6001 | 0.5889 | 0.53 | score coherence followed by matchup-recency guardrail |
| BOS@TEX | miss | 0.5621 | 0.537 | 0.537 | 0.537 | 0.5152 | score coherence followed by matchup-recency guardrail |
| CHW@CLE | miss | 0.5858 | 0.5617 | 0.5617 | 0.5617 | 0.5446 | score coherence followed by matchup-recency guardrail |
| DET@TOR | hit | 0.6269 | 0.5945 | 0.5945 | 0.5861 | 0.5622 | score coherence followed by matchup-recency guardrail |
| KC@HOU | hit | 0.5855 | 0.549 | 0.549 | 0.549 | 0.53 | score coherence followed by matchup-recency guardrail |
| LAD@CIN | hit | 0.7657 | 0.7434 | 0.7434 | 0.7326 | 0.58 | score coherence followed by matchup-recency guardrail |
| MIA@ARI | miss | 0.5966 | 0.555 | 0.555 | 0.555 | 0.5467 | score coherence followed by matchup-recency guardrail |
| MIL@PIT | hit | 0.6158 | 0.6425 | 0.6425 | 0.6425 | 0.56 | score coherence followed by matchup-recency guardrail |
| NYY@MIN | hit | 0.6729 | 0.6532 | 0.6532 | 0.6528 | 0.57 | score coherence followed by matchup-recency guardrail |
| OAK@TB | hit | 0.804 | 0.6674 | 0.6674 | 0.6674 | 0.6674 | published probability matches the calibrated/governed value |
| PHI@WAS | miss | 0.6037 | 0.568 | 0.568 | 0.568 | 0.5331 | score coherence followed by matchup-recency guardrail |
| SD@COL | miss | 0.6411 | 0.6975 | 0.6975 | 0.6975 | 0.58 | score coherence followed by matchup-recency guardrail |
| SEA@LAA | miss | 0.61 | 0.5686 | 0.5686 | 0.5686 | 0.53 | score coherence followed by matchup-recency guardrail |
| SF@STL | miss | 0.5996 | 0.5735 | 0.5735 | 0.5735 | 0.5531 | 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 | 1 | 12 | 2 | 15 | -1.58 | -0.7 |
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.
1 of 15 games: the blend picked one side and the published number picked the other. The published probability is reconciled to the integer score after the blend runs, so a blend that disagrees with the score is overwritten before publication. On those games the trained classifier changes nothing a reader sees, even where the artifact records winner_changed.
| Game | Trained p(home) | Blended p(home) | Blend favoured | Published p(home) | Published side | Artifact says winner changed | Outcome |
|---|---|---|---|---|---|---|---|
| BOS@TEX | 0.614 | 0.562 | home | 0.485 | away | no | miss |
Blend side survived on 14 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.04 over 12 slates (sign shared by 0.42 of them, z = 0.10).
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
5 of 12 slates share the sign, mean 0.04 +/- 0.45 standard error: not separable from noise
lineup runs actual minus projected
Mean -0.20 over 12 slates (sign shared by 0.67 of them, z = -1.05).
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
8 of 12 slates share the sign, mean -0.2 +/- 0.2 standard error: not separable from noise
| Slate | Games | Winner acc | Mean starter ERA error | Mean lineup runs vs proj | Sides broke on pitching | Sides broke on offense |
|---|---|---|---|---|---|---|
| 20260914 | 10 | 0.700 | -0.48 | -0.20 | 2 | 6 |
| 20260913 | 15 | 0.600 | -0.07 | 0.03 | 2 | 8 |
| 20260912 | 15 | 0.533 | 1.35 | 0.57 | 6 | 7 |
| 20260911 | 15 | 0.667 | 0.99 | 0.00 | 4 | 9 |
| 20260910 | 5 | 0.600 | -3.19 | -1.70 | 8 | |
| 20260909 | 15 | 0.667 | 3.36 | 1.07 | 8 | 7 |
| 20260908 | 15 | 0.733 | -0.15 | -0.23 | 7 | 15 |
| 20260907 | 11 | 0.545 | -0.86 | -0.36 | 5 | 4 |
| 20260906 | 15 | 0.600 | 0.74 | -0.30 | 6 | 10 |
| 20260905 | 15 | 0.533 | -1.17 | -0.07 | 2 | 6 |
| 20260904 | 16 | 0.625 | -0.23 | -0.44 | 5 | 12 |
| 20260903 | 9 | 0.556 | 0.24 | -0.83 | 4 | 6 |
Narrow predicted margins next to wide actual margins is the signature the score-variance tail is too tight.
| Game | Pred margin | Actual margin | Pred − actual |
|---|---|---|---|
| ATL@CHC | 1 | 3 | -2 |
| BAL@NYM | 1 | 2 | -1 |
| BOS@TEX | 1 | 2 | -1 |
| CHW@CLE | 1 | 1 | 0 |
| DET@TOR | 1 | 9 | -8 |
| KC@HOU | 1 | 2 | -1 |
| LAD@CIN | 4 | 4 | 0 |
| MIA@ARI | 2 | 2 | 0 |
| MIL@PIT | 3 | 4 | -1 |
| NYY@MIN | 3 | 7 | -4 |
| OAK@TB | 4 | 1 | 3 |
| PHI@WAS | 1 | 3 | -2 |
| SD@COL | 4 | 6 | -2 |
| SEA@LAA | 1 | 1 | 0 |
| SF@STL | 1 | 7 | -6 |
No large single-factor errors.
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| ATL | Martín Pérez | 3 ER / 17 outs | 2 ER / 18 outs | -1 |
| CHC | Kevin Gausman | 3 ER / 16 outs | 2 ER / 17 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
Martín Pérez (ATL) threw 18 outs, 2 ER = 3 ERA against a projected 4.76 ERA (-1.76 ERA error)
Bullpen behind him: 0 ER over 9 outs.
The HOME lineup he faced produced 3 runs on 5 hits and 0 HR, against a projected 5 runs / 8 hits (-2 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
Kevin Gausman (CHC) threw 17 outs, 2 ER = 3.18 ERA against a projected 5.06 ERA (-1.88 ERA error)
Bullpen behind him: 2 ER over 3 outs.
The AWAY lineup he faced produced 6 runs on 9 hits and 3 HR, against a projected 5 runs / 9 hits (1 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| ATL | Martín Pérez (Starter) | 18 / 17 | 3 / 4.76 | 2 / 3 | 5 / 7 | 0 / 0 | 4 / 1 | 2.34 | 2 / 4 | 3.42 | venue away: 4.7 vs 1.97 ERA (worse here) · opp run factor 0.95 (strong) · 28 prior appearances this season |
| ATL | Didier Fuentes (Middle Reliever (High Leverage)) | 6 / 4 | 0 / 6.75 (-6.75) | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0.31 | 2 / 1 | 1.59 | |
| ATL | Raisel Iglesias (Closer) | 3 / 3 | 0 / 9 (-9.00) | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0.27 | 0 / 1 | 0.99 | |
| CHC | Kevin Gausman (Starter) | 17 / 16 | 3.18 / 5.06 | 2 / 3 | 5 / 6 | 1 / 2 | 0 / 1 | 1.7 | 6 / 6 | 5.48 | venue home: 3.91 vs 5.4 ERA (ok) · opp run factor 1.1 (strong) · 30 prior appearances this season |
| CHC | Daniel Palencia (Middle Reliever (High Leverage)) | 1 / 5 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0.46 | 0 / 2 | 0.81 | |
| CHC | Jacob Webb (Closer) | 2 / 3 | 27 / 0 (+27.00) | 2 / 0 | 2 / 0 | 1 / 0 | 1 / 0 | 0.43 | 0 / 1 | 0.95 |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Pete Crow-Armstrong (CF) | CHC | 5 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -1.73 | 0.375 elite | bad day |
| Ozzie Albies (2B) | ATL | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 2 / 1 | 0 / 0 | 0 / 1 | 1.4 | 0.28 weak | good day |
| Matt Shaw (DH) | CHC | 2 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 0 / 1 | 0.8 | 0.301 below average | good day |
| Matt Olson (1B) | ATL | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -0.79 | 0.354 elite | bad day |
| Michael Harris II (CF) | ATL | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | -0.78 | 0.339 above average | bad day |
| Brewer Hicklen (RF) | ATL | 3 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 2 / 1 | 0.64 | 0.346 elite | projection too low |
| Seiya Suzuki (RF) | CHC | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 2 / 1 | -0.64 | 0.34 elite | bad day |
| Ronald Acuña Jr. (DH) | ATL | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 1 | 1 / 1 | 0 / 1 | 1 / 1 | 0.6 | 0.361 elite | projection too low |
| Mike Yastrzemski (LF) | ATL | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.312 average | — |
| Nico Hoerner (SS) | CHC | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | -0.47 | 0.324 above average | — |
| Alex Bregman (3B) | CHC | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 1 / 0 | -0.47 | 0.32 average | — |
| Mauricio Dubón (SS) | ATL | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 0 | 0 / 0 | 0.33 | 0.305 average | — |
| Drake Baldwin (C) | ATL | 5 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 2 / 1 | 2 / 1 | 0 / 1 | 1 / 1 | 0.14 | 0.363 elite | — |
| Austin Riley (3B) | ATL | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 3 / 1 | -0.14 | 0.3 below average | — |
| Tyrone Taylor (LF) | CHC | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 0 | 0 / 0 | -0.14 | 0.312 average | — |
| Miguel Amaya (C) | CHC | 1 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 0 | 0.296 below average | — |
| Pedro Ramirez (2B) | CHC | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.29 below average | — |
| Michael Busch (1B) | CHC | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 1 | 1 / 1 | 0 / 1 | 0 | 0.33 above average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.235 | positive favors home; negative favors away |
| Recent form | 0.376 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.143 | positive favors home; negative favors away |
| Composite | 0.088 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.45-4.87 | n/a | Base ML historical model prediction |
| variance_applied | 4-5 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 0.535 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run) |
| embedded_savant_run_environment | 4-5 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-5 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-5 | n/a | Capped at max 12 realistic runs |
| simulation_result | 4-5 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.45-4.87 | 4-5 | 0.576 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 4-5 | 0 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run) |
| 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 |
|---|---|---|---|---|
| ATL | Martín Pérez | pitcher / Starter | better | predicted_SO 3 |
| CHC | Seiya Suzuki | batter / RF | worse | predicted_AB -2.37 |
| ATL | Austin Riley | batter / 3B | better | predicted_H 2.14 |
| CHC | Alex Bregman | batter / 3B | better | predicted_H 1.92 |
| ATL | Brewer Hicklen | batter / RF | worse | predicted_SO 1.75 |
| ATL | Michael Harris II | batter / CF | worse | predicted_H -1.67 |
| CHC | Tyrone Taylor | batter / LF | better | predicted_RBI 1.55 |
| CHC | Pete Crow-Armstrong | batter / CF | worse | predicted_AB -1.5 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | ATL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | ATL |
| info | CURRENT_PITCHER_DUPLICATION | CHC pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | CHC |
| info | CURRENT_FINALIZED_MATCH_BOX | ATL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=35; H: current=9, sim=8; RBI: current=5, sim=4; R: current=5, sim=4; BB: current=3, sim=2; SO: current=8, sim=9). | ATL |
| info | CURRENT_PLAYER_MATCH_BOX | ATL current finalized hitter lines are model predictions and differ from the simulation box score: Ronald Acuña Jr.: H current=1 box=2, 2B current=0 box=1, RBI current=1 box=0, BB current=1 box=0; Mauricio Dubón: H current=1 box=2, HR current=0 box=1, R current=0 box=1; Matt Olson: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Drake Baldwin: RBI current=1 box=2, SO current=1 box=0; Austin Riley: AB current=3 box=4, H current=1 box=3, RBI current=0 box=1, R current=0 box=1; Michael Harris II: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Ozzie Albies: H current=1 box=0, R current=1 box=0; Mike Yastrzemski: AB current=3 box=4, H current=1 box=0, SO current=1 box=0 | ATL |
| info | CURRENT_FINALIZED_MATCH_BOX | CHC model-prediction batting totals differ from final simulation box score (H: current=8, sim=9; 2B: current=1, sim=5; HR: current=1, sim=0; BB: current=4, sim=1; SF: current=0, sim=1; HBP: current=0, sim=1). | CHC |
| info | CURRENT_PLAYER_MATCH_BOX | CHC current finalized hitter lines are model predictions and differ from the simulation box score: Tyrone Taylor: 2B current=0 box=1, RBI current=1 box=2, R current=0 box=1, SF current=0 box=1; Nico Hoerner: R current=0 box=1; Alex Bregman: H current=1 box=3, 2B current=0 box=1, BB current=1 box=0; Matt Shaw: AB current=3 box=4, 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1; Pete Crow-Armstrong: 2B current=0 box=1, HR current=1 box=0, BB current=1 box=0, SO current=1 box=2; Seiya Suzuki: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Miguel Amaya: H current=0 box=1, 2B current=0 box=1, R current=1 box=0; Pedro Ramirez: AB current=3 box=4, H current=1 box=0 | CHC |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| BAL | Shane Baz | 4 ER / 18 outs | 3 ER / 12 outs | -1 |
| NYM | Sean Manaea | 1 ER / 17 outs | 2 ER / 16 outs | 1 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Shane Baz (BAL) threw 12 outs, 3 ER = 6.75 ERA against a projected 6 ERA (0.75 ERA error)
Bullpen behind him: 0 ER over 5 outs.
The HOME lineup he faced produced 5 runs on 12 hits and 1 HR, against a projected 5 runs / 8 hits (0 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
Sean Manaea (NYM) threw 16 outs, 2 ER = 3.38 ERA against a projected 1.59 ERA (1.79 ERA error)
Bullpen behind him: 3 ER over 14 outs.
The AWAY lineup he faced produced 6 runs on 8 hits and 4 HR, against a projected 3 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. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| BAL | Shane Baz (Starter) | 12 / 18 | 6.75 / 6 | 3 / 4 | 7 / 2 | 1 / 1 | 2 / 3 | 2.09 | 2 / 5 | 6.49 | venue away: 4.18 vs 3.92 ERA (ok) · opp run factor 0.94 (average) · 29 prior appearances this season |
| BAL | Rico Garcia (Setup Man) | 2 / 3 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 0 | 0.24 | 0 / 1 | 1.19 | |
| BAL | Andrew Kittredge (Closer) | 3 / 0 | 0 / n/a | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 0.19 | 0 / 0 | 0.94 | |
| NYM | Sean Manaea (Starter) | 16 / 17 | 3.38 / 1.59 | 2 / 1 | 4 / 4 | 2 / 1 | 0 / 1 | 1.36 | 6 / 5 | 4.24 | venue home: 4.13 vs 4.83 ERA (ok) · opp run factor 1.04 (average) · 30 prior appearances this season |
| NYM | Daniel Duarte (Setup Man) | 3 / 4 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 0 | 0.37 | 2 / 1 | 1.23 | |
| NYM | Kodai Senga (Closer) | 3 / 5 | 9 / 5.4 (+3.60) | 1 / 1 | 1 / 3 | 1 / 1 | 0 / 1 | 0.51 | 2 / 3 | 1.21 | |
| NYM | Nathan Lavender (Middle Reliever (High Leverage)) | 5 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0.31 | 4 / 0 | 1.17 | |
| NYM | Jonathan Pintaro (Middle Reliever (High Leverage)) | 3 / 0 | 18 / n/a | 2 / 2 | 2 / 1 | 1 / 1 | 1 / 0 | 0.6 | 2 / 1 | 1.17 |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Coby Mayo (DH) | BAL | 5 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 3 / 1 | 1 / 1 | 0 / 0 | 1 / 1 | 1.4 | 0.326 above average | projection too low |
| Carson Benge (RF) | NYM | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 2 / 1 | 1 / 0 | 2 / 1 | 1.26 | 0.335 above average | projection too low |
| Christian Encarnacion-Strand (3B) | BAL | 5 / 4 | 2 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | 1 / 1 | 2 / 0 | 0 / 0 | 1 / 1 | 1.09 | 0.341 elite | projection too low |
| Bo Bichette (3B) | NYM | 6 / 4 | 3 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0.94 | 0.327 above average | projection too low |
| Jeremiah Jackson (2B) | BAL | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 0 | 0 / 0 | 2 / 1 | 0.93 | 0.284 weak | good day |
| Leody Taveras (RF) | BAL | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 3 / 1 | -0.8 | 0.27 weak | projection too high |
| Marcus Semien (2B) | NYM | 4 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0.64 | 0.304 average | no signal |
| Rece Hinds (LF) | BAL | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.188 weak | — |
| A.J. Ewing (CF) | NYM | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 1 / 1 | 0.47 | 0.323 above average | — |
| Brett Baty (DH) | NYM | 2 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0.47 | 0.311 average | — |
| Francisco Alvarez (C) | NYM | 5 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.323 above average | — |
| Juan Soto (LF) | NYM | 5 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 1 | 1 / 1 | 1 / 0 | -0.46 | 0.413 elite | — |
| Pete Alonso (1B) | BAL | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 1 / 1 | 0 / 1 | 2 / 1 | -0.33 | 0.393 elite | — |
| Gunnar Henderson (SS) | BAL | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 4 / 1 | -0.33 | 0.32 average | — |
| Francisco Lindor (SS) | NYM | 5 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 0 / 1 | 0.31 | 0.331 above average | — |
| Yohel Pozo (C) | BAL | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.25 weak | — |
| Colton Cowser (CF) | BAL | 4 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.317 average | — |
| Jared Young (1B) | NYM | 4 / 4 | 1 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 1 | 0 | 0.314 average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.206 | positive favors home; negative favors away |
| Recent form | 0.318 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.093 | positive favors home; negative favors away |
| Composite | 0.168 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 3.61-4.42 | n/a | Base ML historical model prediction |
| variance_applied | 4-4 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 0.53 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-5 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-5 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-5 | n/a | Capped at max 12 realistic runs |
| simulation_result | 4-5 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 3.61-4.42 | 4-4 | -0.806 | 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) |
| 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 |
|---|---|---|---|---|
| BAL | Rece Hinds | batter / LF | better | predicted_H 2.602 |
| NYM | Juan Soto | batter / LF | worse | predicted_RBI 2.48 |
| BAL | Gunnar Henderson | batter / SS | worse | predicted_SO 2.041 |
| BAL | Jeremiah Jackson | batter / 2B | worse | predicted_AB 1.962 |
| NYM | Jared Young | batter / 1B | worse | predicted_SO 1.34 |
| NYM | Francisco Alvarez | batter / C | better | predicted_SO -1.16 |
| BAL | Christian Encarnacion-Strand | batter / 3B | better | predicted_AB 1.12 |
| NYM | Bo Bichette | batter / 3B | worse | predicted_H -1.1 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | BAL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | BAL |
| info | CURRENT_PITCHER_DUPLICATION | NYM pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | NYM |
| info | CURRENT_FINALIZED_MATCH_BOX | BAL model-prediction batting totals differ from final simulation box score (AB: current=31, sim=39; H: current=8, sim=9; 2B: current=1, sim=0; HR: current=1, sim=4; R: current=3, sim=4; SO: current=9, sim=10). | BAL |
| info | CURRENT_PLAYER_MATCH_BOX | BAL current finalized hitter lines are model predictions and differ from the simulation box score: Rece Hinds: AB current=3 box=5, H current=1 box=3, HR current=0 box=2, RBI current=0 box=2; Coby Mayo: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=0 box=1; Christian Encarnacion-Strand: AB current=4 box=5, 2B current=1 box=0, HR current=0 box=1, R current=0 box=1; Pete Alonso: AB current=4 box=5, H current=1 box=2, HR current=1 box=0, RBI current=1 box=0; Jeremiah Jackson: AB current=3 box=5, H current=1 box=2, HR current=0 box=1, R current=0 box=1; Leody Taveras: AB current=3 box=4, BB current=1 box=0; Gunnar Henderson: AB current=4 box=5, H current=1 box=0, R current=1 box=0, BB current=1 box=0; Yohel Pozo: H current=1 box=0, BB current=0 box=1, SO current=1 box=0 | BAL |
| info | CURRENT_FINALIZED_MATCH_BOX | NYM model pitcher projections differ from final simulation pitching box score (HR: current=3, sim=4). | NYM |
| info | CURRENT_FINALIZED_MATCH_BOX | NYM model-prediction batting totals differ from final simulation box score (AB: current=34, sim=33; H: current=8, sim=3; 2B: current=1, sim=0; RBI: current=4, sim=5; BB: current=3, sim=5). | NYM |
| info | CURRENT_PLAYER_MATCH_BOX | NYM current finalized hitter lines are model predictions and differ from the simulation box score: Carson Benge: AB current=4 box=3, H current=1 box=0, BB current=0 box=1; Francisco Lindor: SO current=1 box=2; Bo Bichette: H current=1 box=0, RBI current=1 box=0, SO current=1 box=0; A.J. Ewing: AB current=4 box=3, H current=1 box=0, SO current=1 box=0; Brett Baty: BB current=0 box=1, SO current=1 box=0; Jared Young: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Juan Soto: AB current=4 box=5, RBI current=1 box=3, BB current=1 box=0, SO current=0 box=2; Marcus Semien: H current=1 box=0 | NYM |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| BOS | Patrick Sandoval | 6 ER / 15 outs | 4 ER / 8 outs | -2 |
| TEX | Jacob deGrom | 3 ER / 17 outs | 2 ER / 15 outs | -1 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Patrick Sandoval (BOS) threw 8 outs, 4 ER = 13.5 ERA against a projected 10.8 ERA (2.7 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 HOME lineup he faced produced 4 runs on 7 hits and 0 HR, against a projected 5 runs / 9 hits (-1 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
HOME pitching
Jacob deGrom (TEX) threw 15 outs, 2 ER = 3.6 ERA against a projected 4.76 ERA (-1.16 ERA error)
Bullpen behind him: 0 ER over 8 outs.
The AWAY lineup he faced produced 2 runs on 5 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
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| BOS | Patrick Sandoval (Starter) | 8 / 15 | 13.5 / 10.8 | 4 / 6 | 4 / 6 | 0 / 0 | 2 / 0 | 2.77 | 5 / 6 | 5.43 | venue away: 4.74 vs 4.45 ERA (ok) · opp run factor 1.09 (average) · 11 prior appearances this season |
| TEX | Jacob deGrom (Starter) | 15 / 17 | 3.6 / 4.76 | 2 / 3 | 3 / 3 | 1 / 1 | 1 / 2 | 1.37 | 8 / 8 | 7.82 | venue home: 2.46 vs 5.35 ERA (ok) · opp run factor 1.06 (average) · 28 prior appearances this season |
| TEX | Jacob Latz (Closer) | 5 / 5 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 0 | 0.47 | 3 / 1 | 1.62 | |
| TEX | Chase Silseth (Middle Reliever (High Leverage)) | 3 / 2 | 0 / 13.5 (-13.50) | 0 / 1 | 1 / 1 | 0 / 1 | 0 / 0 | 0.45 | 3 / 1 | 0.81 |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Wilyer Abreu (RF) | BOS | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 3 / 1 | -1.11 | 0.352 elite | bad day |
| Josh Jung (3B) | TEX | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 2 / 1 | -1.11 | 0.346 elite | bad day |
| Willson Contreras (1B) | BOS | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 0 | 2 / 1 | -1.07 | 0.375 elite | bad day |
| Justin Foscue (2B) | TEX | 1 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 0 | 1 / 1 | -1.07 | 0.329 above average | bad day |
| Wyatt Langford (LF) | TEX | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | -0.8 | 0.316 average | no signal |
| Adley Rutschman (C) | BOS | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 1 | -0.78 | 0.335 above average | bad day |
| Nick Sogard (2B) | BOS | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 1 / 0 | 0 / 1 | 1 / 1 | 0.6 | 0.316 average | no signal |
| Caleb Durbin (3B) | BOS | 3 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | 0.47 | 0.292 below average | — |
| Roman Anthony (LF) | BOS | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 1 | -0.33 | 0.349 elite | — |
| Mickey Gasper (DH) | BOS | 2 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 0 | 1 / 1 | 0.33 | 0.371 elite | — |
| Trevor Story (SS) | BOS | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 2 | 0.33 | 0.251 weak | — |
| Danny Jansen (C) | TEX | 2 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 0 / 1 | 0.33 | 0.261 weak | — |
| Elias Díaz (DH) | TEX | 2 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 1 / 0 | 0 / 0 | 1 / 1 | 0.31 | 0.272 weak | — |
| Ezequiel Duran (CF) | TEX | 3 / 4 | 2 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 0.16 | 0.306 average | — |
| Jake Burger (1B) | TEX | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 0 | 1 / 1 | -0.14 | 0.315 average | — |
| Corey Seager (SS) | TEX | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 0.14 | 0.353 elite | — |
| Jarren Duran (CF) | BOS | 2 / 4 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 2 / 1 | 0 | 0.298 below average | — |
| Brandon Nimmo (RF) | TEX | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 2 / 1 | 0 | 0.346 elite | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.701 | positive favors home; negative favors away |
| Recent form | -0.337 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.025 | positive favors home; negative favors away |
| Composite | -0.235 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 3.75-5 | n/a | Base ML historical model prediction |
| variance_applied | 4-5 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-6 | 0.515 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by winner_starter_is_below_average, starter_quality_favours_the_other_side, projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 5-6 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 7-6 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 7-6 | n/a | Capped at max 12 realistic runs |
| simulation_result | 7-6 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 3.75-5 | 4-5 | 0.248 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 5-6 | -0 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by winner_starter_is_below_average, starter_quality_favours_the_other_side, projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 5-6 | 5-6 | -0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 5-6 | 7-6 | 2 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 7-6 | 7-6 | -0 | Capped at max 12 realistic runs |
| simulation_result | 7-6 | 7-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 |
|---|---|---|---|---|
| TEX | Corey Seager | batter / SS | worse | predicted_RBI 3.36 |
| BOS | Trevor Story | batter / SS | worse | predicted_RBI 2.49 |
| BOS | Patrick Sandoval | pitcher / Starter | worse | predicted_H 2 |
| BOS | Roman Anthony | batter / LF | worse | predicted_AB -1.76 |
| TEX | Brandon Nimmo | batter / RF | worse | predicted_AB -1.64 |
| BOS | Mickey Gasper | batter / DH | worse | predicted_H 1.59 |
| TEX | Justin Foscue | batter / 2B | worse | predicted_AB 1.5 |
| BOS | Wilyer Abreu | batter / RF | worse | predicted_AB -1.48 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| warning | PITCH_COUNT_PITCHER_MATCH | BOS pitch_count row for Patrick Sandoval differs from pitching box score: hits_allowed/H: summary=6, box=5; batters_faced/BF: summary=21, box=20. | BOS Patrick Sandoval |
| info | CURRENT_PITCHER_DUPLICATION | BOS pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | BOS |
| info | CURRENT_PITCHER_DUPLICATION | 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 | BOS model pitcher projections differ from final simulation pitching box score (H: current=6, sim=5). | BOS |
| info | CURRENT_FINALIZED_MATCH_BOX | BOS model-prediction batting totals differ from final simulation box score (H: current=7, sim=6; 2B: current=2, sim=1; 3B: current=0, sim=1; HR: current=1, sim=2; RBI: current=4, sim=7; R: current=4, sim=7; SO: current=10, sim=12; HBP: current=0, sim=1). | BOS |
| info | CURRENT_PLAYER_MATCH_BOX | BOS current finalized hitter lines are model predictions and differ from the simulation box score: Roman Anthony: AB current=4 box=3, H current=1 box=0, R current=0 box=1, SO current=1 box=2; Willson Contreras: AB current=4 box=3, HR current=1 box=0, RBI current=1 box=0, BB current=0 box=1; Adley Rutschman: 2B current=1 box=0, HR current=0 box=1, RBI current=1 box=2; Jarren Duran: H current=0 box=1, 3B current=0 box=1; Mickey Gasper: AB current=3 box=4, H current=1 box=2, HR current=0 box=1, R current=0 box=1; Wilyer Abreu: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Nick Sogard: AB current=3 box=4, H current=1 box=0, BB current=1 box=0, SO current=1 box=2; Caleb Durbin: AB current=3 box=4, RBI current=0 box=1, R current=0 box=1, SO current=1 box=2 | BOS |
| info | CURRENT_FINALIZED_MATCH_BOX | TEX model pitcher projections differ from final simulation pitching box score (ER: current=6, sim=7). | TEX |
| info | CURRENT_FINALIZED_MATCH_BOX | TEX model-prediction batting totals differ from final simulation box score (AB: current=31, sim=32; H: current=9, sim=5; 2B: current=2, sim=3; HR: current=1, sim=0; RBI: current=4, sim=6; R: current=5, sim=6; BB: current=3, sim=1; SO: current=9, sim=11). | TEX |
| info | CURRENT_PLAYER_MATCH_BOX | TEX current finalized hitter lines are model predictions and differ from the simulation box score: Justin Foscue: AB current=3 box=4, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Jake Burger: AB current=3 box=4, RBI current=1 box=0; Corey Seager: 2B current=0 box=1, RBI current=0 box=4, BB current=1 box=0; Ezequiel Duran: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Elias Díaz: RBI current=1 box=0, R current=0 box=1; Josh Jung: BB current=1 box=0; Danny Jansen: H current=1 box=0, SO current=1 box=2; Wyatt Langford: AB current=3 box=4, H current=1 box=0, R current=1 box=0, BB current=1 box=0 | TEX |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| CHW | Chris Murphy | 1 ER / 14 outs | 3 ER / 2 outs | 2 |
| CLE | Foster Griffin | 4 ER / 16 outs | 2 ER / 12 outs | -2 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
No settled pitching line for this club. The forecast named Chris Murphy (CHW) at a projected 1.93 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 5 runs on 8 hits and 3 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
Foster Griffin (CLE) threw 12 outs, 2 ER = 4.5 ERA against a projected 6.75 ERA (-2.25 ERA error)
Bullpen behind him: 1 ER over 14 outs.
The AWAY lineup he faced produced 2 runs on 6 hits and 0 HR, against a projected 3 runs / 6 hits (-1 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| CLE | Foster Griffin (Starter) | 12 / 16 | 4.5 / 6.75 | 2 / 4 | 5 / 6 | 0 / 2 | 2 / 2 | 1.81 | 5 / 5 | 4.04 | venue home: 3.28 vs 3.92 ERA (ok) · opp run factor 1.01 (average) · 29 prior appearances this season |
| CLE | Cade Smith (Closer) | 5 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0.32 | 1 / 2 | 1.33 | |
| CLE | Erik Sabrowski (Middle Reliever (High Leverage)) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0.43 | 2 / 1 | 1.18 | |
| CLE | Hunter Gaddis (Setup Man) | 3 / 3 | 9 / 0 (+9.00) | 1 / 0 | 2 / 0 | 0 / 0 | 0 / 1 | 0.34 | 2 / 1 | 0.8 | |
| CLE | Tim Herrin (Middle Reliever (High Leverage)) | 3 / 2 | 0 / 13.5 (-13.50) | 0 / 1 | 0 / 2 | 0 / 0 | 1 / 1 | 0.41 | 2 / 1 | 0.87 |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Travis Bazzana (DH) | CLE | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 2 / 0 | 2 / 1 | 2 / 1 | 0 / 1 | 1 / 1 | 2 | 0.305 average | no signal |
| Munetaka Murakami (1B) | CHW | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | 4 / 1 | -1.4 | 0.342 elite | bad day |
| José Ramírez (3B) | CLE | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | -1.11 | 0.326 above average | bad day |
| Brayan Rocchio (SS) | CLE | 3 / 3 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 1 / 0 | 1 / 0 | 0 / 0 | 1.11 | 0.293 below average | good day |
| Brenton Doyle (CF) | CHW | 3 / 3 | 2 / 1 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | 1.09 | 0.234 weak | good day |
| Angel Genao (2B) | CLE | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.294 below average | — |
| Nathaniel Lowe (1B) | CLE | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0.47 | 0.338 above average | — |
| Chase Meidroth (2B) | CHW | 5 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 0 / 1 | 0 / 1 | 0.45 | 0.295 below average | — |
| Randal Grichuk (DH) | CHW | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | -0.31 | 0.333 above average | — |
| Miguel Vargas (3B) | CHW | 3 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 3 / 1 | 0 / 1 | 1 / 1 | 0 / 1 | -0.31 | 0.38 elite | — |
| Luisangel Acuña (SS) | CHW | 1 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | -0.14 | 0.266 weak | — |
| Patrick Bailey (C) | CLE | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | -0.14 | 0.308 average | — |
| Jake Rogers (C) | CHW | 2 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.272 weak | — |
| Jo Adell (RF) | CLE | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 2 / 1 | 1 / 1 | 0 / 0 | 0 / 1 | 0 | 0.325 above average | — |
| Steven Kwan (LF) | CLE | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 0 / 0 | 0 | 0.323 above average | — |
| Petey Halpin (CF) | CLE | 4 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.283 weak | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.18 | positive favors home; negative favors away |
| Recent form | -0.09 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.008 | positive favors home; negative favors away |
| Composite | -0.319 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.95-3.73 | 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.545 | 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.95-3.73 | 5-4 | -0.223 | 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 |
|---|---|---|---|---|
| CHW | Randal Grichuk | batter / DH | worse | predicted_AB 2.5 |
| CHW | Brenton Doyle | batter / CF | better | predicted_RBI 1.88 |
| CLE | Brayan Rocchio | batter / SS | worse | predicted_2B 1.85 |
| CLE | Petey Halpin | batter / CF | worse | predicted_H 1.76 |
| CHW | Chase Meidroth | batter / 2B | worse | predicted_AB -1.72 |
| CLE | Steven Kwan | batter / LF | boosted | predicted_RBI 1.64 |
| CHW | Sam Antonacci | batter / LF | worse | predicted_SO 1.375 |
| CHW | Jake Rogers | batter / C | worse | predicted_AB 1.24 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | CHW pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | CHW |
| info | CURRENT_PITCHER_DUPLICATION | CLE pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | CLE |
| info | CURRENT_FINALIZED_MATCH_BOX | CHW model-prediction batting totals differ from final simulation box score (AB: current=32, sim=35; 2B: current=2, sim=3; HR: current=1, sim=2; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=4; SO: current=9, sim=10; HBP: current=0, sim=1). | CHW |
| info | CURRENT_PLAYER_MATCH_BOX | CHW current finalized hitter lines are model predictions and differ from the simulation box score: Munetaka Murakami: 2B current=0 box=1, HR current=1 box=0, SO current=1 box=2; Brenton Doyle: HR current=0 box=1, RBI current=0 box=2, R current=0 box=1, BB current=0 box=1; Sam Antonacci: 2B current=0 box=1, R current=1 box=0, SO current=1 box=2; Randal Grichuk: AB current=4 box=5, 2B current=1 box=0, HR current=0 box=1, R current=0 box=1; Miguel Vargas: AB current=4 box=5, H current=1 box=2, BB current=1 box=0; Tristan Peters: AB current=3 box=4, H current=1 box=0, RBI current=1 box=0; Chase Meidroth: AB current=4 box=3, BB current=1 box=2; Jake Rogers: AB current=3 box=4, SO current=1 box=2 | CHW |
| info | CURRENT_FINALIZED_MATCH_BOX | CLE model-prediction batting totals differ from final simulation box score (AB: current=33, sim=35; 2B: current=1, sim=4; HR: current=1, sim=0; BB: current=3, sim=2; SO: current=7, sim=8). | CLE |
| info | CURRENT_PLAYER_MATCH_BOX | CLE current finalized hitter lines are model predictions and differ from the simulation box score: Travis Bazzana: AB current=4 box=3, RBI current=1 box=0, R current=1 box=0, SO current=1 box=0; José Ramírez: 2B current=1 box=0, BB current=1 box=0; Angel Genao: H current=1 box=0; Nathaniel Lowe: H current=1 box=0, RBI current=1 box=0, SO current=1 box=2; Jo Adell: 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Steven Kwan: AB current=4 box=5, 2B current=0 box=1, RBI current=0 box=2, BB current=1 box=0; Patrick Bailey: AB current=3 box=4, H current=1 box=0; Petey Halpin: AB current=3 box=4, H current=0 box=2, R current=0 box=1 | CLE |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| DET | Drew Anderson | 3 ER / 15 outs | 0 ER / 15 outs | -3 |
| TOR | Braydon Fisher | 3 ER / 15 outs | 0 ER / 4 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: Drew Anderson (DET) posted 0.00 ERA vs projected 5.40 (0 ER in 15 outs); no credible venue, opponent-strength or experience signal explains it — an outlier start (variance).
What to do: Variance — no model change is warranted for this start.
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Drew Anderson (DET) threw 15 outs, 0 ER = 0 ERA against a projected 5.4 ERA (-5.4 ERA error)
Bullpen behind him: 1 ER over 1 outs.
The HOME lineup he faced produced 1 runs on 6 hits and 0 HR, against a projected 4 runs / 8 hits (-3 runs vs projection).
No individual hitter beat his projection by a meaningful margin.
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
Braydon Fisher (TOR) threw 4 outs, 0 ER = 0 ERA against a projected 5.4 ERA (-5.4 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The AWAY lineup he faced produced 9 runs on 9 hits and 2 HR, against a projected 5 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. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| DET | Drew Anderson (Starter) | 15 / 15 | 0 / 5.4 (-5.40) | 0 / 3 | 2 / 2 | 0 / 1 | 3 / 0 | 2.71 | 4 / 5 | 4.62 | venue away: 2.65 vs 2.66 ERA (ok) · opp run factor 0.95 (weak) · 47 prior appearances this season |
| DET | Kyle Finnegan (Middle Reliever (High Leverage)) | 1 / 5 | 27 / 0 (+27.00) | 1 / 0 | 3 / 2 | 0 / 0 | 0 / 0 | 0.54 | 0 / 0 | 0.77 | |
| TOR | Braydon Fisher (Starter) | 4 / 15 | 0 / 5.4 (-5.40) | 0 / 3 | 0 / 4 | 0 / 0 | 2 / 3 | 2.82 | 1 / 5 | 2.63 | venue home: 1.69 vs 0 ERA (ok) · opp run factor 1 (average) · 72 prior appearances this season |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Spencer Torkelson (1B) | DET | 4 / 3 | 2 / 0 | 1 / 0 | 0 / 0 | 1 / 0 | 3 / 0 | 3 / 0 | 1 / 1 | 2 / 1 | 2.18 | 0.308 average | no signal |
| Hao-Yu Lee (3B) | DET | 5 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 0 | 0 / 0 | 1 / 1 | 1.4 | 0.297 below average | good day |
| Kazuma Okamoto (3B) | TOR | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | -0.93 | 0.33 above average | bad day |
| Max Clark (CF) | DET | 5 / 3 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 2 / 1 | 0 / 0 | 1 / 1 | 0.78 | 0.32 average | no signal |
| Gleyber Torres (2B) | DET | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 1 | -0.47 | 0.324 above average | — |
| Andrés Giménez (SS) | TOR | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.274 weak | — |
| John Peck (SS) | DET | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 0.33 | 0.355 elite | — |
| Alejandro Kirk (C) | TOR | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 1 | 0 / 1 | -0.33 | 0.312 average | — |
| Riley Greene (LF) | DET | 3 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 1 / 1 | 1 / 1 | -0.31 | 0.373 elite | — |
| George Springer (DH) | TOR | 3 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 0 / 1 | -0.31 | 0.308 average | — |
| Eduardo Valencia (C) | DET | 3 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 1 / 0 | 0 / 1 | -0.29 | 0.329 above average | — |
| Kevin McGonigle (DH) | DET | 1 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 3 / 1 | 0 / 1 | 0.19 | 0.354 elite | — |
| Brett Bateman (CF) | TOR | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 1 / 1 | 0.14 | 0.306 average | — |
| Vladimir Guerrero Jr. (1B) | TOR | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 0 / 0 | -0.14 | 0.335 above average | — |
| Ernie Clement (2B) | TOR | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | -0.14 | 0.262 weak | — |
| Zach McKinstry (RF) | DET | 5 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 | 0.286 below average | — |
| Josh Smith (LF) | TOR | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.285 below average | — |
| Nathan Lukes (RF) | TOR | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.287 below average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.572 | positive favors home; negative favors away |
| Recent form | -0.428 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.05 | positive favors home; negative favors away |
| Composite | -0.711 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 5.33-3.92 | 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.562 | 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.33-3.92 | 5-4 | -0.415 | 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 |
|---|---|---|---|---|
| DET | Max Clark | batter / CF | worse | predicted_RBI 2.36 |
| TOR | Brett Bateman | batter / CF | worse | predicted_H -1.5 |
| DET | Riley Greene | batter / LF | worse | predicted_H -1.49 |
| TOR | Vladimir Guerrero Jr. | batter / 1B | worse | predicted_SO 1.43 |
| DET | Kevin McGonigle | batter / DH | worse | predicted_SO 1.392 |
| TOR | Andrés Giménez | batter / SS | worse | predicted_SO 1.323 |
| TOR | Josh Smith | batter / LF | worse | predicted_AB 1.242 |
| TOR | Kazuma Okamoto | batter / 3B | worse | predicted_SO -1.201 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | DET pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | DET |
| info | CURRENT_PITCHER_DUPLICATION | TOR pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | TOR |
| info | CURRENT_FINALIZED_MATCH_BOX | DET model pitcher projections differ from final simulation pitching box score (H: current=8, sim=10). | DET |
| info | CURRENT_FINALIZED_MATCH_BOX | DET model-prediction batting totals differ from final simulation box score (AB: current=32, sim=37; 2B: current=1, sim=2; HR: current=1, sim=0; RBI: current=4, sim=5; BB: current=4, sim=5; HBP: current=0, sim=1). | DET |
| info | CURRENT_PLAYER_MATCH_BOX | DET current finalized hitter lines are model predictions and differ from the simulation box score: Kevin McGonigle: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=1 box=2; Hao-Yu Lee: RBI current=1 box=0, R current=0 box=1, BB current=0 box=1, SO current=1 box=0; Eduardo Valencia: AB current=4 box=5, 2B current=0 box=1, HR current=1 box=0, SO current=1 box=0; Max Clark: AB current=3 box=5, H current=1 box=3, RBI current=0 box=3; Riley Greene: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Gleyber Torres: 2B current=0 box=1, RBI current=0 box=1, BB current=1 box=0, HBP current=0 box=1; Spencer Torkelson: AB current=3 box=4, H current=0 box=1, R current=0 box=1; Zach McKinstry: AB current=3 box=4, SO current=0 box=1 | DET |
| info | CURRENT_FINALIZED_MATCH_BOX | TOR model pitcher projections differ from final simulation pitching box score (H: current=6, sim=7). | TOR |
| info | CURRENT_FINALIZED_MATCH_BOX | TOR model-prediction batting totals differ from final simulation box score (AB: current=32, sim=40; H: current=8, sim=10; BB: current=3, sim=0). | TOR |
| info | CURRENT_PLAYER_MATCH_BOX | TOR current finalized hitter lines are model predictions and differ from the simulation box score: Brett Bateman: AB current=4 box=5, H current=1 box=0, R current=1 box=0, BB current=1 box=0; Vladimir Guerrero Jr.: AB current=4 box=5, R current=1 box=0, SO current=0 box=2; Alejandro Kirk: AB current=4 box=5, RBI current=1 box=0, BB current=1 box=0; George Springer: AB current=4 box=5, H current=1 box=2, 2B current=1 box=0, BB current=1 box=0; Josh Smith: AB current=3 box=4, SO current=1 box=0; Nathan Lukes: H current=1 box=2, HR current=0 box=1, RBI current=0 box=1, R current=0 box=1; Kazuma Okamoto: AB current=3 box=4, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Ernie Clement: AB current=3 box=4, H current=1 box=2, 2B current=0 box=1, RBI current=0 box=1 | TOR |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
No large single-factor errors.
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| KC | Michael Wacha | 2 ER / 19 outs | 4 ER / 18 outs | 2 |
| HOU | Hunter Brown | 1 ER / 17 outs | 1 ER / 15 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: Michael Wacha (KC) posted 6.00 ERA vs projected 2.84 (4 ER in 18 outs); he is materially worse pitching away (3.56 ERA there vs 2.93 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
Michael Wacha (KC) threw 18 outs, 4 ER = 6 ERA against a projected 2.84 ERA (3.16 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The HOME lineup he faced produced 4 runs on 4 hits and 3 HR, against a projected 4 runs / 7 hits (0 runs vs projection).
Who did the damage to him:
Verdict: both: the starter was hit hard AND the lineup underproduced
HOME pitching
Hunter Brown (HOU) threw 15 outs, 1 ER = 1.8 ERA against a projected 1.59 ERA (0.21 ERA error)
Bullpen behind him: 0 ER over 9 outs.
The AWAY lineup he faced produced 2 runs on 3 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
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| KC | Michael Wacha (Starter) | 18 / 19 | 6 / 2.84 (+3.16) | 4 / 2 | 4 / 5 | 3 / 0 | 1 / 5 | 1.54 | 2 / 9 | 5.19 | venue away: 3.56 vs 2.93 ERA (worse here) · opp run factor 1 (average) · 29 prior appearances this season |
| HOU | Hunter Brown (Starter) | 15 / 17 | 1.8 / 1.59 | 1 / 1 | 2 / 3 | 0 / 1 | 3 / 1 | 2.37 | 10 / 4 | 5.99 | venue home: 3.71 vs 3.26 ERA (ok) · opp run factor 0.96 (weak) · 17 prior appearances this season |
| HOU | AJ Blubaugh (Middle Reliever (High Leverage)) | 3 / 7 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 0.61 | 1 / 2 | 1.18 | |
| HOU | Bryan Abreu (Setup Man) | 3 / 3 | 0 / 18 (-18.00) | 0 / 2 | 0 / 1 | 0 / 1 | 0 / 1 | 0.57 | 1 / 2 | 1.25 | |
| HOU | Josh Hader (Closer) | 3 / 0 | 0 / n/a | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0.2 | 1 / 1 | 1.2 |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Jeremy Peña (SS) | HOU | 4 / 4 | 3 / 1 | 0 / 0 | 0 / 0 | 2 / 0 | 2 / 1 | 3 / 1 | 0 / 0 | 1 / 1 | 2.8 | 0.321 above average | projection too low |
| Jac Caglianone (DH) | KC | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 3 / 1 | -1.4 | 0.355 elite | bad day |
| Isaac Paredes (3B) | HOU | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 0 | -0.8 | 0.322 above average | bad day |
| Daulton Varsho (CF) | HOU | 3 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | -0.78 | 0.287 below average | projection too high |
| Bobby Witt Jr. (SS) | KC | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | -0.64 | 0.381 elite | bad day |
| Vinnie Pasquantino (1B) | KC | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 0 | 0 / 1 | 2 / 1 | 0.6 | 0.329 above average | projection too low |
| Michael Massey (2B) | KC | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.308 average | — |
| Jose Altuve (2B) | HOU | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | -0.47 | 0.273 weak | — |
| Christian Walker (1B) | HOU | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.304 average | — |
| Yainer Diaz (C) | HOU | 2 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.299 below average | — |
| Carter Jensen (C) | KC | 4 / 4 | 1 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0 / 1 | 2 / 1 | -0.33 | 0.315 average | — |
| Yordan Alvarez (DH) | HOU | 2 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 2 / 1 | 1 / 1 | 2 / 1 | 0 / 1 | 0.33 | 0.443 elite | — |
| LaMonte Wade Jr. (LF) | HOU | 2 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | -0.33 | 0.276 weak | — |
| Maikel Garcia (3B) | KC | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 0 | 1 / 1 | -0.14 | 0.317 average | — |
| John Rave (RF) | KC | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 1 / 1 | -0.14 | 0.321 above average | — |
| Kyle Isbel (CF) | KC | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.261 weak | — |
| Isaac Collins (LF) | KC | 2 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 2 / 1 | 0 | 0.297 below average | — |
| Cam Smith (RF) | HOU | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.32 average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.212 | positive favors home; negative favors away |
| Recent form | 0.049 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.048 | positive favors home; negative favors away |
| Composite | 0.415 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 3.92-5.05 | 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.53 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 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.92-5.05 | 4-5 | -0.126 | 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 |
|---|---|---|---|---|
| HOU | Christian Walker | batter / 1B | worse | predicted_SO 3.07 |
| KC | Michael Wacha | pitcher / Starter | neutral | predicted_SO 3 |
| HOU | LaMonte Wade Jr. | batter / LF | worse | predicted_AB 2.5 |
| KC | Jac Caglianone | batter / DH | worse | predicted_SO 1.985 |
| HOU | Daulton Varsho | batter / CF | better | predicted_RBI 1.72 |
| HOU | Cam Smith | batter / RF | worse | predicted_AB 1.44 |
| HOU | Isaac Paredes | batter / 3B | better | predicted_SO 1.423 |
| HOU | Yainer Diaz | batter / C | worse | predicted_H -1.23 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| 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_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_FINALIZED_MATCH_BOX | HOU model-prediction batting totals differ from final simulation box score (AB: current=34, sim=39; H: current=7, sim=9; 2B: current=1, sim=3; HR: current=1, sim=0; BB: current=3, sim=6; SO: current=8, sim=10). | HOU |
| info | CURRENT_PLAYER_MATCH_BOX | HOU current finalized hitter lines are model predictions and differ from the simulation box score: Yordan Alvarez: HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Jose Altuve: RBI current=0 box=1, BB current=0 box=1, SO current=1 box=0; Isaac Paredes: 2B current=0 box=1, SO current=0 box=2; Jeremy Peña: H current=1 box=2, 2B current=0 box=1, RBI current=1 box=0, BB current=0 box=1; Christian Walker: AB current=4 box=5, RBI current=1 box=0, SO current=1 box=4; Yainer Diaz: H current=1 box=0, BB current=0 box=1; Daulton Varsho: H current=1 box=2, RBI current=0 box=2, R current=0 box=1, BB current=0 box=1; Cam Smith: AB current=3 box=5, SO current=1 box=0 | HOU |
| info | CURRENT_FINALIZED_MATCH_BOX | KC model pitcher projections differ from final simulation pitching box score (H: current=8, sim=9; BB: current=5, sim=6). | KC |
| info | CURRENT_FINALIZED_MATCH_BOX | KC model-prediction batting totals differ from final simulation box score (AB: current=33, sim=35; H: current=7, sim=5; 2B: current=2, sim=0; HR: current=1, sim=2; RBI: current=4, sim=3; R: current=4, sim=3; BB: current=4, sim=3). | KC |
| info | CURRENT_PLAYER_MATCH_BOX | KC current finalized hitter lines are model predictions and differ from the simulation box score: Jac Caglianone: RBI current=1 box=2, SO current=1 box=3; Maikel Garcia: H current=1 box=0, RBI current=1 box=0; Bobby Witt Jr.: AB current=4 box=5, 2B current=1 box=0, HR current=0 box=1, RBI current=0 box=1; Vinnie Pasquantino: AB current=4 box=3, RBI current=1 box=0, R current=0 box=1, SO current=1 box=0; Carter Jensen: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Michael Massey: H current=1 box=0; Kyle Isbel: AB current=3 box=4; Isaac Collins: H current=0 box=1 | KC |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| LAD | Yoshinobu Yamamoto | 2 ER / 21 outs | 0 ER / 21 outs | -2 |
| CIN | Rhett Lowder | 3 ER / 14 outs | 3 ER / 15 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
Yoshinobu Yamamoto (LAD) threw 21 outs, 0 ER = 0 ERA against a projected 2.57 ERA (-2.57 ERA error)
Bullpen behind him: 0 ER over 6 outs.
The HOME lineup he faced produced 0 runs on 3 hits and 0 HR, against a projected 3 runs / 6 hits (-3 runs vs projection).
No individual hitter beat his projection by a meaningful margin.
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
Rhett Lowder (CIN) threw 15 outs, 3 ER = 5.4 ERA against a projected 5.79 ERA (-0.39 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The AWAY lineup he faced produced 4 runs on 8 hits and 2 HR, against a projected 5 runs / 8 hits (-1 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| LAD | Yoshinobu Yamamoto (Starter) | 21 / 21 | 0 / 2.57 | 0 / 2 | 1 / 3 | 0 / 0 | 2 / 1 | 1.54 | 7 / 8 | 7.71 | venue away: 1.94 vs 3.13 ERA (ok) · opp run factor 0.98 (weak) · 26 prior appearances this season |
| LAD | Brock Stewart (Setup Man) | 3 / 3 | 0 / 27 (-27.00) | 0 / 3 | 1 / 3 | 0 / 1 | 0 / 0 | 0.48 | 1 / 0 | 0.76 | |
| LAD | Tanner Scott (Closer) | 3 / 2 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 1 / 0 | 0.16 | 3 / 0 | 0.83 | |
| CIN | Rhett Lowder (Starter) | 15 / 14 | 5.4 / 5.79 | 3 / 3 | 5 / 6 | 1 / 1 | 2 / 1 | 2.09 | 4 / 5 | 4.08 | venue home: 4.29 vs 7.44 ERA (ok) · opp run factor 1.09 (strong) · 26 prior appearances this season |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Max Muncy (3B) | LAD | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 0 / 1 | 1 / 1 | -1.73 | 0.348 elite | bad day |
| Alex Freeland (2B) | LAD | 4 / 3 | 2 / 1 | 1 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | 1.71 | 0.289 below average | good day |
| Teoscar Hernández (LF) | LAD | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 1 | 1 / 1 | 1 / 0 | 1 / 1 | 1.26 | 0.333 above average | projection too low |
| Hunter Feduccia (C) | LAD | 2 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 2 / 0 | 0 / 1 | 1.13 | 0.314 average | no signal |
| Josue De Paula (DH) | LAD | 5 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 2 / 0 | -0.8 | 0.499 elite | bad day |
| JJ Bleday (LF) | CIN | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | -0.8 | 0.342 elite | bad day |
| Mookie Betts (SS) | LAD | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | -0.47 | 0.334 above average | — |
| Héctor Rodríguez (RF) | CIN | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.263 weak | — |
| Sal Stewart (1B) | CIN | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 3 / 1 | -0.47 | 0.348 elite | — |
| Carlos Jorge (CF) | CIN | 2 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 0 | 1 / 1 | -0.45 | 0.203 weak | — |
| Eugenio Suárez (DH) | CIN | 4 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 3 / 2 | -0.33 | 0.298 below average | — |
| Freddie Freeman (1B) | LAD | 5 / 4 | 3 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0.3 | 0.368 elite | — |
| Elly De La Cruz (SS) | CIN | 3 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | 0 / 2 | -0.15 | 0.374 elite | — |
| Kyle Tucker (RF) | LAD | 2 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 2 / 1 | 1 / 1 | -0.14 | 0.33 above average | — |
| Tommy Edman (CF) | LAD | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.307 average | — |
| Juan Brito (3B) | CIN | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 0 | 0.294 below average | — |
| Will Banfield (C) | CIN | 2 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.127 weak | — |
| Matt McLain (2B) | CIN | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 3 / 1 | 0 | 0.304 average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -1.999 | positive favors home; negative favors away |
| Recent form | -1.698 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.111 | positive favors home; negative favors away |
| Composite | -2.488 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 5.18-2.53 | n/a | Base ML historical model prediction |
| variance_applied | 5-3 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 8-5 | 0.58 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 9-5 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 9-5 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 9-5 | n/a | Capped at max 12 realistic runs |
| simulation_result | 9-5 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 5.18-2.53 | 5-3 | -0.647 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-3 | 8-5 | 1 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 8-5 | 9-5 | 1 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 9-5 | 9-5 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 9-5 | 9-5 | -0 | Capped at max 12 realistic runs |
| simulation_result | 9-5 | 9-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 | JJ Bleday | batter / LF | better | predicted_RBI 3.63 |
| LAD | Yoshinobu Yamamoto | pitcher / Starter | better | predicted_SO 3 |
| LAD | Josue De Paula | batter / DH | neutral | predicted_AB 2.5 |
| LAD | Hunter Feduccia | batter / C | worse | predicted_SO 2.278 |
| LAD | Teoscar Hernández | batter / LF | better | predicted_H 2 |
| LAD | Tanner Scott | pitcher / Closer | worse | predicted_SO -2 |
| LAD | Mookie Betts | batter / SS | better | predicted_HR 1.76 |
| LAD | Alex Freeland | batter / 2B | worse | predicted_AB 1.293 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | CIN pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | CIN |
| info | CURRENT_PITCHER_DUPLICATION | LAD pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | LAD |
| info | CURRENT_FINALIZED_MATCH_BOX | CIN model pitcher projections differ from final simulation pitching box score (ER: current=8, sim=9). | CIN |
| info | CURRENT_FINALIZED_MATCH_BOX | CIN model-prediction batting totals differ from final simulation box score (AB: current=32, sim=34; H: current=6, sim=7; RBI: current=4, sim=5; R: current=3, sim=5; BB: current=3, sim=1; SO: current=11, sim=8). | CIN |
| info | CURRENT_PLAYER_MATCH_BOX | CIN current finalized hitter lines are model predictions and differ from the simulation box score: JJ Bleday: HR current=0 box=1, RBI current=0 box=4, R current=0 box=1, BB current=1 box=0; Carlos Jorge: AB current=4 box=3, 2B current=1 box=0, RBI current=1 box=0, R current=0 box=1; Héctor Rodríguez: H current=1 box=0, SO current=1 box=2; Sal Stewart: H current=1 box=2; Juan Brito: AB current=3 box=4, 2B current=0 box=1, R current=1 box=0; Elly De La Cruz: HR current=1 box=0, RBI current=1 box=0, BB current=1 box=0, SO current=2 box=1; Will Banfield: SO current=1 box=0; Matt McLain: AB current=3 box=4, SO current=1 box=2 | CIN |
| info | CURRENT_FINALIZED_MATCH_BOX | LAD model-prediction batting totals differ from final simulation box score (AB: current=33, sim=39; H: current=8, sim=12; 2B: current=1, sim=3; HR: current=1, sim=2; RBI: current=4, sim=9; R: current=5, sim=9; BB: current=4, sim=2; SO: current=7, sim=9). | LAD |
| info | CURRENT_PLAYER_MATCH_BOX | LAD current finalized hitter lines are model predictions and differ from the simulation box score: Josue De Paula: AB current=3 box=5, RBI current=0 box=3, BB current=1 box=0; Teoscar Hernández: H current=1 box=3, 2B current=0 box=1, RBI current=1 box=2, BB current=0 box=1; Kyle Tucker: AB current=4 box=5, 2B current=0 box=1, BB current=1 box=0, SO current=1 box=2; Tommy Edman: R current=0 box=1; Freddie Freeman: AB current=4 box=5, H current=1 box=2, R current=0 box=1, BB current=1 box=0; Mookie Betts: H current=1 box=2, HR current=0 box=2, RBI current=1 box=2, HBP current=0 box=1; Max Muncy: HR current=1 box=0; Hunter Feduccia: AB current=3 box=4, R current=0 box=1, SO current=1 box=3 | LAD |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| MIA | Janson Junk | 3 ER / 14 outs | 1 ER / 9 outs | -2 |
| ARI | Michael Soroka | 1 ER / 15 outs | 1 ER / 15 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
Janson Junk (MIA) threw 9 outs, 1 ER = 3 ERA against a projected 5.79 ERA (-2.79 ERA error)
Bullpen behind him: 0 ER over 6 outs.
The HOME lineup he faced produced 1 runs on 8 hits and 1 HR, against a projected 4 runs / 8 hits (-3 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
HOME pitching
No settled pitching line for this club. The forecast named Michael Soroka (ARI) at a projected 1.8 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 3 runs on 4 hits and 1 HR, against a projected 5 runs / 8 hits (-2 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| MIA | Janson Junk (Starter) | 9 / 14 | 3 / 5.79 | 1 / 3 | 5 / 5 | 1 / 1 | 1 / 2 | 1.24 | 4 / 8 | 2.55 | venue away: 4.78 vs 4.46 ERA (ok) · opp run factor 1.04 (average) · 23 prior appearances this season |
| MIA | Calvin Faucher (Closer) | 3 / 5 | 0 / 16.2 (-16.20) | 0 / 3 | 1 / 2 | 0 / 0 | 1 / 2 | 0.51 | 1 / 0 | 0.97 | |
| MIA | Tyler Zuber (Setup Man) | 3 / 5 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0.45 | 1 / 0 | 1.13 |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Gabriel Moreno (C) | ARI | 4 / 4 | 2 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 1 | 2 / 0 | 1 / 0 | 1.75 | 0.359 elite | projection too low |
| Ketel Marte (2B) | ARI | 6 / 4 | 2 / 1 | 2 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 1.09 | 0.345 elite | projection too low |
| Heriberto Hernández (LF) | MIA | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | -0.93 | 0.351 elite | bad day |
| Nolan Arenado (3B) | ARI | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 1 | -0.93 | 0.291 below average | projection too high |
| Jakob Marsee (CF) | MIA | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 2 / 1 | -0.8 | 0.309 average | no signal |
| Kyle Stowers (DH) | MIA | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 1 / 1 | 2 / 1 | -0.78 | 0.326 above average | bad day |
| Griffin Conine (RF) | MIA | 2 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | 0.6 | 0.364 elite | projection too low |
| Agustín Ramírez (C) | MIA | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.282 weak | — |
| Deyvison De Los Santos (1B) | MIA | 4 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0.47 | 0.2 weak | — |
| Graham Pauley (3B) | MIA | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.247 weak | — |
| Lars Nootbaar (LF) | ARI | 5 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 4 / 1 | -0.47 | 0.351 elite | — |
| Pavin Smith (1B) | ARI | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.253 weak | — |
| Javier Sanoja (2B) | MIA | 5 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | -0.31 | 0.295 below average | — |
| Corbin Carroll (RF) | ARI | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 1 / 1 | -0.31 | 0.343 elite | — |
| Otto Lopez (SS) | MIA | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 2 / 0 | 1 / 0 | 0.19 | 0.327 above average | — |
| Geraldo Perdomo (SS) | ARI | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 0 | 0 | 0.326 above average | — |
| Jordan Lawlar (CF) | ARI | 5 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 4 / 1 | 0 | 0.332 above average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.172 | positive favors home; negative favors away |
| Recent form | 0.229 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.105 | positive favors home; negative favors away |
| Composite | 0.743 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 3.66-5.25 | n/a | Base ML historical model prediction |
| variance_applied | 4-5 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 0.547 | 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.66-5.25 | 4-5 | -0.589 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 4-5 | 0 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by 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 |
|---|---|---|---|---|
| ARI | Ketel Marte | batter / 2B | worse | predicted_AB -2.96 |
| ARI | Geraldo Perdomo | batter / SS | better | predicted_RBI 2.7 |
| ARI | Lars Nootbaar | batter / LF | worse | predicted_AB 1.805 |
| ARI | Gabriel Moreno | batter / C | worse | predicted_AB -1.73 |
| MIA | Agustín Ramírez | batter / C | better | predicted_RBI 1.644 |
| MIA | Heriberto Hernández | batter / LF | worse | predicted_AB -1.55 |
| MIA | Deyvison De Los Santos | batter / 1B | deboosted | predicted_AB 1.5 |
| MIA | Otto Lopez | batter / SS | worse | predicted_H -1.46 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | ARI pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | ARI |
| info | CURRENT_PITCHER_DUPLICATION | MIA pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | MIA |
| info | CURRENT_FINALIZED_MATCH_BOX | ARI model-prediction batting totals differ from final simulation box score (AB: current=33, sim=31; H: current=8, sim=7; 2B: current=2, sim=1; 3B: current=0, sim=1; RBI: current=4, sim=6; R: current=4, sim=6; BB: current=3, sim=5; SO: current=5, sim=8). | ARI |
| info | CURRENT_PLAYER_MATCH_BOX | ARI current finalized hitter lines are model predictions and differ from the simulation box score: Lars Nootbaar: AB current=4 box=5, H current=1 box=0, BB current=1 box=0; Corbin Carroll: 2B current=1 box=0, RBI current=1 box=2, BB current=1 box=0, SO current=1 box=2; Geraldo Perdomo: H current=1 box=2, 2B current=0 box=1, 3B current=0 box=1, RBI current=0 box=3; Jesús Sánchez: R current=0 box=1, BB current=0 box=1, SO current=0 box=1; Gabriel Moreno: AB current=4 box=3, H current=1 box=2, 2B current=1 box=0, RBI current=1 box=0; Ketel Marte: AB current=4 box=2, HR current=0 box=1, BB current=0 box=2, SO current=0 box=1; Pavin Smith: AB current=3 box=2, R current=0 box=1, BB current=0 box=1, SO current=1 box=0; Nolan Arenado: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0 | ARI |
| info | CURRENT_FINALIZED_MATCH_BOX | MIA model-prediction batting totals differ from final simulation box score (AB: current=33, sim=32; H: current=8, sim=5; 2B: current=2, sim=0; 3B: current=0, sim=2; HR: current=1, sim=0; R: current=5, sim=4; BB: current=3, sim=4; SO: current=7, sim=6). | MIA |
| info | CURRENT_PLAYER_MATCH_BOX | MIA current finalized hitter lines are model predictions and differ from the simulation box score: Kyle Stowers: 2B current=1 box=0, 3B current=0 box=1, R current=0 box=1, BB current=1 box=0; Javier Sanoja: H current=1 box=2, 2B current=1 box=0, 3B current=0 box=1, RBI current=1 box=0; Griffin Conine: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Agustín Ramírez: AB current=3 box=4, RBI current=0 box=2, R current=0 box=1, SO current=1 box=0; Heriberto Hernández: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Deyvison De Los Santos: AB current=3 box=4, H current=0 box=1, SO current=1 box=0; Jakob Marsee: AB current=4 box=3, H current=1 box=0, RBI current=0 box=1; Otto Lopez: H current=1 box=0, R current=1 box=0, SO current=0 box=2 | 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 |
|---|---|---|---|---|
| MIL | Jacob Misiorowski | 2 ER / 18 outs | 0 ER / 15 outs | -2 |
| PIT | Lake Bachar | 2 ER / 15 outs | 1 ER / 6 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: Jacob Misiorowski (MIL) posted 0.00 ERA vs projected 3.00 (0 ER in 15 outs); he is materially worse pitching away (2.39 ERA there vs 1.61 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
Jacob Misiorowski (MIL) threw 15 outs, 0 ER = 0 ERA against a projected 3 ERA (-3 ERA error)
Bullpen behind him: 0 ER over 9 outs.
The HOME lineup he faced produced 1 runs on 9 hits and 1 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
Lake Bachar (PIT) threw 6 outs, 1 ER = 4.5 ERA against a projected 3.6 ERA (0.9 ERA error)
Bullpen behind him: 4 ER over 3 outs.
The AWAY lineup he faced produced 5 runs on 8 hits and 0 HR, against a projected 6 runs / 8 hits (-1 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| MIL | Jacob Misiorowski (Starter) | 15 / 18 | 0 / 3 (-3.00) | 0 / 2 | 5 / 5 | 0 / 0 | 1 / 4 | 2.14 | 7 / 7 | 7.4 | venue away: 2.39 vs 1.61 ERA (worse here) · opp run factor 0.98 (average) · 27 prior appearances this season |
| MIL | Aaron Ashby (Middle Reliever (High Leverage)) | 6 / 3 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 0 | 0.55 | 2 / 0 | 1.3 | |
| MIL | Trevor Megill (Closer) | 3 / 3 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 0 | 0 / 0 | 0.29 | 0 / 1 | 1.23 | |
| PIT | Lake Bachar (Starter) | 6 / 15 | 4.5 / 3.6 | 1 / 2 | 3 / 4 | 0 / 0 | 2 / 4 | 2.45 | 1 / 4 | 4.75 | venue home: 0.93 vs 2.53 ERA (ok) · opp run factor 1 (strong) · 48 prior appearances this season |
| PIT | Gregory Soto (Middle Reliever (High Leverage)) | 1 / 3 | 108 / 0 (+108.00) | 4 / 0 | 2 / 1 | 0 / 0 | 2 / 0 | 0.44 | 1 / 1 | 1.19 | |
| PIT | Yohan Ramírez (Middle Reliever (High Leverage)) | 2 / 3 | 0 / 18 (-18.00) | 0 / 2 | 0 / 2 | 0 / 1 | 0 / 0 | 0.5 | 1 / 1 | 1.12 |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Rafael Flores Jr. (C) | PIT | 4 / 4 | 4 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1.41 | 0.335 above average | projection too low |
| Jackson Chourio (LF) | MIL | 5 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | -1.4 | 0.342 elite | bad day |
| Joey Ortiz (SS) | MIL | 4 / 3 | 3 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1.25 | 0.3 below average | good day |
| Bryan Reynolds (RF) | PIT | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 2 / 1 | -1.11 | 0.359 elite | bad day |
| Oneil Cruz (CF) | PIT | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 4 / 2 | -0.8 | 0.358 elite | bad day |
| Nick Gonzales (3B) | PIT | 3 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0.8 | 0.326 above average | projection too low |
| Christian Yelich (DH) | MIL | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 1 / 1 | -0.47 | 0.312 average | — |
| David Hamilton (3B) | MIL | 4 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0.47 | 0.274 weak | — |
| Jake Bauers (1B) | MIL | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 2 / 1 | -0.33 | 0.38 elite | — |
| Ryan O'Hearn (DH) | PIT | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 0 | 1 / 1 | 0.33 | 0.315 average | — |
| Spencer Horwitz (1B) | PIT | 2 / 4 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | -0.33 | 0.311 average | — |
| William Contreras (C) | MIL | 5 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 0 | 0 / 1 | 0.31 | 0.336 above average | — |
| Luis Lara (RF) | MIL | 3 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 0.31 | 0.301 below average | — |
| Konnor Griffin (SS) | PIT | 5 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | -0.31 | 0.303 below average | — |
| Brice Turang (2B) | MIL | 1 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 4 / 1 | 1 / 1 | 0.21 | 0.345 elite | — |
| Garrett Mitchell (CF) | MIL | 3 / 4 | 1 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 1 / 1 | 0 | 0.356 elite | — |
| Jake Mangum (LF) | PIT | 4 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.287 below average | — |
| Brandon Lowe (2B) | PIT | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 1 / 1 | 0 / 0 | 2 / 2 | 0 | 0.321 above average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.97 | positive favors home; negative favors away |
| Recent form | -0.414 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.026 | positive favors home; negative favors away |
| Composite | -1.235 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.92-3.48 | n/a | Base ML historical model prediction |
| variance_applied | 5-3 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-3 | 0.56 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 5-2 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 5-2 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 5-2 | n/a | Capped at max 12 realistic runs |
| simulation_result | 5-2 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.92-3.48 | 5-3 | 0.553 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-3 | 5-3 | -0 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 5-3 | 5-2 | 1 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 5-2 | 5-2 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 5-2 | 5-2 | -0 | Capped at max 12 realistic runs |
| simulation_result | 5-2 | 5-2 | -0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| MIL | Jacob Misiorowski | pitcher / Starter | better | predicted_SO 4 |
| MIL | Aaron Ashby | pitcher / Middle Reliever (High Leverage) | worse | predicted_SO -2 |
| MIL | Abner Uribe | pitcher / Setup Man | worse | predicted_SO -2 |
| MIL | Luis Lara | batter / RF | better | predicted_2B 1.87 |
| MIL | Garrett Mitchell | batter / CF | worse | predicted_AB 1.714 |
| MIL | William Contreras | batter / C | worse | predicted_RBI -1.7 |
| PIT | Spencer Horwitz | batter / 1B | better | predicted_RBI 1.59 |
| MIL | Jake Bauers | batter / 1B | worse | predicted_AB -1.49 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| 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_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 | MIL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=35; 2B: current=2, sim=3; HR: current=1, sim=2; R: current=6, sim=5; SO: current=9, sim=7; HBP: current=0, sim=1). | MIL |
| info | CURRENT_PLAYER_MATCH_BOX | MIL current finalized hitter lines are model predictions and differ from the simulation box score: William Contreras: AB current=4 box=5, 2B current=0 box=1, RBI current=1 box=0, R current=1 box=0; Garrett Mitchell: AB current=4 box=5, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Brice Turang: 2B current=1 box=0, HR current=0 box=1; Luis Lara: H current=1 box=2, 2B current=0 box=2, RBI current=0 box=2, R current=0 box=1; Jackson Chourio: AB current=4 box=5; Jake Bauers: AB current=3 box=2, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Christian Yelich: AB current=4 box=3; David Hamilton: BB current=0 box=1 | MIL |
| info | CURRENT_FINALIZED_MATCH_BOX | PIT model-prediction batting totals differ from final simulation box score (AB: current=35, sim=32; H: current=7, sim=5; 2B: current=2, sim=1; HR: current=1, sim=0; RBI: current=5, sim=2; R: current=4, sim=2; BB: current=3, sim=4; SO: current=11, sim=8). | PIT |
| info | CURRENT_PLAYER_MATCH_BOX | PIT current finalized hitter lines are model predictions and differ from the simulation box score: Bryan Reynolds: H current=1 box=0, 2B current=1 box=0, R current=1 box=0, BB current=1 box=0; Konnor Griffin: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Ryan O'Hearn: H current=1 box=0, RBI current=1 box=0; Oneil Cruz: AB current=4 box=3, RBI current=1 box=0, SO current=2 box=1; Jake Mangum: H current=0 box=1, BB current=0 box=1; Brandon Lowe: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Rafael Flores Jr.: AB current=4 box=3, RBI current=1 box=0, BB current=0 box=1, SO current=1 box=0; Spencer Horwitz: H current=0 box=1, 2B current=0 box=1, RBI current=0 box=2, R current=0 box=1 | PIT |
| 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 | Max Fried | 1 ER / 18 outs | 1 ER / 21 outs | 0 |
| MIN | Bailey Ober | 4 ER / 15 outs | 3 ER / 16 outs | -1 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Max Fried (NYY) threw 21 outs, 1 ER = 1.29 ERA against a projected 1.5 ERA (-0.21 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The HOME lineup he faced produced 1 runs on 7 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
Bailey Ober (MIN) threw 16 outs, 3 ER = 5.06 ERA against a projected 7.2 ERA (-2.14 ERA error)
Bullpen behind him: 1 ER over 6 outs.
The AWAY lineup he faced produced 8 runs on 14 hits and 2 HR, against a projected 4 runs / 8 hits (4 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| NYY | Max Fried (Starter) | 21 / 18 | 1.29 / 1.5 | 1 / 1 | 6 / 1 | 0 / 0 | 0 / 3 | 1.59 | 6 / 6 | 5.91 | venue away: 2.47 vs 3.66 ERA (ok) · opp run factor 0.99 (average) · 18 prior appearances this season |
| MIN | Bailey Ober (Starter) | 16 / 15 | 5.06 / 7.2 | 3 / 4 | 9 / 5 | 1 / 1 | 2 / 2 | 1.8 | 3 / 6 | 3.74 | venue home: 3.16 vs 5.84 ERA (ok) · opp run factor 1.04 (strong) · 22 prior appearances this season |
| MIN | Andrew Morris (Middle Reliever (High Leverage)) | 3 / 3 | 9 / 18 (-9.00) | 1 / 2 | 1 / 3 | 0 / 0 | 1 / 0 | 0.37 | 0 / 0 | 0.87 | |
| MIN | Yoendrys Gómez (Closer) | 3 / 3 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 1 | 0.67 | 2 / 1 | 0.88 |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Cody Bellinger (LF) | NYY | 4 / 4 | 3 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | 2 / 1 | 1 / 1 | 1 / 1 | 1 / 0 | 1.56 | 0.338 above average | projection too low |
| Ben Rice (DH) | NYY | 6 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 2 / 1 | 0 / 1 | 1 / 1 | -1.26 | 0.377 elite | bad day |
| Heliot Ramos (RF) | NYY | 4 / 3 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 1 / 0 | 1 / 1 | 1.11 | 0.327 above average | projection too low |
| Anthony Volpe (2B) | NYY | 4 / 3 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 1.11 | 0.29 below average | good day |
| Josh Bell (DH) | MIN | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | -1.11 | 0.335 above average | bad day |
| George Lombard Jr. (SS) | NYY | 4 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | 0 / 1 | 0.8 | 0.267 weak | good day |
| Emmanuel Rodriguez (CF) | MIN | 3 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0.78 | 0.501 elite | projection too low |
| Spencer Jones (CF) | NYY | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 3 / 1 | 1 / 0 | 0 / 1 | 0 / 1 | 0.6 | 0.333 above average | projection too low |
| Ali Sánchez (C) | NYY | 5 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0.47 | 0.25 weak | — |
| Kaelen Culpepper (SS) | MIN | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | -0.47 | 0.304 average | — |
| Brooks Lee (3B) | MIN | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.275 weak | — |
| Austin Martin (LF) | MIN | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | -0.33 | 0.311 average | — |
| Luis García Jr. (1B) | NYY | 5 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 0 | 1 / 0 | -0.31 | 0.352 elite | — |
| Kody Clemens (2B) | MIN | 4 / 4 | 1 / 1 | 0 / 0 | 1 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 1 | -0.31 | 0.337 above average | — |
| Luke Keaschall (RF) | MIN | 4 / 4 | 3 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 0.3 | 0.316 average | — |
| José Caballero (3B) | NYY | 5 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | 0 | 0.281 weak | — |
| Royce Lewis (1B) | MIN | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 0 | 0.312 average | — |
| Victor Caratini (C) | MIN | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0 | 0.317 average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -1.318 | positive favors home; negative favors away |
| Recent form | -1.012 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.046 | positive favors home; negative favors away |
| Composite | -1.619 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.96-3.02 | n/a | Base ML historical model prediction |
| variance_applied | 5-3 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-3 | 0.57 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 6-3 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 6-3 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 6-3 | n/a | Capped at max 12 realistic runs |
| simulation_result | 6-3 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.96-3.02 | 5-3 | 0.062 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-3 | 5-3 | -0 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 5-3 | 6-3 | 1 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 6-3 | 6-3 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 6-3 | 6-3 | -0 | Capped at max 12 realistic runs |
| simulation_result | 6-3 | 6-3 | -0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| NYY | José Caballero | batter / 3B | better | predicted_RBI 2.581 |
| MIN | Kody Clemens | batter / 2B | worse | predicted_SO 2.083 |
| NYY | Heliot Ramos | batter / RF | better | predicted_2B 1.838 |
| MIN | Emmanuel Rodriguez | batter / CF | worse | predicted_AB -1.62 |
| NYY | Ali Sánchez | batter / C | worse | predicted_AB 1.5 |
| NYY | Spencer Jones | batter / CF | worse | predicted_AB 1.43 |
| MIN | Luke Keaschall | batter / RF | worse | predicted_SO 1.414 |
| NYY | Cody Bellinger | batter / LF | better | predicted_SO 1.367 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | MIN pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | MIN |
| info | CURRENT_PITCHER_DUPLICATION | NYY pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | NYY |
| info | CURRENT_FINALIZED_MATCH_BOX | MIN model-prediction batting totals differ from final simulation box score (AB: current=34, sim=30; H: current=7, sim=3; 2B: current=2, sim=1; HR: current=1, sim=0; RBI: current=4, sim=3; R: current=4, sim=3; SO: current=7, sim=11; HBP: current=0, sim=1). | MIN |
| info | CURRENT_PLAYER_MATCH_BOX | MIN current finalized hitter lines are model predictions and differ from the simulation box score: Luke Keaschall: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, R current=1 box=0; Kaelen Culpepper: AB current=4 box=3, H current=1 box=0, R current=1 box=0, HBP current=0 box=1; Royce Lewis: RBI current=0 box=1, R current=0 box=1; Josh Bell: RBI current=1 box=2, BB current=1 box=0, SO current=1 box=0; Kody Clemens: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Austin Martin: BB current=1 box=0; Brooks Lee: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, BB current=0 box=1; Victor Caratini: AB current=3 box=4, H current=0 box=1, R current=0 box=1, SO current=1 box=0 | MIN |
| info | CURRENT_FINALIZED_MATCH_BOX | NYY model-prediction batting totals differ from final simulation box score (AB: current=31, sim=36; H: current=8, sim=9; 2B: current=2, sim=3; RBI: current=4, sim=6; R: current=4, sim=6; BB: current=3, sim=4; SO: current=7, sim=8; HBP: current=0, sim=1). | NYY |
| info | CURRENT_PLAYER_MATCH_BOX | NYY current finalized hitter lines are model predictions and differ from the simulation box score: Heliot Ramos: AB current=3 box=4, H current=1 box=2, 2B current=0 box=2, RBI current=0 box=1; Luis García Jr.: AB current=4 box=5, 2B current=1 box=0, SO current=0 box=1; Spencer Jones: AB current=4 box=5, H current=1 box=0, RBI current=1 box=0, BB current=1 box=0; Cody Bellinger: SO current=0 box=2; Anthony Volpe: R current=0 box=1, BB current=0 box=1; José Caballero: HR current=0 box=1, RBI current=0 box=3, BB current=0 box=1; Ben Rice: AB current=4 box=5, H current=1 box=2, HR current=1 box=0, RBI current=1 box=0; George Lombard Jr.: H current=1 box=0, BB current=0 box=1 | NYY |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| OAK | Jack Perkins | 4 ER / 12 outs | 0 ER / 20 outs | -4 |
| TB | Griffin Jax | 4 ER / 15 outs | 0 ER / 15 outs | -4 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Starter miss: Jack Perkins (OAK) posted 0.00 ERA vs projected 9.00 (0 ER in 20 outs); he is materially worse pitching away (8.10 ERA there vs 7.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
Jack Perkins (OAK) threw 20 outs, 0 ER = 0 ERA against a projected 9 ERA (-9 ERA error)
Bullpen behind him: 0 ER over 3 outs.
The HOME lineup he faced produced 2 runs on 6 hits and 1 HR, against a projected 4 runs / 8 hits (-2 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
HOME pitching
Griffin Jax (TB) threw 15 outs, 0 ER = 0 ERA against a projected 7.2 ERA (-7.2 ERA error)
Bullpen behind him: 0 ER over 10 outs.
The AWAY lineup he faced produced 1 runs on 4 hits and 0 HR, against a projected 4 runs / 8 hits (-3 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| OAK | Jack Perkins (Starter) | 20 / 12 | 0 / 9 (-9.00) | 0 / 4 | 4 / 5 | 0 / 2 | 1 / 1 | 2.37 | 8 / 2 | 4.23 | venue away: 8.1 vs 7.42 ERA (worse here) · opp run factor 1.06 (average) · 34 prior appearances this season |
| OAK | Hogan Harris (Reliever) | 3 / 3 | 0 / 18 (-18.00) | 0 / 2 | 1 / 3 | 0 / 1 | 0 / 0 | n/a | 1 / 0 | n/a | |
| TB | Griffin Jax (Starter) | 15 / 15 | 0 / 7.2 (-7.20) | 0 / 4 | 2 / 5 | 0 / 1 | 0 / 2 | 1.3 | 7 / 4 | 4.01 | venue home: 3.99 vs 3.14 ERA (worse here) · opp run factor 0.93 (weak) · 31 prior appearances this season |
| TB | Bryan Baker (Closer) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0.33 | 0 / 2 | 0.77 | |
| TB | Kevin Kelly (Setup Man) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0.13 | 3 / 1 | 0.62 | |
| TB | Cam Booser (Middle Reliever (High Leverage)) | 4 / 2 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0.14 | 1 / 1 | 0.84 |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chandler Simpson (LF) | TB | 3 / 4 | 3 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 0 | 1.25 | 0.264 weak | good day |
| Donovan Walton (2B) | OAK | 2 / 3 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | -1.11 | 0.336 above average | bad day |
| Shea Langeliers (DH) | OAK | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | -0.93 | 0.364 elite | bad day |
| Lawrence Butler (RF) | OAK | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 2 / 1 | -0.8 | 0.325 above average | bad day |
| Richie Palacios (2B) | TB | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | -0.8 | 0.309 average | no signal |
| Alika Williams (SS) | OAK | 3 / 3 | 1 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0.78 | 0.243 weak | good day |
| Yandy Díaz (DH) | TB | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | -0.78 | 0.35 elite | bad day |
| Carlos Cortes (LF) | OAK | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.305 average | — |
| Jonah Heim (C) | OAK | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.29 below average | — |
| Zack Gelof (3B) | OAK | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | -0.47 | 0.313 average | — |
| Cedric Mullins (CF) | TB | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.266 weak | — |
| Henry Bolte (CF) | OAK | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 3 / 1 | -0.33 | 0.317 average | — |
| Junior Caminero (3B) | TB | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 1 / 1 | 0 / 1 | 2 / 1 | -0.33 | 0.362 elite | — |
| Jonathan Aranda (1B) | TB | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 2 / 1 | -0.33 | 0.348 elite | — |
| Jeff McNeil (1B) | OAK | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | -0.31 | 0.305 average | — |
| Liam Hicks (C) | TB | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 0 | 1 / 0 | -0.14 | 0.317 average | — |
| Jorge Mateo (SS) | TB | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0 | 0.29 below average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 1.499 | positive favors home; negative favors away |
| Recent form | 0.71 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.129 | positive favors home; negative favors away |
| Composite | 2.005 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 3.9-5.74 | n/a | Base ML historical model prediction |
| variance_applied | 4-6 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-8 | 0.667 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 4-8 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-8 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-8 | n/a | Capped at max 12 realistic runs |
| simulation_result | 4-8 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 3.9-5.74 | 4-6 | 0.159 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-6 | 4-8 | 2 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 4-8 | 4-8 | 0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-8 | 4-8 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-8 | 4-8 | 0 | Capped at max 12 realistic runs |
| simulation_result | 4-8 | 4-8 | 0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| OAK | Jack Perkins | pitcher / Starter | worse | predicted_IP -4 |
| OAK | Hogan Harris | pitcher / Reliever | worse | predicted_H 3 |
| OAK | Seth Johnson | pitcher / Reliever | better | predicted_H 2 |
| OAK | Donovan Walton | batter / 2B | better | predicted_RBI 1.53 |
| OAK | Carlos Cortes | batter / LF | worse | predicted_SO 1.477 |
| OAK | Zack Gelof | batter / 3B | worse | predicted_RBI 1.41 |
| TB | Liam Hicks | batter / C | better | predicted_RBI 1.35 |
| TB | Jorge Mateo | batter / SS | worse | predicted_AB 1.333 |
| 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 | TB pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | TB |
| info | CURRENT_FINALIZED_MATCH_BOX | OAK model pitcher projections differ from final simulation pitching box score (ER: current=7, sim=8). | OAK |
| info | CURRENT_FINALIZED_MATCH_BOX | OAK model-prediction batting totals differ from final simulation box score (AB: current=32, sim=33; H: current=8, sim=6; BB: current=3, sim=2; SO: current=8, sim=9). | OAK |
| info | CURRENT_PLAYER_MATCH_BOX | OAK current finalized hitter lines are model predictions and differ from the simulation box score: Henry Bolte: H current=1 box=0, R current=1 box=0, BB current=1 box=0, SO current=1 box=2; Jeff McNeil: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, SO current=0 box=1; Shea Langeliers: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Carlos Cortes: AB current=3 box=4, 2B current=0 box=1, SO current=1 box=2; Jonah Heim: AB current=3 box=4, H current=1 box=0; Alika Williams: AB current=3 box=2, H current=0 box=1, R current=0 box=1, BB current=0 box=1; Donovan Walton: AB current=3 box=4, 2B current=1 box=0, HR current=0 box=1, RBI current=0 box=2; Zack Gelof: H current=1 box=2, 2B current=0 box=1, RBI current=1 box=2, SO current=1 box=0 | OAK |
| info | CURRENT_FINALIZED_MATCH_BOX | TB model-prediction batting totals differ from final simulation box score (AB: current=32, sim=35; H: current=9, sim=11; 2B: current=1, sim=2; HR: current=1, sim=4; RBI: current=4, sim=8; R: current=5, sim=8; BB: current=3, sim=1; SO: current=7, sim=3). | TB |
| info | CURRENT_PLAYER_MATCH_BOX | TB current finalized hitter lines are model predictions and differ from the simulation box score: Junior Caminero: BB current=1 box=0; Yandy Díaz: H current=1 box=2, HR current=0 box=1, RBI current=1 box=2, SO current=1 box=0; Liam Hicks: AB current=3 box=4, H current=1 box=2, HR current=0 box=1, RBI current=1 box=2; Jonathan Aranda: BB current=1 box=0, SO current=1 box=0; Victor Mesa Jr.: AB current=4 box=3, H current=1 box=2, HR current=0 box=1, RBI current=0 box=2; Chandler Simpson: H current=1 box=2; Jorge Mateo: AB current=3 box=4, 2B current=0 box=1, R current=0 box=1, SO current=1 box=2; Richie Palacios: AB current=3 box=4, H current=1 box=0, R current=0 box=1, BB current=1 box=0 | TB |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| PHI | Cristopher Sánchez | 1 ER / 19 outs | 5 ER / 19 outs | 4 |
| WAS | Jackson Kent | 3 ER / 13 outs | 3 ER / 15 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: Cristopher Sánchez (PHI) posted 7.11 ERA vs projected 1.42 (5 ER in 19 outs); he is materially worse pitching away (3.68 ERA there vs 2.21 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
Cristopher Sánchez (PHI) threw 19 outs, 5 ER = 7.11 ERA against a projected 1.42 ERA (5.69 ERA error)
Bullpen behind him: 1 ER over 2 outs.
The HOME lineup he faced produced 5 runs on 8 hits and 1 HR, against a projected 5 runs / 8 hits (0 runs vs projection).
Who did the damage to him:
Verdict: both: the starter was hit hard AND the lineup underproduced
HOME pitching
Jackson Kent (WAS) threw 15 outs, 3 ER = 5.4 ERA against a projected 6.23 ERA (-0.83 ERA error) only 6 prior appearances in the covered season - the projection had little of his own record to stand on
Bullpen behind him: 0 ER over 4 outs.
The AWAY lineup he faced produced 3 runs on 5 hits and 1 HR, against a projected 5 runs / 9 hits (-2 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| PHI | Cristopher Sánchez (Starter) | 19 / 19 | 7.11 / 1.42 (+5.69) | 5 / 1 | 8 / 3 | 1 / 0 | 2 / 2 | 1.4 | 5 / 6 | 5.95 | venue away: 3.68 vs 2.21 ERA (worse here) · opp run factor 1.11 (strong) · 30 prior appearances this season |
| PHI | Jonathan Bowlan (Setup Man) | 2 / 3 | 13.5 / 0 (+13.50) | 1 / 0 | 1 / 0 | 1 / 0 | 0 / 0 | 0.19 | 2 / 1 | 1.2 | |
| WAS | Jackson Kent (Starter) | 15 / 13 | 5.4 / 6.23 | 3 / 3 | 4 / 5 | 1 / 0 | 3 / 3 | 3.3 | 4 / 4 | 3.62 | venue home: 3.27 vs 8.82 ERA (ok) · opp run factor 1.02 (average) · 6 prior appearances this season |
| WAS | Brad Lord (Setup Man) | 1 / 4 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0.78 | 0 / 1 | 1.66 | |
| WAS | Erik Tolman (Closer) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0.51 | 0 / 0 | 1.1 |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Luis Arraez (2B) | PHI | 3 / 4 | 2 / 1 | 2 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1.42 | 0.303 below average | good day |
| Bryce Harper (RF) | PHI | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -0.8 | 0.389 elite | bad day |
| Bryson Stott (3B) | PHI | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -0.8 | 0.327 above average | bad day |
| Dylan Crews (RF) | WAS | 3 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 1 | -0.78 | 0.312 average | no signal |
| Trea Turner (SS) | PHI | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0 / 1 | -0.64 | 0.291 below average | projection too high |
| Brady House (3B) | WAS | 3 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 1 / 0 | 1 / 1 | 0.64 | 0.338 above average | projection too low |
| Bryan De La Cruz (LF) | PHI | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.275 weak | — |
| J.T. Realmuto (C) | PHI | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | -0.47 | 0.323 above average | — |
| Derek Hill (CF) | PHI | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.292 below average | — |
| Jacob Young (CF) | WAS | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | -0.47 | 0.314 average | — |
| Andrew Pinckney (LF) | WAS | 3 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 2 / 1 | 0.47 | 0.326 above average | — |
| Andrés Chaparro (DH) | WAS | 3 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | 0.45 | 0.337 above average | — |
| Harry Ford (C) | WAS | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 1 / 1 | -0.33 | 0.289 below average | — |
| Yohandy Morales (1B) | WAS | 3 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 0 / 0 | 1 / 1 | 0.31 | 0.332 above average | — |
| Alec Bohm (1B) | PHI | 3 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 1 / 0 | 0 / 0 | 0.02 | 0.324 above average | — |
| Kyle Schwarber (DH) | PHI | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 2 / 1 | 1 / 1 | 0 / 1 | 0 | 0.365 elite | — |
| Jorbit Vivas (2B) | WAS | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0 | 0.295 below average | — |
| Nasim Nuñez (SS) | WAS | 1 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0 | 0.268 weak | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.317 | positive favors home; negative favors away |
| Recent form | -0.518 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.098 | positive favors home; negative favors away |
| Composite | -0.268 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 5.9-3.5 | n/a | Base ML historical model prediction |
| variance_applied | 6-3 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 6-5 | 0.533 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 6-5 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 6-5 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 6-5 | n/a | Capped at max 12 realistic runs |
| simulation_result | 6-5 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 5.9-3.5 | 6-3 | 0.591 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 6-3 | 6-5 | -2 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 6-5 | 6-5 | -0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 6-5 | 6-5 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 6-5 | 6-5 | -0 | Capped at max 12 realistic runs |
| simulation_result | 6-5 | 6-5 | -0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| WAS | Yohandy Morales | batter / 1B | worse | predicted_SO 3.111 |
| WAS | Nasim Nuñez | batter / SS | better | predicted_RBI 2.722 |
| PHI | Bryan De La Cruz | batter / LF | boosted | predicted_RBI 2.516 |
| PHI | Bryce Harper | batter / RF | worse | predicted_BB 2.311 |
| WAS | Jackson Kent | pitcher / Starter | worse | predicted_H 2 |
| WAS | Luis Perales | pitcher / Middle Reliever (High Leverage) | better | predicted_H -2 |
| PHI | Kyle Schwarber | batter / DH | better | predicted_2B 1.88 |
| PHI | Trea Turner | batter / SS | better | predicted_H 1.77 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| 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_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 | PHI model-prediction batting totals differ from final simulation box score (AB: current=32, sim=35; H: current=9, sim=8; HR: current=1, sim=2; RBI: current=5, sim=6; R: current=5, sim=6; BB: current=4, sim=5; SO: current=7, sim=8). | PHI |
| info | CURRENT_PLAYER_MATCH_BOX | PHI current finalized hitter lines are model predictions and differ from the simulation box score: Bryce Harper: AB current=4 box=2, H current=1 box=0, RBI current=1 box=0, BB current=1 box=3; Alec Bohm: 2B current=1 box=0, R current=0 box=1, SO current=0 box=2; Bryan De La Cruz: AB current=3 box=4, HR current=0 box=1, RBI current=0 box=3, R current=0 box=1; Bryson Stott: AB current=3 box=4, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Luis Arraez: RBI current=0 box=1, R current=0 box=1, BB current=0 box=1; Trea Turner: AB current=4 box=5, H current=1 box=3, 2B current=1 box=0, HR current=0 box=1; Kyle Schwarber: H current=1 box=2, 2B current=0 box=2, HR current=1 box=0, RBI current=1 box=0; J.T. Realmuto: AB current=3 box=4, H current=1 box=0, R current=1 box=0 | PHI |
| info | CURRENT_FINALIZED_MATCH_BOX | WAS model-prediction batting totals differ from final simulation box score (AB: current=31, sim=34; H: current=8, sim=7; 2B: current=1, sim=2; RBI: current=4, sim=5; SO: current=8, sim=9). | WAS |
| info | CURRENT_PLAYER_MATCH_BOX | WAS current finalized hitter lines are model predictions and differ from the simulation box score: Andrés Chaparro: AB current=4 box=3, HR current=1 box=0, SO current=1 box=2; Yohandy Morales: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=1 box=4; Jorbit Vivas: AB current=3 box=4, H current=1 box=2, 2B current=0 box=1, R current=0 box=1; Dylan Crews: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Brady House: H current=1 box=0, RBI current=1 box=0; Nasim Nuñez: AB current=3 box=4, HR current=0 box=1, RBI current=0 box=3, R current=0 box=1; Jacob Young: AB current=3 box=4, H current=1 box=0; Harry Ford: RBI current=0 box=1 | WAS |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| SD | Walker Buehler | 3 ER / 16 outs | 2 ER / 14 outs | -1 |
| COL | Kyle Freeland | 7 ER / 14 outs | 3 ER / 12 outs | -4 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Starter miss: Kyle Freeland (COL) posted 6.75 ERA vs projected 13.50 (3 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
Walker Buehler (SD) threw 14 outs, 2 ER = 3.86 ERA against a projected 5.06 ERA (-1.2 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The HOME lineup he faced produced 8 runs on 16 hits and 2 HR, against a projected 5 runs / 9 hits (3 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
HOME pitching
Kyle Freeland (COL) threw 12 outs, 3 ER = 6.75 ERA against a projected 13.5 ERA (-6.75 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The AWAY lineup he faced produced 3 runs on 10 hits and 3 HR, against a projected 5 runs / 10 hits (-2 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| SD | Walker Buehler (Starter) | 14 / 16 | 3.86 / 5.06 | 2 / 3 | 7 / 3 | 1 / 0 | 1 / 2 | 1.42 | 1 / 3 | 4.12 | venue away: 5.23 vs 4.11 ERA (worse here) · opp run factor 1.03 (weak) · 29 prior appearances this season |
| COL | Kyle Freeland (Starter) | 12 / 14 | 6.75 / 13.5 (-6.75) | 3 / 7 | 8 / 11 | 3 / 1 | 0 / 2 | 1.42 | 1 / 5 | 3.72 | venue home: 5.75 vs 6.96 ERA (ok) · opp run factor 1.02 (average) · 23 prior appearances this season |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Cole Carrigg (SS) | COL | 5 / 4 | 4 / 1 | 1 / 1 | 0 / 0 | 2 / 0 | 5 / 1 | 2 / 1 | 0 / 1 | 1 / 1 | 2.94 | 0.309 average | no signal |
| Troy Johnston (RF) | COL | 3 / 3 | 3 / 1 | 2 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 1.56 | 0.323 above average | projection too low |
| Austin Hays (DH) | SD | 3 / 4 | 2 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 1.09 | 0.289 below average | good day |
| Luis Campusano (C) | SD | 4 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | 0 / 1 | 0 / 1 | 1.07 | 0.332 above average | projection too low |
| Ty France (1B) | SD | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 2 / 0 | -0.47 | 0.336 above average | — |
| Samad Taylor (LF) | SD | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | -0.47 | 0.303 below average | — |
| Jackson Merrill (CF) | SD | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 1 | -0.46 | 0.347 elite | — |
| Xander Bogaerts (SS) | SD | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 2 / 0 | -0.33 | 0.319 average | — |
| Mickey Moniak (DH) | COL | 4 / 4 | 1 / 1 | 0 / 0 | 1 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 0 / 0 | 1 / 1 | -0.31 | 0.278 weak | — |
| Jake McCarthy (CF) | COL | 5 / 4 | 2 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 0 | 0 / 1 | 0.16 | 0.324 above average | — |
| Fernando Tatis Jr. (RF) | SD | 5 / 4 | 1 / 2 | 0 / 1 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 1 | 0 / 0 | 1 / 1 | 0.15 | 0.377 elite | — |
| TJ Rumfield (1B) | COL | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0.14 | 0.336 above average | — |
| Manny Machado (3B) | SD | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 0 / 1 | 0 | 0.335 above average | — |
| Jake Cronenworth (2B) | SD | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.268 weak | — |
| Adael Amador (2B) | COL | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 0 | 0 / 1 | 0 | 0.285 below average | — |
| Kyle Karros (3B) | COL | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 0 / 1 | 0 | 0.337 above average | — |
| Zac Veen (LF) | COL | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.293 below average | — |
| Brett Sullivan (C) | COL | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 | 0.282 weak | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -1.479 | positive favors home; negative favors away |
| Recent form | -1.546 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.005 | positive favors home; negative favors away |
| Composite | -1.909 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 5.32-4.53 | n/a | Base ML historical model prediction |
| variance_applied | 5-5 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 8-5 | 0.58 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 9-5 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 9-5 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 9-5 | n/a | Capped at max 12 realistic runs |
| simulation_result | 9-5 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 5.32-4.53 | 5-5 | -0.792 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-5 | 8-5 | 3 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 8-5 | 9-5 | 1 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 9-5 | 9-5 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 9-5 | 9-5 | -0 | Capped at max 12 realistic runs |
| simulation_result | 9-5 | 9-5 | -0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| SD | Luis Campusano | batter / C | better | predicted_RBI 2.6 |
| SD | Austin Hays | batter / DH | boosted | predicted_H 2.08 |
| SD | Fernando Tatis Jr. | batter / RF | better | predicted_RBI 1.97 |
| COL | Troy Johnston | batter / RF | worse | predicted_2B 1.75 |
| COL | Zac Veen | batter / LF | better | predicted_BB 1.688 |
| SD | Jackson Merrill | batter / CF | worse | predicted_AB -1.55 |
| COL | Kyle Freeland | pitcher / Starter | worse | predicted_IP -1.467 |
| SD | Jake Cronenworth | batter / 2B | better | predicted_AB 1.45 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | COL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | COL |
| info | CURRENT_PITCHER_DUPLICATION | SD pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | SD |
| info | CURRENT_FINALIZED_MATCH_BOX | COL model pitcher projections differ from final simulation pitching box score (ER: current=8, sim=9). | COL |
| info | CURRENT_FINALIZED_MATCH_BOX | COL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=36; 2B: current=2, sim=5; HR: current=1, sim=0; BB: current=3, sim=4; SO: current=7, sim=6). | COL |
| info | CURRENT_PLAYER_MATCH_BOX | COL current finalized hitter lines are model predictions and differ from the simulation box score: Jake McCarthy: AB current=4 box=5, H current=1 box=2, 2B current=1 box=0, SO current=1 box=0; Cole Carrigg: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Mickey Moniak: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Adael Amador: AB current=4 box=5, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; TJ Rumfield: AB current=4 box=5, H current=1 box=2, 2B current=0 box=1, RBI current=0 box=1; Kyle Karros: 2B current=0 box=1, RBI current=0 box=1, BB current=1 box=0, SO current=1 box=2; Troy Johnston: H current=1 box=2, 2B current=0 box=2, BB current=0 box=1, SO current=1 box=0; Zac Veen: AB current=3 box=2, 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1 | COL |
| info | CURRENT_FINALIZED_MATCH_BOX | SD model-prediction batting totals differ from final simulation box score (AB: current=33, sim=41; H: current=10, sim=14; 2B: current=2, sim=6; RBI: current=5, sim=9; R: current=5, sim=9; BB: current=3, sim=5). | SD |
| info | CURRENT_PLAYER_MATCH_BOX | SD current finalized hitter lines are model predictions and differ from the simulation box score: Austin Hays: AB current=4 box=5, H current=1 box=3, R current=0 box=1; Ty France: H current=1 box=2, 2B current=0 box=1, R current=0 box=1, BB current=0 box=1; Manny Machado: RBI current=1 box=0, SO current=1 box=0; Fernando Tatis Jr.: AB current=4 box=6, H current=2 box=1, RBI current=1 box=3; Luis Campusano: AB current=3 box=5, H current=1 box=2, 2B current=0 box=1, HR current=0 box=1; Xander Bogaerts: SO current=0 box=1; Jackson Merrill: HR current=1 box=0, RBI current=1 box=0, BB current=0 box=1; Samad Taylor: AB current=3 box=4, 2B current=0 box=1, RBI current=0 box=1, BB current=0 box=1 | SD |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| SEA | Logan Gilbert | 1 ER / 17 outs | 2 ER / 18 outs | 1 |
| LAA | Ryan Johnson | 5 ER / 16 outs | 1 ER / 18 outs | -4 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Starter miss: Ryan Johnson (LAA) posted 1.50 ERA vs projected 8.44 (1 ER in 18 outs); he faced a strong offense (opponent run factor 1.10, bucket weak).
What to do: Consider raising context.opponent_strength_weight; validate across the rolling window before promotion.
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Logan Gilbert (SEA) threw 18 outs, 2 ER = 3 ERA against a projected 1.59 ERA (1.41 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The HOME lineup he faced produced 2 runs on 7 hits and 1 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
Ryan Johnson (LAA) threw 18 outs, 1 ER = 1.5 ERA against a projected 8.44 ERA (-6.94 ERA error)
Bullpen behind him: 0 ER over 6 outs.
The AWAY lineup he faced produced 1 runs on 7 hits and 0 HR, against a projected 5 runs / 7 hits (-4 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| SEA | Logan Gilbert (Starter) | 18 / 17 | 3 / 1.59 | 2 / 1 | 6 / 5 | 1 / 0 | 2 / 2 | 2.05 | 7 / 8 | 7.07 | venue away: 2.7 vs 4.41 ERA (ok) · opp run factor 1 (weak) · 29 prior appearances this season |
| LAA | Ryan Johnson (Starter) | 18 / 16 | 1.5 / 8.44 (-6.94) | 1 / 5 | 6 / 7 | 0 / 2 | 0 / 2 | 2.15 | 7 / 6 | 4.16 | venue home: 3.18 vs 5.56 ERA (ok) · opp run factor 1.1 (weak) · 19 prior appearances this season |
| LAA | Ryan Watson (Setup Man) | 3 / 3 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0.2 | 0 / 1 | 0.99 | |
| LAA | Tayler Saucedo (Middle Reliever (High Leverage)) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0.15 | 1 / 1 | 0.78 |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Josh Lowe (RF) | LAA | 3 / 3 | 2 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | 1.87 | 0.286 below average | good day |
| Zach Neto (SS) | LAA | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | 1 / 2 | -1.4 | 0.31 average | no signal |
| J.P. Crawford (SS) | SEA | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | -0.8 | 0.322 above average | bad day |
| Mike Trout (CF) | LAA | 3 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 1 / 1 | -0.78 | 0.378 elite | bad day |
| Dominic Canzone (DH) | SEA | 4 / 4 | 1 / 1 | 0 / 0 | 1 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | -0.64 | 0.351 elite | bad day |
| Randy Arozarena (LF) | SEA | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -0.64 | 0.347 elite | bad day |
| Josh Naylor (1B) | SEA | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0.47 | 0.315 average | — |
| Moisés Ballesteros (DH) | LAA | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0.47 | 0.293 below average | — |
| Denzer Guzman (3B) | LAA | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 3 / 1 | -0.47 | 0.267 weak | — |
| Christian Moore (2B) | LAA | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 2 | -0.47 | 0.236 weak | — |
| Cal Raleigh (C) | SEA | 4 / 4 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 2 / 1 | -0.33 | 0.314 average | — |
| Julio Rodríguez (CF) | SEA | 4 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | 0.31 | 0.336 above average | — |
| Vaughn Grissom (1B) | LAA | 3 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0.31 | 0.308 average | — |
| Wade Meckler (LF) | LAA | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 1 / 1 | 0.14 | 0.316 average | — |
| Brock Rodden (3B) | SEA | 2 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.227 weak | — |
| Cole Young (2B) | SEA | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 0 | 0.315 average | — |
| Lazaro Montes (RF) | SEA | 2 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.365 elite | — |
| Tyler Heineman (C) | LAA | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.241 weak | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.177 | positive favors home; negative favors away |
| Recent form | -0.166 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.098 | positive favors home; negative favors away |
| Composite | -0.534 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.92-2.85 | n/a | Base ML historical model prediction |
| variance_applied | 5-3 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-4 | 0.53 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 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.92-2.85 | 5-3 | -0.067 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-3 | 5-4 | -1 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 5-4 | 5-4 | -0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 5-4 | 5-4 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 5-4 | 5-4 | -0 | Capped at max 12 realistic runs |
| simulation_result | 5-4 | 5-4 | -0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| LAA | Zach Neto | batter / SS | better | predicted_RBI 3.3 |
| LAA | Josh Lowe | batter / RF | worse | predicted_SO 2.062 |
| SEA | Brock Rodden | batter / 3B | better | predicted_RBI 1.8 |
| SEA | Cal Raleigh | batter / C | worse | predicted_AB -1.58 |
| SEA | Julio Rodríguez | batter / CF | worse | predicted_RBI 1.42 |
| LAA | Tyler Heineman | batter / C | worse | predicted_AB 1.311 |
| LAA | Christian Moore | batter / 2B | worse | predicted_SO -1.259 |
| SEA | Dominic Canzone | batter / DH | worse | predicted_H -1.24 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | LAA pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | LAA |
| info | CURRENT_PITCHER_DUPLICATION | SEA pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | SEA |
| info | CURRENT_FINALIZED_MATCH_BOX | LAA model-prediction batting totals differ from final simulation box score (AB: current=33, sim=35; H: current=7, sim=8; 2B: current=1, sim=2; R: current=3, sim=4; BB: current=3, sim=2; SO: current=11, sim=10). | LAA |
| info | CURRENT_PLAYER_MATCH_BOX | LAA current finalized hitter lines are model predictions and differ from the simulation box score: Vaughn Grissom: AB current=4 box=3, 2B current=0 box=1, RBI current=1 box=0, R current=0 box=1; Wade Meckler: AB current=4 box=3, H current=1 box=0, R current=1 box=0; Moisés Ballesteros: H current=1 box=0, RBI current=1 box=0; Josh Lowe: AB current=3 box=4, SO current=1 box=3; Denzer Guzman: R current=0 box=1; Mike Trout: H current=1 box=2, 2B current=1 box=0, RBI current=1 box=0, BB current=1 box=0; Zach Neto: AB current=4 box=5, H current=1 box=2, 2B current=0 box=1, RBI current=1 box=4; Christian Moore: AB current=3 box=4, SO current=2 box=0 | LAA |
| info | CURRENT_FINALIZED_MATCH_BOX | SEA model-prediction batting totals differ from final simulation box score (2B: current=1, sim=2; HR: current=1, sim=2; RBI: current=4, sim=5; BB: current=4, sim=2). | 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, RBI current=1 box=0, R current=1 box=0, SO current=1 box=2; Dominic Canzone: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Randy Arozarena: 2B current=1 box=0, HR current=0 box=1, BB current=1 box=0, SO current=1 box=0; J.P. Crawford: R current=0 box=1, BB current=1 box=0; Julio Rodríguez: HR current=0 box=1, RBI current=0 box=2, SO current=1 box=2; Brock Rodden: AB current=3 box=4, H current=0 box=1, RBI current=0 box=2, R current=0 box=1; Josh Naylor: H current=1 box=2, 2B current=0 box=1, R current=0 box=1; Cole Young: 2B current=0 box=1, R current=1 box=0, SO current=1 box=0 | SEA |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| SF | Blade Tidwell | 4 ER / 15 outs | 2 ER / 20 outs | -2 |
| STL | Andre Pallante | 4 ER / 17 outs | 6 ER / 15 outs | 2 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Starter miss: Blade Tidwell (SF) posted 2.70 ERA vs projected 7.20 (2 ER in 20 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
Blade Tidwell (SF) threw 20 outs, 2 ER = 2.7 ERA against a projected 7.2 ERA (-4.5 ERA error)
Bullpen behind him: 0 ER over 3 outs.
The HOME 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: neither side broke materially - the result is closer to variance
HOME pitching
Andre Pallante (STL) threw 15 outs, 6 ER = 10.8 ERA against a projected 6.35 ERA (4.45 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The AWAY lineup he faced produced 9 runs on 11 hits and 2 HR, against a projected 4 runs / 8 hits (5 runs vs projection).
Who did the damage to him:
Verdict: pitching: the starter gave up runs at a far worse rate than projected
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| SF | Blade Tidwell (Starter) | 20 / 15 | 2.7 / 7.2 (-4.50) | 2 / 4 | 3 / 1 | 1 / 0 | 1 / 5 | 2.74 | 4 / 5 | 4.07 | venue away: 2.3 vs 8.05 ERA (ok) · opp run factor 0.98 (average) · 15 prior appearances this season |
| SF | Dylan Smith (Closer) | 3 / 4 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0.49 | 0 / 1 | 1.14 | |
| STL | Andre Pallante (Starter) | 15 / 17 | 10.8 / 6.35 (+4.45) | 6 / 4 | 8 / 5 | 1 / 2 | 2 / 2 | 1.92 | 2 / 5 | 3.24 | venue home: 4.02 vs 2.75 ERA (worse here) · opp run factor 0.93 (weak) · 26 prior appearances this season |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Turner Hill (LF) | SF | 4 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 3 / 1 | 1 / 0 | 1 / 1 | 0 / 1 | 1.4 | 0.318 average | no signal |
| Jordan Walker (RF) | STL | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | -1.4 | 0.343 elite | bad day |
| Leonardo Bernal (C) | STL | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | -1.11 | 0.405 elite | bad day |
| Christian Koss (SS) | SF | 5 / 3 | 3 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 0.94 | 0.251 weak | good day |
| Iván Herrera (DH) | STL | 2 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -0.8 | 0.332 above average | bad day |
| Bryce Eldridge (1B) | SF | 4 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 1 / 1 | 3 / 1 | 2 / 1 | 1 / 1 | 1 / 1 | 0.78 | 0.354 elite | projection too low |
| Drew Gilbert (CF) | SF | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 0 | 1 / 0 | -0.78 | 0.329 above average | bad day |
| José Fermín (3B) | STL | 2 / 3 | 1 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0.78 | 0.289 below average | good day |
| Osleivis Basabe (3B) | SF | 3 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0.64 | 0.276 weak | good day |
| Grant McCray (RF) | SF | 3 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 0.47 | 0.308 average | — |
| Drew Cavanaugh (C) | SF | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 3 / 1 | -0.47 | 0.317 average | — |
| Alec Burleson (1B) | STL | 3 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 1 | 0 / 1 | 2 / 0 | 0.29 | 0.376 elite | — |
| Bryan Torres (LF) | STL | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | -0.14 | 0.294 below average | — |
| Nathan Church (CF) | STL | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | -0.14 | 0.289 below average | — |
| Jonah Cox (2B) | SF | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 1 | 0 / 0 | 2 / 1 | 0 | 0.261 weak | — |
| Jung Hoo Lee (DH) | SF | 5 / 4 | 1 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 0 | 0 | 0.317 average | — |
| Thomas Saggese (2B) | STL | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.315 average | — |
| Masyn Winn (SS) | STL | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 0 | 0.299 below average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.469 | positive favors home; negative favors away |
| Recent form | 0.041 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.057 | positive favors home; negative favors away |
| Composite | 0.574 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 3.95-4.78 | n/a | Base ML historical model prediction |
| variance_applied | 4-5 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 0.553 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-5 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-5 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-5 | n/a | Capped at max 12 realistic runs |
| simulation_result | 4-5 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 3.95-4.78 | 4-5 | 0.176 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 4-5 | 0 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-5 | 4-5 | 0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-5 | 4-5 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-5 | 4-5 | 0 | Capped at max 12 realistic runs |
| simulation_result | 4-5 | 4-5 | 0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| STL | Iván Herrera | batter / DH | worse | predicted_AB -2.38 |
| STL | Leonardo Bernal | batter / C | better | predicted_AB -2.19 |
| STL | Masyn Winn | batter / SS | worse | predicted_AB -1.615 |
| SF | Bryce Eldridge | batter / 1B | better | predicted_RBI 1.481 |
| STL | Nathan Church | batter / CF | worse | predicted_SO 1.373 |
| SF | Turner Hill | batter / LF | worse | predicted_SO 1.292 |
| SF | Osleivis Basabe | batter / 3B | worse | predicted_SO 1.286 |
| SF | Grant McCray | batter / RF | better | predicted_AB 1.28 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | SF pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | SF |
| info | CURRENT_PITCHER_DUPLICATION | STL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | STL |
| info | CURRENT_FINALIZED_MATCH_BOX | SF model-prediction batting totals differ from final simulation box score (AB: current=32, sim=33; H: current=8, sim=6; 2B: current=2, sim=0; HR: current=1, sim=2; SO: current=7, sim=9). | SF |
| info | CURRENT_PLAYER_MATCH_BOX | SF current finalized hitter lines are model predictions and differ from the simulation box score: Bryce Eldridge: RBI current=1 box=2, BB current=1 box=0, SO current=1 box=2; Jonah Cox: H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Jung Hoo Lee: H current=1 box=2, 2B current=1 box=0, R current=0 box=1; Osleivis Basabe: H current=1 box=0, SO current=1 box=2; Turner Hill: H current=1 box=0, RBI current=1 box=0, SO current=1 box=2; Grant McCray: AB current=3 box=4, H current=0 box=1, HR current=0 box=1, RBI current=0 box=1; Drew Cavanaugh: H current=1 box=0, SO current=1 box=0; Christian Koss: AB current=3 box=4, R current=1 box=0 | SF |
| info | CURRENT_FINALIZED_MATCH_BOX | STL model-prediction batting totals differ from final simulation box score (AB: current=31, sim=27; H: current=8, sim=3; 2B: current=2, sim=1; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=5; SO: current=6, sim=8; 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, SO current=1 box=0; Iván Herrera: AB current=4 box=2, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Thomas Saggese: H current=1 box=0, RBI current=0 box=1, R current=0 box=1, BB current=0 box=1; Leonardo Bernal: AB current=4 box=3, 2B current=1 box=0, HR current=0 box=1, SO current=1 box=0; Jordan Walker: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; José Fermín: H current=0 box=1, 2B current=0 box=1, SO current=0 box=1; Alec Burleson: 2B current=1 box=0, BB current=1 box=0, SO current=0 box=2; Nathan Church: H current=1 box=0, RBI current=0 box=1, R current=0 box=1, SO current=0 box=2 | STL |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Each candidate fix, and exactly which games it would help versus hurt. A lever that repairs one game and breaks two is visible here before it is proposed.
Compared against packet 20260914. Last recorded change: v4.30.0 (2026-09-08) Hitter shrinkage is derived from the between-hitter spread rather than fitted to slate error, so an established extreme profile is no longer flattened toward the league.
| Metric | Prior | Current | Δ | Result |
|---|---|---|---|---|
| brier_score | 0.2411 | 0.2426 | +0.001416 | regressed |
| accuracy | 0.6333 | 0.6 | -0.0333 | regressed |
| team_run_mae | 2.5083 | 2.5542 | +0.0459 | regressed |
| total_run_mae | 3.8167 | 3.7917 | -0.025 | improved |
| calibration_error | 0.1244 | 0.084 | -0.0404 | improved |
| starter_er_mae | 1.7778 | 1.7739 | -0.0039 | improved |
| starter_outs_mae | 3.2644 | 3.2874 | +0.023 | regressed |