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_20260911.json | n/a |
| forensic deep audit | loaded | probability, provenance, starter and decision contracts | /app/output/reports/PREDICTION_SYSTEM_DEEP_AUDIT_20260911.json | n/a |
| continuous learning | loaded | pipeline-stage quality, calibration, probability lineage | /app/output/learning/continuous_learning_daily_20260911.json | n/a |
| game artifacts | loaded | per-game model trace and structural audit source | /app/output/games | n/a |
Deterministic findings across data integrity, model validation, calibration, score distribution, pipeline stages, simulation, and coverage. Critical is reserved for broken evidence or an unexplained contract violation; high marks material model/process risk. Each row pairs the action to take (Do this) with the wrong conclusion to avoid (Don't conclude).
| Severity | Domain | Finding and evidence | Affected | Action & guardrail |
|---|---|---|---|---|
| CRITICAL | probability_lineage | Published probability differs materially without a recorded transformation 3 game(s) have an unexplained ≥2pp calibrated-to-published delta | CHW@STL, COL@DET, LAA@WAS | Do thisBlock any promotion until the missing probability transformation is recorded and reconciled. Don't concludeDo not assume the probability governor was bypassed until you have traced the pick-side math. |
| HIGH | calibration | Published confidence buckets were poorly aligned on this slate weighted absolute calibration error 0.2091 across 15 games | BAL@TOR, CHW@STL, CIN@MIL, CLE@MIN, COL@DET, HOU@TB, KC@BOS, LAA@WAS, LAD@MIA, NYM@NYY, PHI@ATL, PIT@CHC, SD@SF, SEA@OAK, TEX@ARI | Do thisWatch the same confidence buckets over the full rolling window before changing any calibration weight. Don't concludeA single slate has far too few games to establish a stable calibration curve. |
| HIGH | model_validation | Validated run models explain very little holdout variance home/away/total R² = 0.0118/0.0210/0.0207 | BAL@TOR, CHW@STL, CIN@MIL, CLE@MIN, COL@DET, HOU@TB, KC@BOS, LAA@WAS, LAD@MIA, NYM@NYY, PHI@ATL, PIT@CHC, SD@SF, SEA@OAK, TEX@ARI | 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 | BAL@TOR, CHW@STL, CIN@MIL, CLE@MIN, COL@DET, HOU@TB, KC@BOS, LAA@WAS, LAD@MIA, NYM@NYY, PHI@ATL, PIT@CHC, SD@SF, SEA@OAK, TEX@ARI | Do thisKeep the per-game audit receipt in every report. Don't concludeFull audit coverage does not cancel the findings raised inside the audited games. |
| INFO | simulation | Simulation produced no winner-direction intervention on this slate flip candidates 0; published flips 0 | BAL@TOR, CHW@STL, CIN@MIL, CLE@MIN, COL@DET, HOU@TB, KC@BOS, LAA@WAS, LAD@MIA, NYM@NYY, PHI@ATL, PIT@CHC, SD@SF, SEA@OAK, TEX@ARI | 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 | 2/11 | no | param |
| pipeline_winner_instability | 0 | 3/11 | no | code/diagnostic |
| score_margin_compression | 0 | 2/11 | no | param |
| simulation_inert_on_slate | 11 | 11/11 | yes | code/diagnostic |
| single_slate_calibration_instability | 1 | 5/11 | yes | param |
| weak_run_model_signal | 11 | 11/11 | yes | code/diagnostic |
| Metric | Direction | Series (old → new) |
|---|---|---|
| winner_accuracy | improving | [0.4667, 0.3333, 0.5556, 0.625, 0.5333, 0.6, 0.5455, 0.7333, 0.6667, 0.6, 0.6667] |
| weighted_calibration_error | regressing | [0.2476, 0.21, 0.1474, 0.1316, 0.1, 0.0937, 0.2611, 0.1825, 0.1069, 0.1171, 0.2091] |
| margin_bias | regressing | [-2.533, -3.067, -1.778, -0.688, -1.467, -1.467, -0.182, -0.867, -2.133, -1.0, -2.933] |
| team_run_error_on_losses | improving | [7.125, 6.4, 6.75, 6.0, 5.286, 5.333, 3.8, 6.75, 5.6, 6.5, 5.0] |
Every stored stage is scored against the same official finals. A later recovery remains visible; it does not erase an unstable intermediate flip.
| Stage | Winner hits | Accuracy | Team-run MAE | Total-run MAE | Margin MAE |
|---|---|---|---|---|---|
| historical_ml | 9/15 | 60% | 2.405 | 2.875 | 4.118 |
| variance_applied | 8/15 | 53.3% | 2.4 | 2.933 | 4.133 |
| enhanced_prediction | 10/15 | 66.7% | 2.433 | 2.733 | 3.933 |
| embedded_savant_run_environment | 10/15 | 66.7% | 2.4 | 2.533 | 3.867 |
| fundamental_edge_target_review | 10/15 | 66.7% | 2.4 | 2.533 | 3.867 |
| capped_target | 10/15 | 66.7% | 2.4 | 2.533 | 3.867 |
| simulation_result | 10/15 | 66.7% | 2.4 | 2.533 | 3.867 |
| published_final | 10/15 | 66.7% | 2.4 | 2.533 | 3.867 |
| Transition | Δ accuracy | Δ hits | Δ team-run MAE | Δ margin MAE | Games whose winner/tie changed |
|---|---|---|---|---|---|
| historical_ml → variance_applied | -0.0667 | -1 | -0.0049 | 0.0157 | BAL@TOR: BAL → TIE; HOU@TB: HOU → TIE; SEA@OAK: SEA → TIE |
| variance_applied → enhanced_prediction | 0.1334 | 2 | 0.0333 | -0.2 | BAL@TOR: TIE → TOR; CLE@MIN: CLE → MIN; HOU@TB: TIE → TB; NYM@NYY: NYM → NYY; SD@SF: SF → SD; SEA@OAK: TIE → SEA |
| enhanced_prediction → embedded_savant_run_environment | 0 | 0 | -0.0333 | -0.0666 | |
| embedded_savant_run_environment → fundamental_edge_target_review | 0 | 0 | 0 | 0 | |
| fundamental_edge_target_review → capped_target | 0 | 0 | 0 | 0 | |
| capped_target → simulation_result | 0 | 0 | 0 | 0 | |
| simulation_result → published_final | 0 | 0 | 0 | 0 |
All columns are pick-side probabilities, so away favorites are not accidentally compared using home-side semantics.
| Game | Outcome | Raw model | Calibrated | Governor | Score coherence | Published | Explanation |
|---|---|---|---|---|---|---|---|
| BAL@TOR | miss | 0.5071 | 0.508 | 0.508 | 0.508 | 0.505 | published probability matches the calibrated/governed value |
| CHW@STL | hit | 0.6331 | 0.623 | 0.623 | 0.623 | 0.5984 | no recorded transformation explains the publication delta |
| CIN@MIL | hit | 0.609 | 0.6213 | 0.6213 | 0.6016 | 0.54 | score coherence followed by matchup-recency guardrail |
| CLE@MIN | miss | 0.5 | 0.5073 | 0.5073 | 0.5073 | 0.5053 | published probability matches the calibrated/governed value |
| COL@DET | hit | 0.6252 | 0.6071 | 0.6071 | 0.5945 | 0.5412 | no recorded transformation explains the publication delta |
| HOU@TB | hit | 0.5 | 0.508 | 0.508 | 0.508 | 0.505 | published probability matches the calibrated/governed value |
| KC@BOS | miss | 0.655 | 0.6529 | 0.6529 | 0.6529 | 0.6529 | published probability matches the calibrated/governed value |
| LAA@WAS | hit | 0.6202 | 0.6177 | 0.6177 | 0.5998 | 0.5757 | no recorded transformation explains the publication delta |
| LAD@MIA | hit | 0.6625 | 0.6905 | 0.6905 | 0.6755 | 0.58 | score coherence followed by matchup-recency guardrail |
| NYM@NYY | hit | 0.5664 | 0.6162 | 0.6162 | 0.6162 | 0.53 | score coherence followed by matchup-recency guardrail |
| PHI@ATL | hit | 0.563 | 0.5376 | 0.5376 | 0.5376 | 0.5272 | score coherence followed by matchup-recency guardrail |
| PIT@CHC | hit | 0.5901 | 0.5517 | 0.5517 | 0.5517 | 0.53 | score coherence followed by matchup-recency guardrail |
| SD@SF | hit | 0.5 | 0.508 | 0.508 | 0.508 | 0.505 | published probability matches the calibrated/governed value |
| SEA@OAK | miss | 0.5 | 0.508 | 0.508 | 0.508 | 0.5058 | published probability matches the calibrated/governed value |
| TEX@ARI | miss | 0.5798 | 0.58 | 0.58 | 0.58 | 0.568 | 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 | 4 | 9 | 2 | 15 | 0.99 | 0 |
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.
4 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 |
|---|---|---|---|---|---|---|---|
| CLE@MIN | 0.462 | 0.485 | away | 0.505 | home | yes | miss |
| HOU@TB | 0.471 | 0.49 | away | 0.505 | home | yes | hit |
| SD@SF | 0.512 | 0.502 | home | 0.495 | away | yes | hit |
| SEA@OAK | 0.519 | 0.505 | home | 0.494 | away | yes | miss |
Blend side survived on 11 of 15 games; the blend flagged a winner change on 4.
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.16 over 11 slates (sign shared by 0.55 of them, z = 0.32).
starters were hit harder than projected: the run model under-credits opposing offenses.
Hold: no change: this bias is not separable from slate-to-slate noise yet
6 of 11 slates share the sign, mean 0.16 +/- 0.5 standard error: not separable from noise
lineup runs actual minus projected
Mean -0.13 over 11 slates (sign shared by 0.64 of them, z = -0.54).
lineups scored below projection: the run environment is set too high.
Hold: no change: this bias is not separable from slate-to-slate noise yet
7 of 11 slates share the sign, mean -0.13 +/- 0.24 standard error: not separable from noise
| Slate | Games | Winner acc | Mean starter ERA error | Mean lineup runs vs proj | Sides broke on pitching | Sides broke on offense |
|---|---|---|---|---|---|---|
| 20260911 | 15 | 0.667 | — | — | ||
| 20260910 | 5 | 0.600 | -3.19 | -1.70 | 8 | |
| 20260909 | 15 | 0.667 | 3.36 | 1.07 | 8 | 7 |
| 20260908 | 15 | 0.733 | -0.15 | -0.23 | 7 | 15 |
| 20260907 | 11 | 0.545 | -0.86 | -0.36 | 5 | 4 |
| 20260906 | 15 | 0.600 | 0.74 | -0.30 | 6 | 10 |
| 20260905 | 15 | 0.533 | -1.17 | -0.07 | 2 | 6 |
| 20260904 | 16 | 0.625 | -0.23 | -0.44 | 5 | 12 |
| 20260903 | 9 | 0.556 | 0.24 | -0.83 | 4 | 6 |
| 20260902 | 15 | 0.333 | 0.72 | 0.30 | 7 | 6 |
| 20260901 | 15 | 0.467 | 1.48 | 1.07 | 9 | 3 |
| 20260831 | 12 | 0.667 | 0.83 | 0.08 | 2 | 7 |
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 |
|---|---|---|---|
| BAL@TOR | 1 | 3 | -2 |
| CHW@STL | 2 | 4 | -2 |
| CIN@MIL | 2 | 20 | -18 |
| CLE@MIN | 1 | 3 | -2 |
| COL@DET | 1 | 4 | -3 |
| HOU@TB | 2 | 2 | 0 |
| KC@BOS | 2 | 1 | 1 |
| LAA@WAS | 1 | 1 | 0 |
| LAD@MIA | 2 | 4 | -2 |
| NYM@NYY | 2 | 2 | 0 |
| PHI@ATL | 1 | 1 | 0 |
| PIT@CHC | 1 | 10 | -9 |
| SD@SF | 1 | 2 | -1 |
| SEA@OAK | 1 | 1 | 0 |
| TEX@ARI | 2 | 8 | -6 |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| BAL | Chris Bassitt | 4 ER / 15 outs | 2 ER / 15 outs | -2 |
| TOR | Max Scherzer | 3 ER / 15 outs | 6 ER / 15 outs | 3 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Starter miss: Max Scherzer (TOR) posted 10.80 ERA vs projected 5.40 (6 ER in 15 outs); he is materially worse pitching home (6.23 ERA there vs 5.70 on the other side), a venue-role weakness the model under-weighted.
What to do: Enable/raise the venue-split weight (context.venue_adjustment_weight) and validate in shadow; the split is credible for this starter.
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Chris Bassitt (BAL) threw 15 outs, 2 ER = 3.6 ERA against a projected 7.2 ERA (-3.6 ERA error)
Bullpen behind him: 0 ER over 4 outs.
The HOME lineup he faced produced 4 runs on 10 hits and 2 HR, against a projected 4 runs / 9 hits (0 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
Max Scherzer (TOR) threw 15 outs, 6 ER = 10.8 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 7 runs on 11 hits and 2 HR, against a projected 3 runs / 7 hits (4 runs vs projection).
Who did the damage to him:
Verdict: pitching: the starter gave up runs at a far worse rate than projected
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. 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 | Chris Bassitt (Starter) | 15 / 15 | 3.6 / 7.2 (-3.60) | 2 / 4 | 6 / 8 | 1 / 3 | 3 / 1 | 2.13 | 5 / 2 | 4.74 | venue away: 6.43 vs 3.54 ERA (worse here) · opp run factor 0.97 (weak) · 17 prior appearances this season |
| BAL | Rico Garcia (Setup Man) | 1 / 6 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0.25 | 0 / 3 | 1.28 | |
| BAL | Andrew Kittredge (Closer) | 3 / 3 | 0 / 9 (-9.00) | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 1 | 0.2 | 1 / 0 | 0.98 | |
| TOR | Max Scherzer (Starter) | 15 / 15 | 10.8 / 5.4 (+5.40) | 6 / 3 | 7 / 4 | 1 / 0 | 1 / 0 | 1.94 | 3 / 4 | 3.17 | venue home: 6.23 vs 5.7 ERA (worse here) · opp run factor 1.04 (average) · 14 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Brett Bateman (CF) | TOR | 5 / 4 | 3 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 1 / 1 | 0 / 1 | 1 / 1 | 1.54 | 0.304 average | no signal |
| Colton Cowser (CF) | BAL | 3 / 3 | 1 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 1 / 0 | 1 / 0 | 2 / 1 | 1.11 | 0.317 average | no signal |
| Dylan Beavers (LF) | BAL | 5 / 4 | 2 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | 3 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | 1.09 | 0.298 below average | good day |
| Christian Encarnacion-Strand (3B) | BAL | 4 / 4 | 3 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 0 / 0 | 1 / 1 | 0.94 | 0.345 elite | projection too low |
| Jackson Holliday (2B) | BAL | 5 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 2 / 1 | -0.8 | 0.303 below average | projection too high |
| Pete Alonso (1B) | BAL | 5 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 2 / 1 | -0.8 | 0.394 elite | bad day |
| Josh Smith (LF) | TOR | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | -0.8 | 0.285 below average | projection too high |
| Kazuma Okamoto (3B) | TOR | 4 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 1 / 1 | 0 / 0 | 1 / 1 | 0.78 | 0.322 above average | projection too low |
| Heston Kjerstad (RF) | BAL | 2 / 2 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 0 / 0 | 1 / 0 | 0.47 | 0.236 weak | — |
| Andrés Giménez (SS) | TOR | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.274 weak | — |
| Samuel Basallo (C) | BAL | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 1 / 0 | 0 / 1 | 0.33 | 0.32 average | — |
| Vladimir Guerrero Jr. (1B) | TOR | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 2 / 0 | 0.33 | 0.333 above average | — |
| Alejandro Kirk (C) | TOR | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 2 / 0 | 1 / 0 | 0.19 | 0.303 below average | — |
| Gunnar Henderson (SS) | BAL | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 1 / 1 | 0.14 | 0.314 average | — |
| George Springer (DH) | TOR | 5 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 0.14 | 0.305 average | — |
| Coby Mayo (DH) | BAL | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 1 / 1 | 0 / 0 | 1 / 1 | 0 | 0.326 above average | — |
| Nathan Lukes (RF) | TOR | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | 0 | 0.288 below average | — |
| Ernie Clement (2B) | TOR | 4 / 3 | 1 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 | 0.263 weak | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.197 | positive favors home; negative favors away |
| Recent form | 0.606 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.067 | positive favors home; negative favors away |
| Composite | 0.293 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.35-4.19 | n/a | Base ML historical model prediction |
| variance_applied | 4-4 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 0.505 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by winner_starter_is_below_average, projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-5 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-5 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-5 | n/a | Capped at max 12 realistic runs |
| simulation_result | 4-5 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.35-4.19 | 4-4 | 0.16 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-4 | 4-5 | 1 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by winner_starter_is_below_average, projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-5 | 4-5 | 0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-5 | 4-5 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-5 | 4-5 | 0 | Capped at max 12 realistic runs |
| simulation_result | 4-5 | 4-5 | 0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| TOR | Max Scherzer | pitcher / Starter | worse | predicted_H 3 |
| TOR | Louis Varland | pitcher / Closer | better | predicted_H -3 |
| TOR | Andrés Giménez | batter / SS | better | predicted_RBI 1.64 |
| BAL | Gunnar Henderson | batter / SS | worse | predicted_RBI 1.59 |
| TOR | Brett Bateman | batter / CF | worse | predicted_AB -1.54 |
| BAL | Samuel Basallo | batter / C | neutral | predicted_RBI 1.52 |
| TOR | Nathan Lukes | batter / RF | worse | predicted_H 1.4 |
| TOR | Josh Smith | batter / LF | better | predicted_H 1.365 |
| 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 | 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 | BAL model-prediction batting totals differ from final simulation box score (H: current=7, sim=5; 2B: current=1, sim=2; HR: current=1, sim=0; R: current=3, sim=4; BB: current=3, sim=0; SO: current=8, sim=7; HBP: current=0, sim=1). | BAL |
| info | CURRENT_PLAYER_MATCH_BOX | BAL current finalized hitter lines are model predictions and differ from the simulation box score: Coby Mayo: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Jackson Holliday: BB current=1 box=0, SO current=1 box=2; Samuel Basallo: AB current=3 box=4, 2B current=0 box=1, RBI current=1 box=2, R current=0 box=1; Christian Encarnacion-Strand: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Heston Kjerstad: AB current=2 box=3; Dylan Beavers: H current=1 box=0, 2B current=1 box=0, SO current=1 box=0; Pete Alonso: RBI current=1 box=0, BB current=1 box=0, SO current=1 box=0; Gunnar Henderson: H current=1 box=2, 2B current=0 box=1, RBI current=0 box=2, R current=0 box=1 | BAL |
| info | CURRENT_FINALIZED_MATCH_BOX | TOR model-prediction batting totals differ from final simulation box score (2B: current=1, sim=2; HR: current=1, sim=3; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=2; SO: current=6, sim=5; HBP: current=0, sim=1). | TOR |
| info | CURRENT_PLAYER_MATCH_BOX | TOR current finalized hitter lines are model predictions and differ from the simulation box score: Alejandro Kirk: H current=1 box=0, RBI current=1 box=0; Brett Bateman: 2B current=0 box=1, R current=1 box=0, BB current=1 box=0, SO current=1 box=0; George Springer: AB current=4 box=3, HR current=0 box=1, SO current=1 box=0; Josh Smith: AB current=3 box=2, H current=1 box=2, R current=0 box=1, SO current=1 box=0; Vladimir Guerrero Jr.: H current=1 box=2, 2B current=0 box=1, RBI current=0 box=1; Nathan Lukes: H current=1 box=2, HR current=0 box=1, RBI current=0 box=1, R current=0 box=1; Kazuma Okamoto: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Andrés Giménez: AB current=3 box=4, HR current=0 box=1, RBI current=1 box=2, R 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 |
|---|---|---|---|---|
| CHW | Anthony Kay | 4 ER / 15 outs | 3 ER / 12 outs | -1 |
| STL | Matthew Liberatore | 2 ER / 15 outs | 2 ER / 13 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
No settled pitching line for this club. The forecast named Anthony Kay (CHW) at a projected 7.2 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 7 runs on 13 hits and 0 HR, against a projected 5 runs / 9 hits (2 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
HOME pitching
Matthew Liberatore (STL) threw 13 outs, 2 ER = 4.15 ERA against a projected 3.6 ERA (0.55 ERA error)
Bullpen behind him: 1 ER over 9 outs.
The AWAY lineup he faced produced 2 runs on 3 hits and 2 HR, against a projected 4 runs / 4 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) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| STL | Matthew Liberatore (Starter) | 13 / 15 | 4.15 / 3.6 | 2 / 2 | 6 / 3 | 2 / 1 | 3 / 1 | 1.41 | 2 / 7 | 5.72 | venue home: 5.87 vs 5.27 ERA (worse here) · opp run factor 1.04 (average) · 28 prior appearances this season |
| STL | Justin Bruihl (Middle Reliever (High Leverage)) | 3 / 4 | 9 / 0 (+9.00) | 1 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | 0.33 | 1 / 1 | 0.78 | |
| STL | Riley O'Brien (Closer) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0.49 | 1 / 0 | 0.91 | |
| STL | Ryne Stanek (Middle Reliever (High Leverage)) | 3 / 3 | 0 / 18 (-18.00) | 0 / 2 | 0 / 4 | 0 / 0 | 0 / 0 | 0.44 | 1 / 2 | 1.03 |
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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chase Meidroth (2B) | CHW | 4 / 4 | 2 / 1 | 0 / 1 | 0 / 0 | 2 / 0 | 2 / 0 | 2 / 1 | 1 / 1 | 1 / 1 | 2.02 | 0.292 below average | good day |
| Miguel Vargas (1B) | CHW | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | -1.26 | 0.381 elite | bad day |
| Iván Herrera (DH) | STL | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 2 / 1 | -1.11 | 0.332 above average | bad day |
| Leonardo Bernal (C) | STL | 4 / 4 | 3 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | 0.92 | 0.36 elite | projection too low |
| Braden Montgomery (RF) | CHW | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | -0.8 | 0.33 above average | bad day |
| Alec Burleson (1B) | STL | 4 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 1 / 1 | 0 / 0 | 0 / 1 | 0.78 | 0.377 elite | projection too low |
| Nathan Church (CF) | STL | 2 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 0 | 0.66 | 0.282 weak | good day |
| Joshua Baez (LF) | STL | 4 / 4 | 3 / 1 | 2 / 0 | 0 / 0 | 0 / 1 | 2 / 1 | 2 / 1 | 0 / 0 | 1 / 1 | 0.63 | 0.309 average | no signal |
| Jordan Walker (RF) | STL | 4 / 4 | 2 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 0 | 0 / 0 | 0 / 1 | 0.47 | 0.345 elite | — |
| Masyn Winn (SS) | STL | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.299 below average | — |
| José Fermín (3B) | STL | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | -0.33 | 0.289 below average | — |
| Colson Montgomery (3B) | CHW | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 0 | 3 / 1 | -0.14 | 0.303 below average | — |
| Thomas Saggese (2B) | STL | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 0 | 0.313 average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.145 | positive favors home; negative favors away |
| Recent form | 0.3 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.019 | positive favors home; negative favors away |
| Composite | 0.398 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 3.88-4.95 | n/a | Base ML historical model prediction |
| variance_applied | 4-5 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-6 | 0.598 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by winner_starter_is_below_average) |
| embedded_savant_run_environment | 4-6 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-6 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-6 | n/a | Capped at max 12 realistic runs |
| simulation_result | 4-6 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 3.88-4.95 | 4-5 | -0.067 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 4-6 | 1 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by winner_starter_is_below_average) |
| embedded_savant_run_environment | 4-6 | 4-6 | 0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-6 | 4-6 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-6 | 4-6 | 0 | Capped at max 12 realistic runs |
| simulation_result | 4-6 | 4-6 | 0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| STL | José Fermín | batter / 3B | better | predicted_SO 2.598 |
| CHW | Randal Grichuk | batter / LF | better | predicted_AB 2.5 |
| CHW | Braden Montgomery | batter / RF | worse | predicted_SO 2.195 |
| CHW | Brenton Doyle | batter / CF | worse | predicted_SO 2.016 |
| STL | Jordan Walker | batter / RF | worse | predicted_AB -1.893 |
| CHW | Chase Meidroth | batter / 2B | worse | predicted_BB 1.604 |
| STL | Alec Burleson | batter / 1B | worse | predicted_RBI 1.49 |
| CHW | Colson Montgomery | batter / 3B | better | predicted_SO -1.464 |
| 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 | 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 | CHW model-prediction batting totals differ from final simulation box score (AB: current=32, sim=34; H: current=8, sim=7; 2B: current=2, sim=0; 3B: current=0, sim=2; SO: current=8, sim=12; 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: Randal Grichuk: AB current=4 box=5, H current=1 box=2, 2B current=1 box=0, 3B current=0 box=2; Miguel Vargas: HR current=1 box=0, BB current=1 box=0; Colson Montgomery: H current=1 box=2, HR current=0 box=1, RBI current=1 box=2, SO current=1 box=0; Edgar Quero: AB current=4 box=3, H current=1 box=0, SO current=1 box=0, HBP current=0 box=1; Braden Montgomery: AB current=3 box=4, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Jake Rogers: H current=0 box=1, BB current=0 box=1; Chase Meidroth: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, R current=1 box=0; Brenton Doyle: AB current=3 box=4, RBI current=0 box=1, R current=0 box=1, SO current=1 box=3 | CHW |
| info | CURRENT_FINALIZED_MATCH_BOX | STL model-prediction batting totals differ from final simulation box score (AB: current=33, sim=34; H: current=9, sim=10; 2B: current=2, sim=1; HR: current=1, sim=2; RBI: current=4, sim=6; R: current=5, sim=6; SO: current=7, sim=9). | STL |
| info | CURRENT_PLAYER_MATCH_BOX | STL current finalized hitter lines are model predictions and differ from the simulation box score: José Fermín: AB current=4 box=5, 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1; Leonardo Bernal: RBI current=1 box=0, R current=1 box=0, BB current=1 box=0, SO current=1 box=2; Thomas Saggese: AB current=3 box=4, R current=1 box=0; Iván Herrera: 2B current=1 box=0, BB current=1 box=0; Jordan Walker: AB current=4 box=2, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Alec Burleson: H current=1 box=2, RBI current=1 box=2; Masyn Winn: RBI current=0 box=1, R current=0 box=1, BB current=0 box=1, SO current=1 box=0; Nathan Church: AB current=3 box=4, H current=1 box=2, HR current=0 box=1, RBI current=0 box=1 | STL |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| CIN | Andrew Abbott | 5 ER / 14 outs | 8 ER / 6 outs | 3 |
| MIL | Dustin May | 4 ER / 14 outs | 0 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: Andrew Abbott (CIN) posted 36.00 ERA vs projected 9.64 (8 ER in 6 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
Andrew Abbott (CIN) threw 6 outs, 8 ER = 36 ERA against a projected 9.64 ERA (26.36 ERA error)
Bullpen behind him: 8 ER over 6 outs.
The HOME lineup he faced produced 18 runs on 23 hits and 4 HR, against a projected 5 runs / 8 hits (13 runs vs projection).
Who did the damage to him:
Verdict: both: the starter was hit hard AND the lineup underproduced
HOME pitching
Dustin May (MIL) threw 18 outs, 0 ER = 0 ERA against a projected 7.71 ERA (-7.71 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The AWAY lineup he faced produced 0 runs on 2 hits and 0 HR, against a projected 4 runs / 8 hits (-4 runs vs projection).
No individual hitter beat his projection by a meaningful margin.
Verdict: neither side broke materially - the result is closer to variance
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. 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) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| CIN | Andrew Abbott (Starter) | 6 / 14 | 36 / 9.64 (+26.36) | 8 / 5 | 9 / 7 | 2 / 2 | 0 / 1 | 2.35 | 0 / 3 | 4.69 | venue away: 4.23 vs 4.64 ERA (ok) · opp run factor 1.04 (strong) · 29 prior appearances this season |
| CIN | Brock Burke (Middle Reliever (High Leverage)) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0.61 | 1 / 1 | 1.26 | |
| CIN | Luis Mey (Setup Man) | 3 / 3 | 72 / 18 (+54.00) | 8 / 2 | 8 / 2 | 1 / 1 | 1 / 0 | 0.74 | 2 / 2 | 1.7 | |
| MIL | Dustin May (Starter) | 18 / 14 | 0 / 7.71 (-7.71) | 0 / 4 | 2 / 7 | 0 / 1 | 1 / 1 | 1.89 | 6 / 3 | 4.49 | venue home: 4.16 vs 5.5 ERA (ok) · opp run factor 1.08 (weak) · 27 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Brice Turang (2B) | MIL | 3 / 4 | 3 / 1 | 1 / 1 | 0 / 0 | 1 / 0 | 4 / 1 | 3 / 1 | 1 / 1 | 0 / 1 | 1.87 | 0.338 above average | projection too low |
| Garrett Mitchell (CF) | MIL | 5 / 3 | 3 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 4 / 0 | 3 / 1 | 0 / 0 | 0 / 1 | 1.87 | 0.35 elite | projection too low |
| Joey Ortiz (3B) | MIL | 5 / 3 | 4 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 0 | 0 / 1 | 1.41 | 0.296 below average | good day |
| Elly De La Cruz (SS) | CIN | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | 2 / 1 | -1.4 | 0.374 elite | bad day |
| Jackson Chourio (LF) | MIL | 6 / 4 | 4 / 1 | 2 / 0 | 0 / 0 | 0 / 1 | 2 / 1 | 3 / 1 | 0 / 0 | 1 / 1 | 1.1 | 0.339 elite | projection too low |
| Jake Bauers (1B) | MIL | 5 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 1 | 1 / 1 | 0 / 1 | 1 / 1 | 1.07 | 0.376 elite | projection too low |
| JJ Bleday (LF) | CIN | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | -0.8 | 0.342 elite | bad day |
| Tyler Stephenson (C) | CIN | 2 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 0 / 1 | -0.8 | 0.334 above average | bad day |
| Cooper Pratt (SS) | MIL | 4 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 1 / 0 | 1 / 1 | 0.8 | 0.307 average | no signal |
| Héctor Rodríguez (RF) | CIN | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 1 | -0.78 | 0.27 weak | projection too high |
| William Contreras (C) | MIL | 5 / 4 | 2 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | 6 / 1 | 2 / 1 | 0 / 1 | 0 / 1 | 0.76 | 0.333 above average | projection too low |
| Carlos Jorge (CF) | CIN | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.233 weak | — |
| Matt McLain (2B) | CIN | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | -0.47 | 0.304 average | — |
| Luis Lara (RF) | MIL | 5 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 0 / 0 | 1 / 1 | 0.47 | 0.307 average | — |
| Andrew Vaughn (DH) | MIL | 2 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 0 / 1 | 0 / 0 | 0.45 | 0.332 above average | — |
| Sal Stewart (1B) | CIN | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 0.14 | 0.351 elite | — |
| Eugenio Suárez (DH) | CIN | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 2 | -0.14 | 0.29 below average | — |
| Ke'Bryan Hayes (3B) | CIN | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.304 average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 1.526 | positive favors home; negative favors away |
| Recent form | 0.158 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.038 | positive favors home; negative favors away |
| Composite | 1.156 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.18-5.05 | n/a | Base ML historical model prediction |
| variance_applied | 4-5 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 6-7 | 0.54 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 6-8 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 6-8 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 6-8 | n/a | Capped at max 12 realistic runs |
| simulation_result | 6-8 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.18-5.05 | 4-5 | 0.126 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 6-7 | 0 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 6-7 | 6-8 | 1 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 6-8 | 6-8 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 6-8 | 6-8 | 0 | Capped at max 12 realistic runs |
| simulation_result | 6-8 | 6-8 | 0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| CIN | Eugenio Suárez | batter / DH | worse | predicted_H 2.21 |
| MIL | William Contreras | batter / C | boosted | predicted_RBI 2 |
| CIN | Tyler Stephenson | batter / C | worse | predicted_RBI 1.82 |
| CIN | Carlos Jorge | batter / CF | neutral | predicted_RBI 1.72 |
| MIL | Jackson Chourio | batter / LF | better | predicted_AB -1.68 |
| CIN | Sal Stewart | batter / 1B | worse | predicted_BB 1.594 |
| MIL | Garrett Mitchell | batter / CF | better | predicted_RBI 1.59 |
| CIN | Ke'Bryan Hayes | batter / 3B | worse | predicted_H 1.53 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | CIN pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | CIN |
| info | CURRENT_PITCHER_DUPLICATION | MIL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | MIL |
| info | CURRENT_FINALIZED_MATCH_BOX | CIN model pitcher projections differ from final simulation pitching box score (ER: current=7, sim=8). | CIN |
| info | CURRENT_FINALIZED_MATCH_BOX | CIN model-prediction batting totals differ from final simulation box score (AB: current=33, sim=38; H: current=8, sim=11; 2B: current=1, sim=0; 3B: current=0, sim=1; RBI: current=4, sim=6; R: current=4, sim=6; BB: current=4, sim=3; SO: current=10, sim=5). | CIN |
| info | CURRENT_PLAYER_MATCH_BOX | CIN current finalized hitter lines are model predictions and differ from the simulation box score: Héctor Rodríguez: AB current=4 box=5, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Elly De La Cruz: HR current=1 box=0, SO current=1 box=0; JJ Bleday: AB current=4 box=5, H current=1 box=0, BB current=1 box=0; Sal Stewart: AB current=4 box=3, RBI current=1 box=0, R current=1 box=0, BB current=1 box=2; Tyler Stephenson: AB current=4 box=5, H current=1 box=2, RBI current=1 box=2, R current=0 box=1; Eugenio Suárez: AB current=3 box=5, H current=1 box=3, R current=0 box=1, SO current=2 box=0; Carlos Jorge: AB current=4 box=3, HR current=0 box=1, RBI current=0 box=2, R current=0 box=1; Matt McLain: AB current=3 box=4, RBI current=0 box=1 | CIN |
| info | CURRENT_FINALIZED_MATCH_BOX | MIL model-prediction batting totals differ from final simulation box score (AB: current=32, sim=34; H: current=8, sim=10; 2B: current=2, sim=3; HR: current=1, sim=3; RBI: current=5, sim=8; R: current=5, sim=8; BB: current=4, sim=1). | MIL |
| info | CURRENT_PLAYER_MATCH_BOX | MIL current finalized hitter lines are model predictions and differ from the simulation box score: Andrew Vaughn: H current=1 box=0, R current=0 box=1, BB current=1 box=0, SO current=0 box=1; William Contreras: H current=1 box=3, 2B current=1 box=0, HR current=0 box=1, RBI current=1 box=3; Luis Lara: 2B current=0 box=1, RBI current=1 box=0, R current=0 box=1, SO current=1 box=0; Jackson Chourio: H current=1 box=2, 2B current=0 box=1, RBI current=1 box=2, SO current=1 box=2; Brice Turang: AB current=4 box=3; Joey Ortiz: H current=1 box=0, SO current=1 box=2; Jake Bauers: AB current=3 box=4, RBI current=1 box=0, BB current=1 box=0; Cooper Pratt: AB current=3 box=4, H current=0 box=1, R current=0 box=1, SO current=1 box=0 | MIL |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| CLE | Parker Messick | 3 ER / 18 outs | 1 ER / 16 outs | -2 |
| MIN | Taj Bradley | 3 ER / 17 outs | 0 ER / 18 outs | -3 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Starter miss: Taj Bradley (MIN) posted 0.00 ERA vs projected 4.76 (0 ER in 18 outs); no credible venue, opponent-strength or experience signal explains it — an outlier start (variance).
What to do: Variance — no model change is warranted for this start.
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Parker Messick (CLE) threw 16 outs, 1 ER = 1.69 ERA against a projected 4.5 ERA (-2.81 ERA error)
Bullpen behind him: 0 ER over 7 outs.
The HOME lineup he faced produced 2 runs on 5 hits and 0 HR, against a projected 4 runs / 8 hits (-2 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
Taj Bradley (MIN) threw 18 outs, 0 ER = 0 ERA against a projected 4.76 ERA (-4.76 ERA error)
Bullpen behind him: 5 ER over 7 outs.
The AWAY lineup he faced produced 4 runs on 7 hits and 1 HR, against a projected 5 runs / 8 hits (-1 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. 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 | Parker Messick (Starter) | 16 / 18 | 1.69 / 4.5 | 1 / 3 | 3 / 6 | 0 / 1 | 2 / 1 | 1.48 | 5 / 9 | 5.63 | venue away: 2.25 vs 2.85 ERA (ok) · opp run factor 0.98 (average) · 28 prior appearances this season |
| CLE | Cade Smith (Closer) | 3 / 5 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 0 | 0.34 | 0 / 0 | 1.34 | |
| CLE | Hunter Gaddis (Setup Man) | 4 / 1 | 0 / 54 (-54.00) | 0 / 2 | 1 / 2 | 0 / 0 | 0 / 0 | 0.37 | 1 / 1 | 0.74 | |
| MIN | Taj Bradley (Starter) | 18 / 17 | 0 / 4.76 (-4.76) | 0 / 3 | 1 / 3 | 0 / 0 | 4 / 1 | 2.65 | 6 / 4 | 6.36 | venue home: 3.3 vs 4.52 ERA (ok) · opp run factor 0.93 (weak) · 28 prior appearances this season |
| MIN | A.J. Minter (Middle Reliever (High Leverage)) | 4 / 4 | 13.5 / 0 (+13.50) | 2 / 0 | 3 / 0 | 1 / 0 | 0 / 1 | 0.28 | 1 / 1 | 0.86 | |
| MIN | Jeff Hoffman (Setup Man) | 2 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0.35 | 1 / 1 | 1.4 | |
| MIN | Yoendrys Gómez (Closer) | 1 / 3 | 81 / 9 (+72.00) | 3 / 1 | 2 / 2 | 0 / 0 | 2 / 0 | 0.61 | 0 / 2 | 0.86 |
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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Angel Martínez (LF) | CLE | 4 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 1 / 0 | 2 / 1 | 2 / 0 | 0 / 0 | 0 / 1 | 1.71 | 0.299 below average | good day |
| Nathaniel Lowe (1B) | CLE | 2 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | -1.4 | 0.338 above average | bad day |
| Ryan Jeffers (C) | MIN | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -1.26 | 0.363 elite | bad day |
| José Ramírez (3B) | CLE | 5 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 2 / 1 | -1.11 | 0.331 above average | bad day |
| Luke Keaschall (RF) | MIN | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | -1.11 | 0.316 average | no signal |
| Travis Bazzana (2B) | CLE | 2 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 2 / 1 | 0 / 1 | 0.8 | 0.303 below average | good day |
| Chase DeLauter (DH) | CLE | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 1 / 1 | -0.78 | 0.345 elite | bad day |
| Austin Hedges (C) | CLE | 3 / 3 | 1 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0.78 | 0.272 weak | good day |
| Brayan Rocchio (SS) | CLE | 3 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 0.64 | 0.292 below average | good day |
| Jo Adell (RF) | CLE | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 3 / 1 | -0.47 | 0.325 above average | — |
| Kody Clemens (2B) | MIN | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 0 | 0 / 1 | 0.47 | 0.339 elite | — |
| Austin Martin (LF) | MIN | 1 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 0 / 0 | -0.47 | 0.311 average | — |
| Brooks Lee (3B) | MIN | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.276 weak | — |
| Josh Bell (DH) | MIN | 3 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 0 | 1 / 1 | -0.45 | 0.335 above average | — |
| Royce Lewis (1B) | MIN | 4 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0.31 | 0.312 average | — |
| Steven Kwan (CF) | CLE | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 0 | 0 | 0.321 above average | — |
| Kaelen Culpepper (SS) | MIN | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | 0 | 0.3 below average | — |
| Walker Jenkins (CF) | MIN | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.27 weak | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.089 | positive favors home; negative favors away |
| Recent form | 0.234 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.054 | positive favors home; negative favors away |
| Composite | 0.309 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.64-4.04 | n/a | Base ML historical model prediction |
| variance_applied | 5-4 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 0.505 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-5 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-5 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-5 | n/a | Capped at max 12 realistic runs |
| simulation_result | 4-5 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.64-4.04 | 5-4 | -0.4 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-4 | 4-5 | 2 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-5 | 4-5 | 0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-5 | 4-5 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-5 | 4-5 | 0 | Capped at max 12 realistic runs |
| simulation_result | 4-5 | 4-5 | 0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| CLE | Chase DeLauter | batter / DH | better | predicted_RBI 2.479 |
| MIN | Luke Keaschall | batter / RF | better | predicted_RBI 1.676 |
| CLE | Steven Kwan | batter / CF | worse | predicted_AB -1.629 |
| MIN | Ryan Jeffers | batter / C | worse | predicted_SO 1.321 |
| MIN | Austin Martin | batter / LF | better | predicted_H 1.269 |
| MIN | Josh Bell | batter / DH | worse | predicted_SO 1.193 |
| CLE | Nathaniel Lowe | batter / 1B | worse | predicted_H 1.13 |
| CLE | Austin Hedges | batter / C | worse | predicted_AB 1.104 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | CLE pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | CLE |
| info | CURRENT_PITCHER_DUPLICATION | MIN pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | MIN |
| info | CURRENT_FINALIZED_MATCH_BOX | CLE model-prediction batting totals differ from final simulation box score (AB: current=33, sim=32; H: current=8, sim=5; HR: current=1, sim=0; R: current=5, sim=4; BB: current=4, sim=3; SO: current=7, sim=8). | CLE |
| info | CURRENT_PLAYER_MATCH_BOX | CLE current finalized hitter lines are model predictions and differ from the simulation box score: Steven Kwan: AB current=4 box=2, H current=1 box=0, R current=1 box=0, BB current=1 box=2; Chase DeLauter: RBI current=1 box=3, BB current=1 box=0; Travis Bazzana: AB current=3 box=4, H current=1 box=0, R current=1 box=0, BB current=1 box=0; José Ramírez: H current=1 box=0, 2B current=1 box=0, R current=1 box=0, BB current=1 box=0; Jo Adell: H current=1 box=0, RBI current=1 box=0; Nathaniel Lowe: H current=1 box=2, HR current=1 box=0, RBI current=1 box=0; Angel Martínez: AB current=4 box=3, 2B current=0 box=1, R current=0 box=1, BB current=0 box=1; Brayan Rocchio: R current=0 box=1, SO current=0 box=1 | CLE |
| info | CURRENT_FINALIZED_MATCH_BOX | MIN model-prediction batting totals differ from final simulation box score (AB: current=34, sim=32; H: current=8, sim=9; 2B: current=2, sim=4; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=1; SO: current=8, sim=10; SF: 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: RBI current=0 box=2, BB current=1 box=0, SO current=1 box=0; Kaelen Culpepper: H current=1 box=0, RBI current=0 box=1; Kody Clemens: H current=1 box=2, 2B current=0 box=1, RBI current=1 box=0, R current=1 box=0; Josh Bell: RBI current=1 box=0, SO current=1 box=2; Austin Martin: AB current=3 box=2, H current=1 box=2, 2B current=0 box=1, R current=0 box=1; Ryan Jeffers: H current=1 box=2, BB current=1 box=0, SO current=1 box=2; Royce Lewis: AB current=4 box=3, H current=1 box=0, RBI current=0 box=1, R current=0 box=1; Brooks Lee: RBI current=1 box=0 | MIN |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
No large single-factor errors.
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| COL | Mason Adams | 2 ER / 13 outs | 1 ER / 15 outs | -1 |
| DET | Framber Valdez | 2 ER / 18 outs | 0 ER / 18 outs | -2 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Starter miss: Framber Valdez (DET) posted 0.00 ERA vs projected 3.00 (0 ER in 18 outs); he faced a strong offense (opponent run factor 1.07, bucket average).
What to do: Consider raising context.opponent_strength_weight; validate across the rolling window before promotion.
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Mason Adams (COL) threw 15 outs, 1 ER = 1.8 ERA against a projected 4.15 ERA (-2.35 ERA error) only 3 prior appearances in the covered season - the projection had little of his own record to stand on
Bullpen behind him: 0 ER over 0 outs.
The HOME lineup he faced produced 5 runs on 5 hits and 2 HR, against a projected 5 runs / 8 hits (0 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
HOME pitching
Framber Valdez (DET) threw 18 outs, 0 ER = 0 ERA against a projected 3 ERA (-3 ERA error)
Bullpen behind him: 0 ER over 1 outs.
The AWAY lineup he faced produced 2 runs on 9 hits and 0 HR, against a projected 4 runs / 8 hits (-2 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. 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) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| COL | Mason Adams (Starter) | 15 / 13 | 1.8 / 4.15 | 1 / 2 | 2 / 4 | 1 / 1 | 3 / 3 | 2.12 | 5 / 2 | 6.12 | venue away: 3 vs 5.79 ERA (ok) · opp run factor 1 (average) · thin sample: 3 prior appearances this season (high uncertainty) |
| DET | Framber Valdez (Starter) | 18 / 18 | 0 / 3 (-3.00) | 0 / 2 | 6 / 3 | 0 / 1 | 2 / 3 | 2.47 | 2 / 6 | 3.43 | venue home: 4.33 vs 4.02 ERA (ok) · opp run factor 1.07 (average) · 28 prior appearances this season |
| DET | Kenley Jansen (Closer) | 1 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0.52 | 1 / 1 | 0.96 |
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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Hunter Goodman (C) | COL | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | -1.4 | 0.319 average | no signal |
| Max Clark (CF) | DET | 2 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 2 / 1 | 1 / 0 | 0 / 1 | 1.26 | 0.311 average | no signal |
| Riley Greene (LF) | DET | 4 / 4 | 3 / 1 | 1 / 1 | 1 / 0 | 0 / 0 | 2 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | 1.23 | 0.37 elite | projection too low |
| Jake McCarthy (LF) | COL | 5 / 4 | 3 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 1 | 0.94 | 0.322 above average | projection too low |
| Kyle Karros (3B) | COL | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | -0.8 | 0.339 elite | bad day |
| Kevin McGonigle (3B) | DET | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 0 | -0.8 | 0.35 elite | bad day |
| Gleyber Torres (DH) | DET | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 1 | 1 / 1 | -0.47 | 0.326 above average | — |
| Colt Keith (1B) | DET | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.335 above average | — |
| Javier Báez (2B) | DET | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.258 weak | — |
| Adael Amador (2B) | COL | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 0 | 0 / 1 | 0.33 | 0.268 weak | — |
| Zach McKinstry (RF) | DET | 2 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0.33 | 0.284 below average | — |
| John Peck (SS) | DET | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 2 / 0 | 0 / 1 | 0.19 | 0.332 above average | — |
| Cole Carrigg (CF) | COL | 4 / 4 | 2 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | -0.17 | 0.313 average | — |
| Connor Norby (1B) | COL | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 0 | 0.302 below average | — |
| Troy Johnston (DH) | COL | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 | 0.326 above average | — |
| Jordan Beck (RF) | COL | 2 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.247 weak | — |
| Ezequiel Tovar (SS) | COL | 2 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | 0 | 0.277 weak | — |
| Dillon Dingler (C) | DET | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 2 / 1 | 1 / 1 | 0 / 0 | 2 / 1 | 0 | 0.34 elite | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 1.06 | positive favors home; negative favors away |
| Recent form | 0.14 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.062 | positive favors home; negative favors away |
| Composite | 0.661 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.03-4.97 | 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.541 | 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.03-4.97 | 4-5 | 0.062 | 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 |
|---|---|---|---|---|
| DET | Colt Keith | batter / 1B | better | predicted_RBI 3.738 |
| COL | Ezequiel Tovar | batter / SS | worse | predicted_SO 2.093 |
| DET | Max Clark | batter / CF | worse | predicted_H 2.05 |
| DET | John Peck | batter / SS | worse | predicted_BB 1.714 |
| COL | Jake McCarthy | batter / LF | worse | predicted_AB -1.57 |
| DET | Gleyber Torres | batter / DH | better | predicted_BB 1.424 |
| COL | Adael Amador | batter / 2B | better | predicted_SO 1.417 |
| COL | Hunter Goodman | batter / C | deboosted | predicted_SO -1.333 |
| 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 | DET pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | DET |
| info | CURRENT_FINALIZED_MATCH_BOX | COL model-prediction batting totals differ from final simulation box score (H: current=8, sim=5; 2B: current=1, sim=0; HR: current=1, sim=3). | COL |
| info | CURRENT_PLAYER_MATCH_BOX | COL current finalized hitter lines are model predictions and differ from the simulation box score: Connor Norby: AB current=4 box=3, H current=1 box=0; Cole Carrigg: 2B current=1 box=0, RBI current=1 box=0, BB current=1 box=0; Adael Amador: AB current=3 box=4, HR current=0 box=1, SO current=1 box=2; Troy Johnston: AB current=3 box=4; Jordan Beck: H current=1 box=0, BB current=0 box=1, SO current=1 box=0; Hunter Goodman: RBI current=1 box=2, SO current=1 box=0; Kyle Karros: AB current=4 box=3, H current=1 box=0; Jake McCarthy: HR current=0 box=1, SO current=1 box=0 | COL |
| info | CURRENT_FINALIZED_MATCH_BOX | DET model-prediction batting totals differ from final simulation box score (AB: current=31, sim=33; H: current=8, sim=9; 2B: current=1, sim=0; 3B: current=0, sim=1; HR: current=1, sim=2; RBI: current=4, sim=5; BB: current=3, sim=5; SO: current=8, sim=3). | DET |
| info | CURRENT_PLAYER_MATCH_BOX | DET current finalized hitter lines are model predictions and differ from the simulation box score: Kevin McGonigle: AB current=4 box=5, 3B current=0 box=1, BB current=1 box=0, SO current=0 box=1; Gleyber Torres: AB current=4 box=3, BB current=1 box=2, SO current=1 box=0; Colt Keith: AB current=3 box=4, H current=1 box=3, HR current=0 box=2, RBI current=0 box=4; John Peck: AB current=3 box=2, H current=1 box=0, RBI current=1 box=0, BB current=0 box=2; Max Clark: AB current=3 box=4, H current=1 box=3, SO current=1 box=0; Javier Báez: AB current=3 box=4, H current=1 box=0, SO current=1 box=0; Riley Greene: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Dillon Dingler: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0 | DET |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| HOU | Miguel Ullola | 2 ER / 9 outs | 0 ER / 3 outs | -2 |
| TB | Drew Rasmussen | 3 ER / 18 outs | 1 ER / 21 outs | -2 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Starter miss: Miguel Ullola (HOU) posted 0.00 ERA vs projected 6.00 (0 ER in 3 outs); no credible venue, opponent-strength or experience signal explains it — an outlier start (variance).
What to do: Variance — no model change is warranted for this start.
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Miguel Ullola (HOU) threw 3 outs, 0 ER = 0 ERA against a projected 6 ERA (-6 ERA error) only 5 prior appearances in the covered season - the projection had little of his own record to stand on
Bullpen behind him: 2 ER over 1 outs.
The HOME lineup he faced produced 2 runs on 4 hits and 2 HR, against a projected 5 runs / 8 hits (-3 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
HOME pitching
Drew Rasmussen (TB) threw 21 outs, 1 ER = 1.29 ERA against a projected 4.5 ERA (-3.21 ERA error)
Bullpen behind him: 0 ER over 6 outs.
The AWAY lineup he faced produced 1 runs on 9 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) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| HOU | Miguel Ullola (Starter) | 3 / 9 | 0 / 6 (-6.00) | 0 / 2 | 0 / 2 | 0 / 0 | 0 / 2 | 0.41 | 0 / 7 | 4.56 | opp run factor 1 (average) · 5 prior appearances this season |
| HOU | Bryan Abreu (Setup Man) | 1 / 8 | 54 / 10.12 (+43.88) | 2 / 3 | 2 / 5 | 1 / 0 | 0 / 1 | 0.5 | 1 / 2 | 1.24 | |
| TB | Drew Rasmussen (Starter) | 21 / 18 | 1.29 / 4.5 (-3.21) | 1 / 3 | 8 / 4 | 0 / 1 | 0 / 1 | 0.98 | 4 / 7 | 4.35 | venue home: 3.22 vs 2.57 ERA (worse here) · opp run factor 0.94 (average) · 27 prior appearances this season |
| TB | Bryan Baker (Closer) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0.34 | 1 / 2 | 0.82 | |
| TB | Tyler Wells (Middle Reliever (High Leverage)) | 3 / 3 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0.28 | 1 / 0 | 1.08 |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Christian Walker (1B) | HOU | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 1 | -1.4 | 0.303 below average | projection too high |
| Victor Mesa Jr. (RF) | TB | 2 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 1 | 1 / 0 | 0 / 1 | 1.26 | 0.322 above average | projection too low |
| Yainer Diaz (C) | HOU | 3 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 1 / 0 | 0 / 1 | 0.8 | 0.302 below average | good day |
| Yandy Díaz (DH) | TB | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 2 / 1 | -0.78 | 0.355 elite | bad day |
| Nick Allen (2B) | HOU | 3 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0.47 | 0.252 weak | — |
| Liam Hicks (C) | TB | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | -0.47 | 0.318 average | — |
| Chandler Simpson (LF) | TB | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | -0.47 | 0.264 weak | — |
| Jorge Mateo (SS) | TB | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | -0.47 | 0.293 below average | — |
| Daulton Varsho (CF) | HOU | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | -0.33 | 0.29 below average | — |
| Junior Caminero (3B) | TB | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 2 / 1 | 1 / 1 | 0 / 1 | 1 / 1 | -0.33 | 0.363 elite | — |
| Jose Altuve (DH) | HOU | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | -0.31 | 0.274 weak | — |
| Jeremy Peña (SS) | HOU | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 2 / 1 | -0.31 | 0.323 above average | — |
| Isaac Paredes (3B) | HOU | 4 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 0 / 1 | 2 / 0 | -0.02 | 0.322 above average | — |
| Jonathan Aranda (1B) | TB | 4 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -0.02 | 0.348 elite | — |
| Cam Smith (RF) | HOU | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | 0 | 0.325 above average | — |
| Taylor Trammell (LF) | HOU | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.286 below average | — |
| Cedric Mullins (CF) | TB | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.267 weak | — |
| Richie Palacios (2B) | TB | 2 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0 | 0.305 average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.482 | positive favors home; negative favors away |
| Recent form | -0.197 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.058 | positive favors home; negative favors away |
| Composite | 0.703 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.92-4.56 | n/a | Base ML historical model prediction |
| variance_applied | 5-5 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 0.505 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 3-5 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 3-5 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 3-5 | n/a | Capped at max 12 realistic runs |
| simulation_result | 3-5 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.92-4.56 | 5-5 | 0.368 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-5 | 4-5 | 1 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-5 | 3-5 | 1 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 3-5 | 3-5 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 3-5 | 3-5 | 0 | Capped at max 12 realistic runs |
| simulation_result | 3-5 | 3-5 | 0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| TB | Chandler Simpson | batter / LF | better | predicted_RBI 1.8 |
| TB | Victor Mesa Jr. | batter / RF | worse | predicted_RBI 1.76 |
| HOU | Taylor Trammell | batter / LF | worse | predicted_BB 1.728 |
| HOU | Daulton Varsho | batter / CF | worse | predicted_AB -1.65 |
| TB | Liam Hicks | batter / C | worse | predicted_SO 1.615 |
| TB | Yandy Díaz | batter / DH | worse | predicted_AB -1.28 |
| HOU | Isaac Paredes | batter / 3B | deboosted | predicted_AB -1.25 |
| HOU | Bryan Abreu | pitcher / Setup Man | better | predicted_IP 1.2 |
| 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 | 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 | HOU model-prediction batting totals differ from final simulation box score (AB: current=33, sim=31; H: current=8, sim=4; 2B: current=2, sim=1; RBI: current=4, sim=3; R: current=4, sim=3; SO: current=8, sim=9; HBP: current=0, sim=2). | HOU |
| info | CURRENT_PLAYER_MATCH_BOX | HOU current finalized hitter lines are model predictions and differ from the simulation box score: Jose Altuve: 2B current=1 box=0, HR current=0 box=1, RBI current=0 box=1; Daulton Varsho: AB current=4 box=3, BB current=1 box=0, HBP current=0 box=1; Yainer Diaz: H current=1 box=0, R current=0 box=1; Jeremy Peña: 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=1 box=0; Isaac Paredes: AB current=4 box=3, 2B current=0 box=1, R current=0 box=1, BB current=1 box=0; Christian Walker: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Cam Smith: AB current=3 box=4, H current=1 box=0, R current=1 box=0, SO current=1 box=2; Taylor Trammell: AB current=3 box=2, H current=1 box=0, BB current=0 box=2 | HOU |
| info | CURRENT_FINALIZED_MATCH_BOX | TB model-prediction batting totals differ from final simulation box score (AB: current=33, sim=31; H: current=8, sim=7; HR: current=1, sim=0; RBI: current=4, sim=5; SO: current=7, sim=9). | TB |
| info | CURRENT_PLAYER_MATCH_BOX | TB current finalized hitter lines are model predictions and differ from the simulation box score: Liam Hicks: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, BB current=0 box=1; Jonathan Aranda: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Yandy Díaz: 2B current=1 box=0, SO current=1 box=0; Junior Caminero: HR current=1 box=0, RBI current=1 box=0, BB current=1 box=0; Victor Mesa Jr.: RBI current=0 box=2, SO current=1 box=2; Cedric Mullins: AB current=3 box=4, H current=0 box=1; Chandler Simpson: 2B current=0 box=1, RBI current=0 box=2, R current=0 box=1; Richie Palacios: AB current=3 box=2, R current=0 box=1 | TB |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| KC | Seth Lugo | 4 ER / 15 outs | 2 ER / 15 outs | -2 |
| BOS | Sonny Gray | 3 ER / 18 outs | 3 ER / 18 outs | 0 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Starter miss: Seth Lugo (KC) posted 3.60 ERA vs projected 7.20 (2 ER in 15 outs); he is materially worse pitching away (6.19 ERA there vs 4.09 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
Seth Lugo (KC) threw 15 outs, 2 ER = 3.6 ERA against a projected 7.2 ERA (-3.6 ERA error)
Bullpen behind him: 0 ER over 6 outs.
The HOME lineup he faced produced 2 runs on 8 hits and 1 HR, against a projected 4 runs / 9 hits (-2 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
Sonny Gray (BOS) threw 18 outs, 3 ER = 4.5 ERA against a projected 4.5 ERA (0 ERA error)
Bullpen behind him: 0 ER over 3 outs.
The AWAY lineup he faced produced 3 runs on 10 hits and 0 HR, against a projected 4 runs / 8 hits (-1 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. 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 | Seth Lugo (Starter) | 15 / 15 | 3.6 / 7.2 (-3.60) | 2 / 4 | 7 / 8 | 1 / 0 | 2 / 3 | 1.31 | 7 / 3 | 3.01 | venue away: 6.19 vs 4.09 ERA (worse here) · opp run factor 1 (average) · 29 prior appearances this season |
| KC | Nate Pearson (Setup Man) | 3 / 4 | 0 / 6.75 (-6.75) | 0 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 0.52 | 1 / 1 | 1.16 | |
| KC | Steven Cruz (Closer) | 3 / 3 | 0 / 9 (-9.00) | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0.34 | 1 / 0 | 0.86 | |
| BOS | Sonny Gray (Starter) | 18 / 18 | 4.5 / 4.5 | 3 / 3 | 6 / 3 | 0 / 1 | 2 / 1 | 1.63 | 5 / 8 | 5.27 | venue home: 2.77 vs 2.62 ERA (ok) · opp run factor 1.04 (weak) · 26 prior appearances this season |
| BOS | Erik Miller (Setup Man) | 3 / 3 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 1 / 0 | 0.54 | 1 / 1 | 1.53 |
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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Mickey Gasper (DH) | BOS | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 0 | 0 / 0 | 1 / 1 | 0.93 | 0.37 elite | projection too low |
| Nick Sogard (1B) | BOS | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | -0.8 | 0.318 average | no signal |
| Isaac Collins (LF) | KC | 2 / 3 | 1 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 1 | 0.78 | 0.296 below average | good day |
| Wilyer Abreu (RF) | BOS | 4 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | -0.48 | 0.35 elite | — |
| Salvador Perez (DH) | KC | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0.47 | 0.31 average | — |
| Vinnie Pasquantino (1B) | KC | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0 / 1 | 2 / 0 | -0.33 | 0.33 above 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.355 elite | — |
| Nick Loftin (3B) | KC | 4 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 0.31 | 0.294 below average | — |
| John Rave (RF) | KC | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 0 | 0 / 1 | 0.19 | 0.307 average | — |
| Carter Jensen (C) | KC | 5 / 4 | 2 / 1 | 2 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 2 / 1 | 0 / 1 | 1 / 1 | -0.17 | 0.311 average | — |
| Michael Massey (2B) | KC | 4 / 4 | 2 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0.16 | 0.307 average | — |
| Bobby Witt Jr. (SS) | KC | 3 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 0 | 1 / 1 | -0.12 | 0.385 elite | — |
| Adley Rutschman (C) | BOS | 2 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 2 / 0 | 1 / 1 | -0.12 | 0.337 above average | — |
| Kyle Isbel (CF) | KC | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.261 weak | — |
| Jarren Duran (CF) | BOS | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 2 / 1 | 0 | 0.301 below average | — |
| Trevor Story (SS) | BOS | 4 / 4 | 1 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.245 weak | — |
| Isiah Kiner-Falefa (2B) | BOS | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 | 0.314 average | — |
| Caleb Durbin (3B) | BOS | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 | 0.29 below average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 1.015 | positive favors home; negative favors away |
| Recent form | 0.818 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.044 | positive favors home; negative favors away |
| Composite | 1.025 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.19-5.82 | n/a | Base ML historical model prediction |
| variance_applied | 4-6 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-6 | 0.653 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 4-6 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-6 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-6 | n/a | Capped at max 12 realistic runs |
| simulation_result | 4-6 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.19-5.82 | 4-6 | 0.372 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-6 | 4-6 | 0 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 4-6 | 4-6 | 0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-6 | 4-6 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-6 | 4-6 | 0 | Capped at max 12 realistic runs |
| simulation_result | 4-6 | 4-6 | 0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| KC | Kyle Isbel | batter / CF | worse | predicted_RBI 2.77 |
| KC | Bobby Witt Jr. | batter / SS | worse | predicted_SO 2.244 |
| BOS | Adley Rutschman | batter / C | better | predicted_RBI 2.13 |
| BOS | Roman Anthony | batter / LF | deboosted | predicted_H 1.9 |
| KC | Carter Jensen | batter / C | worse | predicted_AB -1.41 |
| BOS | Mickey Gasper | batter / DH | better | predicted_H 1.36 |
| KC | Vinnie Pasquantino | batter / 1B | worse | predicted_SO 1.354 |
| BOS | Caleb Durbin | batter / 3B | worse | predicted_H 1.2 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | BOS pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | BOS |
| info | CURRENT_PITCHER_DUPLICATION | 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 | BOS model-prediction batting totals differ from final simulation box score (AB: current=32, sim=34; H: current=9, sim=11; 2B: current=2, sim=1; RBI: current=4, sim=6; R: current=4, sim=6; BB: current=3, sim=4; SO: current=7, sim=5; SF: 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: H current=1 box=3, R current=0 box=1, SO current=1 box=0; Mickey Gasper: H current=1 box=2, R current=0 box=1, BB current=0 box=1, SO current=1 box=0; Nick Sogard: AB current=4 box=3, SO current=1 box=0; Adley Rutschman: AB current=4 box=5, 2B current=1 box=0, HR current=0 box=1, RBI current=1 box=3; Wilyer Abreu: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Jarren Duran: AB current=3 box=4, RBI current=0 box=1, SO current=1 box=2; Trevor Story: RBI current=1 box=0; Isiah Kiner-Falefa: H current=1 box=0, BB current=0 box=1 | BOS |
| info | CURRENT_FINALIZED_MATCH_BOX | KC model pitcher projections differ from final simulation pitching box score (H: current=9, sim=11; HR: current=0, sim=1). | KC |
| info | CURRENT_FINALIZED_MATCH_BOX | KC model-prediction batting totals differ from final simulation box score (AB: current=33, sim=32; H: current=8, sim=5; BB: current=3, sim=2; SO: current=7, sim=11). | KC |
| info | CURRENT_PLAYER_MATCH_BOX | KC current finalized hitter lines are model predictions and differ from the simulation box score: Carter Jensen: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Vinnie Pasquantino: 2B current=0 box=1, BB current=1 box=0, SO current=0 box=2; Bobby Witt Jr.: 2B current=1 box=0, RBI current=0 box=1, SO current=1 box=3; Salvador Perez: H current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Michael Massey: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; John Rave: H current=1 box=0, R current=1 box=0, BB current=0 box=1; Nick Loftin: RBI current=1 box=0, R current=0 box=1, SO current=0 box=1; Kyle Isbel: H current=1 box=2, 2B current=0 box=1, HR current=0 box=1, RBI current=0 box=3 | KC |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
No large single-factor errors.
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| LAA | Yusei Kikuchi | 0 ER / 15 outs | 1 ER / 12 outs | 1 |
| WAS | Cade Cavalli | 1 ER / 17 outs | 2 ER / 18 outs | 1 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
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
Yusei Kikuchi (LAA) threw 12 outs, 1 ER = 2.25 ERA against a projected 0 ERA (2.25 ERA error) only 10 prior appearances in the covered season - the projection had little of his own record to stand on
Bullpen behind him: 0 ER over 3 outs.
The HOME lineup he faced produced 4 runs on 6 hits and 0 HR, against a projected 4 runs / 9 hits (0 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
HOME pitching
Cade Cavalli (WAS) threw 18 outs, 2 ER = 3 ERA against a projected 1.59 ERA (1.41 ERA error)
Bullpen behind him: 1 ER over 6 outs.
The AWAY lineup he faced produced 2 runs on 4 hits and 1 HR, against a projected 4 runs / 8 hits (-2 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
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) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| LAA | Yusei Kikuchi (Starter) | 12 / 15 | 2.25 / 0 | 1 / 0 | 3 / 0 | 0 / 0 | 4 / 3 | 1.74 | 5 / 7 | 5.17 | venue away: 6.1 vs 3 ERA (worse here) · opp run factor 1.09 (strong) · 10 prior appearances this season |
| LAA | Ryan Watson (Setup Man) | 3 / 1 | 0 / 108 (-108.00) | 0 / 4 | 0 / 4 | 0 / 2 | 0 / 0 | 0.27 | 2 / 0 | 0.95 | |
| WAS | Cade Cavalli (Starter) | 18 / 17 | 3 / 1.59 | 2 / 1 | 3 / 3 | 1 / 1 | 2 / 1 | 1.53 | 9 / 5 | 8.28 | venue home: 3.27 vs 2.94 ERA (ok) · opp run factor 1 (weak) · 30 prior appearances this season |
| WAS | Erik Tolman (Setup Man) | 3 / 4 | 9 / 20.25 (-11.25) | 1 / 3 | 1 / 4 | 0 / 0 | 1 / 0 | 0.49 | 0 / 0 | 1.62 | |
| WAS | Clayton Beeter (Closer) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0.61 | 1 / 0 | 0.97 |
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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Zach Neto (SS) | LAA | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 2 / 2 | -1.73 | 0.311 average | no signal |
| Wade Meckler (LF) | LAA | 3 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | -1.11 | 0.315 average | no signal |
| Andrés Chaparro (DH) | WAS | 3 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 2 / 1 | -1.11 | 0.342 elite | bad day |
| James Wood (RF) | WAS | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 1 / 1 | 1 / 1 | -0.93 | 0.415 elite | bad day |
| Christian Moore (2B) | LAA | 4 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0.78 | 0.245 weak | good day |
| CJ Abrams (SS) | WAS | 4 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 0 | 1 / 1 | 0.78 | 0.327 above average | projection too low |
| Brady House (3B) | WAS | 2 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 2 / 0 | 0 / 1 | 0.66 | 0.335 above average | projection too low |
| Jorbit Vivas (2B) | WAS | 3 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 0.64 | 0.3 below average | good day |
| Mike Trout (CF) | LAA | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 1 | 0 / 1 | 2 / 1 | 0.6 | 0.375 elite | projection too low |
| Josh Lowe (RF) | LAA | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.292 below average | — |
| Adam Frazier (DH) | LAA | 3 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0.47 | 0.256 weak | — |
| Denzer Guzman (3B) | LAA | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | -0.47 | 0.27 weak | — |
| Yohandy Morales (1B) | WAS | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.329 above average | — |
| Harry Ford (C) | WAS | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 0 / 1 | -0.47 | 0.289 below average | — |
| Jacob Young (CF) | WAS | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.316 average | — |
| Vaughn Grissom (1B) | LAA | 3 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 1 / 0 | 0 / 1 | -0.45 | 0.312 average | — |
| Dylan Crews (LF) | WAS | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 0 | 0 / 1 | -0.31 | 0.312 average | — |
| Moisés Ballesteros (C) | LAA | 2 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 0 | 1 / 1 | -0.14 | 0.291 below average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.213 | positive favors home; negative favors away |
| Recent form | -0.512 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.089 | positive favors home; negative favors away |
| Composite | 0.366 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.63-6.06 | n/a | Base ML historical model prediction |
| variance_applied | 5-6 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 0.576 | 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.63-6.06 | 5-6 | -0.423 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-6 | 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 |
|---|---|---|---|---|
| WAS | Cade Cavalli | pitcher / Starter | neutral | predicted_SO 2 |
| WAS | Brad Lord | pitcher / Middle Reliever (High Leverage) | worse | predicted_SO -2 |
| WAS | Dylan Crews | batter / LF | better | predicted_SO 1.968 |
| LAA | Denzer Guzman | batter / 3B | worse | predicted_2B 1.875 |
| WAS | Brady House | batter / 3B | neutral | predicted_RBI 1.72 |
| WAS | James Wood | batter / RF | better | predicted_RBI 1.54 |
| LAA | Adam Frazier | batter / DH | worse | predicted_AB 1.5 |
| WAS | Andrés Chaparro | batter / DH | better | predicted_AB 1.485 |
| 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 | 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 | LAA model-prediction batting totals differ from final simulation box score (AB: current=33, sim=34; H: current=8, sim=7; 2B: current=2, sim=3; BB: current=3, sim=2; SO: current=10, sim=5). | LAA |
| info | CURRENT_PLAYER_MATCH_BOX | LAA current finalized hitter lines are model predictions and differ from the simulation box score: Wade Meckler: AB current=4 box=3, 2B current=1 box=0, RBI current=0 box=1, SO current=1 box=0; Vaughn Grissom: RBI current=1 box=2, R current=0 box=1; Moisés Ballesteros: H current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Josh Lowe: H current=1 box=0, BB current=0 box=1, SO current=1 box=0; Christian Moore: H current=1 box=0, SO current=1 box=0; Adam Frazier: AB current=3 box=4; Mike Trout: H current=1 box=2, HR current=0 box=1, BB current=1 box=0; Denzer Guzman: AB current=3 box=4, H current=1 box=2, 2B current=0 box=2 | LAA |
| info | CURRENT_FINALIZED_MATCH_BOX | WAS model-prediction batting totals differ from final simulation box score (H: current=9, sim=8; HR: current=1, sim=2; R: current=4, sim=5; SO: current=8, sim=11). | WAS |
| info | CURRENT_PLAYER_MATCH_BOX | WAS current finalized hitter lines are model predictions and differ from the simulation box score: Andrés Chaparro: H current=1 box=2, RBI current=1 box=0, R current=0 box=1, BB current=1 box=0; Dylan Crews: 2B current=1 box=0, SO current=1 box=3; Yohandy Morales: AB current=3 box=4, H current=1 box=0, SO current=1 box=2; Brady House: H current=1 box=2, HR current=0 box=1, RBI current=1 box=2, R current=0 box=1; Jorbit Vivas: H current=1 box=0, BB current=0 box=1, SO current=0 box=1; CJ Abrams: H current=1 box=0, RBI current=1 box=0, R current=1 box=0; James Wood: AB current=4 box=3, RBI current=1 box=2; Jacob Young: 2B current=0 box=1 | WAS |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
No large single-factor errors.
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| LAD | Blake Snell | 2 ER / 17 outs | 1 ER / 17 outs | -1 |
| MIA | Ryan Gusto | 1 ER / 13 outs | 2 ER / 18 outs | 1 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
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
Blake Snell (LAD) threw 17 outs, 1 ER = 1.59 ERA against a projected 3.18 ERA (-1.59 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 6 outs.
The HOME lineup he faced produced 2 runs on 10 hits and 0 HR, against a projected 5 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
Ryan Gusto (MIA) threw 18 outs, 2 ER = 3 ERA against a projected 2.08 ERA (0.92 ERA error)
Bullpen behind him: 3 ER over 2 outs.
The AWAY lineup he faced produced 6 runs on 8 hits and 1 HR, against a projected 5 runs / 8 hits (1 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. 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 | Blake Snell (Starter) | 17 / 17 | 1.59 / 3.18 | 1 / 2 | 4 / 4 | 0 / 1 | 2 / 1 | 2.42 | 8 / 6 | 7.42 | venue away: 1.64 vs 2.14 ERA (ok) · opp run factor 0.94 (average) · 6 prior appearances this season |
| LAD | Brock Stewart (Middle Reliever (High Leverage)) | 3 / 4 | 0 / 6.75 (-6.75) | 0 / 1 | 2 / 2 | 0 / 0 | 0 / 0 | 0.52 | 1 / 0 | 0.74 | |
| LAD | Edgardo Henriquez (Setup Man) | 3 / 3 | 0 / 9 (-9.00) | 0 / 1 | 2 / 2 | 0 / 0 | 0 / 0 | 0.39 | 1 / 1 | 1.28 | |
| MIA | Ryan Gusto (Starter) | 18 / 13 | 3 / 2.08 | 2 / 1 | 5 / 2 | 0 / 1 | 3 / 2 | 1.56 | 3 / 5 | 3.62 | venue home: 4.38 vs 4.15 ERA (ok) · opp run factor 0.96 (strong) · 20 prior appearances this season |
| MIA | Victor Vodnik (Middle Reliever (High Leverage)) | 2 / 3 | 40.5 / 0 (+40.50) | 3 / 0 | 1 / 0 | 0 / 0 | 2 / 0 | 0.52 | 1 / 0 | 0.74 |
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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kyle Tucker (RF) | LAD | 3 / 4 | 3 / 1 | 0 / 0 | 1 / 0 | 1 / 0 | 5 / 0 | 2 / 1 | 0 / 1 | 0 / 0 | 2.16 | 0.326 above average | projection too low |
| Otto Lopez (SS) | MIA | 5 / 4 | 4 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 1.41 | 0.326 above average | projection too low |
| Heriberto Hernández (LF) | MIA | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -1.26 | 0.357 elite | bad day |
| Jakob Marsee (CF) | MIA | 5 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 4 / 1 | -0.8 | 0.311 average | no signal |
| Javier Sanoja (3B) | MIA | 4 / 4 | 2 / 1 | 0 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 2 / 0 | 0 / 0 | 0 / 0 | 0.78 | 0.292 below average | good day |
| Kyle Stowers (1B) | MIA | 2 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 2 / 0 | 0 / 2 | 0.66 | 0.33 above average | projection too low |
| Teoscar Hernández (LF) | LAD | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | -0.47 | 0.333 above average | — |
| Enrique Hernández (1B) | LAD | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.275 weak | — |
| Alex Freeland (2B) | LAD | 3 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0.47 | 0.287 below average | — |
| Will Smith (C) | LAD | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | -0.33 | 0.382 elite | — |
| Agustín Ramírez (C) | MIA | 2 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 0.31 | 0.272 weak | — |
| Josue De Paula (DH) | LAD | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | -0.14 | — | — |
| Mookie Betts (SS) | LAD | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 0 | 0 / 0 | -0.14 | 0.332 above average | — |
| Tommy Edman (CF) | LAD | 3 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 1 | 2 / 0 | 1 / 1 | -0.12 | 0.313 average | — |
| Max Muncy (3B) | LAD | 4 / 4 | 3 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 1 / 1 | 0 / 1 | 0.01 | 0.349 elite | — |
| Jared Serna (2B) | MIA | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 3 / 1 | 0 | 0.375 elite | — |
| Griffin Conine (DH) | MIA | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | 0 | 0.367 elite | — |
| Esteury Ruiz (RF) | MIA | 4 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.289 below average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -1.141 | positive favors home; negative favors away |
| Recent form | -0.747 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.017 | positive favors home; negative favors away |
| Composite | -1.212 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.89-3 | n/a | Base ML historical model prediction |
| variance_applied | 5-3 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 6-4 | 0.58 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 6-4 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 6-4 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 6-4 | n/a | Capped at max 12 realistic runs |
| simulation_result | 6-4 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.89-3 | 5-3 | 0.109 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-3 | 6-4 | -0 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 6-4 | 6-4 | -0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 6-4 | 6-4 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 6-4 | 6-4 | -0 | Capped at max 12 realistic runs |
| simulation_result | 6-4 | 6-4 | -0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| LAD | Blake Snell | pitcher / Starter | neutral | predicted_SO 3 |
| LAD | Max Muncy | batter / 3B | worse | predicted_SO 2.038 |
| LAD | Tanner Scott | pitcher / Closer | worse | predicted_SO -2 |
| MIA | Jakob Marsee | batter / CF | deboosted | predicted_AB -2 |
| MIA | Otto Lopez | batter / SS | worse | predicted_H 1.65 |
| LAD | Enrique Hernández | batter / 1B | better | predicted_RBI 1.643 |
| LAD | Josue De Paula | batter / DH | better | predicted_RBI 1.556 |
| MIA | Esteury Ruiz | batter / RF | worse | predicted_H 1.54 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | LAD pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | LAD |
| info | CURRENT_PITCHER_DUPLICATION | 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 | LAD model-prediction batting totals differ from final simulation box score (H: current=8, sim=6; 2B: current=1, sim=2; HR: current=1, sim=2; RBI: current=4, sim=6; R: current=5, sim=6; SO: current=7, sim=8). | LAD |
| info | CURRENT_PLAYER_MATCH_BOX | LAD current finalized hitter lines are model predictions and differ from the simulation box score: Tommy Edman: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Teoscar Hernández: AB current=4 box=3, RBI current=1 box=0, BB current=0 box=1, SO current=1 box=0; Enrique Hernández: AB current=3 box=4, 2B current=0 box=1, RBI current=0 box=2, R current=0 box=1; Will Smith: H current=1 box=0, BB current=1 box=0; Josue De Paula: AB current=3 box=4, HR current=0 box=1, RBI current=0 box=2, R current=0 box=1; Mookie Betts: H current=1 box=2, 2B current=0 box=1, HR current=0 box=1, SO current=0 box=1; Max Muncy: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Kyle Tucker: AB current=4 box=3, RBI current=0 box=1 | LAD |
| info | CURRENT_FINALIZED_MATCH_BOX | MIA model-prediction batting totals differ from final simulation box score (AB: current=33, sim=36; H: current=7, sim=9; 2B: current=1, sim=2; R: current=5, sim=4; BB: current=3, sim=1; SO: current=9, sim=7; HBP: current=0, sim=1). | MIA |
| info | CURRENT_PLAYER_MATCH_BOX | MIA current finalized hitter lines are model predictions and differ from the simulation box score: Heriberto Hernández: AB current=4 box=5, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Agustín Ramírez: H current=1 box=0, BB current=1 box=0; Javier Sanoja: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Jakob Marsee: AB current=4 box=3, 2B current=0 box=1, RBI current=0 box=1, SO current=1 box=0; Jared Serna: AB current=3 box=4, H current=0 box=1, R current=1 box=0; Griffin Conine: AB current=3 box=4, HR current=0 box=1, RBI current=1 box=2; Otto Lopez: AB current=4 box=5, H current=1 box=3, 2B current=0 box=1; Kyle Stowers: R current=0 box=1, SO current=2 box=0 | MIA |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| NYM | Nolan McLean | 2 ER / 18 outs | 5 ER / 15 outs | 3 |
| NYY | Carlos Rodón | 2 ER / 17 outs | 1 ER / 19 outs | -1 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Starter miss: Nolan McLean (NYM) posted 9.00 ERA vs projected 3.00 (5 ER in 15 outs); he faced a strong offense (opponent run factor 1.11, bucket strong).
What to do: Consider raising context.opponent_strength_weight; validate across the rolling window before promotion.
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Nolan McLean (NYM) threw 15 outs, 5 ER = 9 ERA against a projected 3 ERA (6 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The HOME lineup he faced produced 5 runs on 13 hits and 2 HR, against a projected 5 runs / 7 hits (0 runs vs projection).
Who did the damage to him:
Verdict: pitching: the starter gave up runs at a far worse rate than projected
HOME pitching
Carlos Rodón (NYY) threw 19 outs, 1 ER = 1.42 ERA against a projected 3.18 ERA (-1.76 ERA error)
Bullpen behind him: 2 ER over 8 outs.
The AWAY lineup he faced produced 4 runs on 7 hits and 1 HR, against a projected 4 runs / 7 hits (0 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. 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) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| NYM | Nolan McLean (Starter) | 15 / 18 | 9 / 3 (+6.00) | 5 / 2 | 10 / 5 | 2 / 1 | 1 / 4 | 3.04 | 5 / 6 | 5.33 | venue away: 2.49 vs 3.57 ERA (ok) · opp run factor 1.11 (strong) · 28 prior appearances this season |
| NYY | Carlos Rodón (Starter) | 19 / 17 | 1.42 / 3.18 | 1 / 2 | 3 / 6 | 0 / 1 | 1 / 0 | 2.66 | 8 / 5 | 5.54 | venue home: 2.92 vs 3.2 ERA (ok) · opp run factor 1.01 (average) · 13 prior appearances this season |
| NYY | Paul Blackburn (Middle Reliever (High Leverage)) | 1 / 4 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 2 / 0 | 0.45 | 0 / 1 | 1.32 | |
| NYY | Brent Headrick (Setup Man) | 2 / 3 | 13.5 / 0 (+13.50) | 1 / 0 | 1 / 1 | 0 / 0 | 2 / 0 | 0.3 | 0 / 0 | 1.37 | |
| NYY | David Bednar (Closer) | 5 / 3 | 5.4 / 18 (-12.60) | 1 / 2 | 2 / 2 | 1 / 1 | 0 / 1 | 0.25 | 1 / 2 | 1.26 |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| A.J. Ewing (CF) | NYM | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 1 / 1 | 0 / 0 | 0 / 1 | 1.4 | 0.322 above average | projection too low |
| Francisco Lindor (SS) | NYM | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -1.26 | 0.335 above average | bad day |
| Luis García Jr. (1B) | NYY | 4 / 4 | 3 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 1 | 0.94 | 0.351 elite | projection too low |
| Cody Bellinger (LF) | NYY | 4 / 4 | 2 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | 3 / 1 | 1 / 1 | 0 / 1 | 1 / 1 | 0.76 | 0.339 elite | projection too low |
| Ben Rice (DH) | NYY | 4 / 4 | 3 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 3 / 1 | 0 / 1 | 0 / 1 | 0.61 | 0.373 elite | projection too low |
| George Lombard Jr. (SS) | NYY | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.268 weak | — |
| Ryan McMahon (3B) | NYY | 4 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0.47 | 0.302 below average | — |
| Carson Benge (RF) | NYM | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 0 | 1 / 1 | 0.33 | 0.334 above average | — |
| Juan Soto (LF) | NYM | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 2 / 1 | -0.33 | 0.416 elite | — |
| Bo Bichette (3B) | NYM | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 0 / 0 | 1 / 1 | -0.31 | 0.328 above average | — |
| Mark Vientos (DH) | NYM | 2 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 2 / 0 | 1 / 1 | 0.19 | 0.312 average | — |
| Spencer Jones (CF) | NYY | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0 / 1 | 2 / 2 | 0.14 | 0.334 above average | — |
| Marcus Semien (2B) | NYM | 2 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 0 | 0.306 average | — |
| Christopher Morel (1B) | NYM | 2 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.223 weak | — |
| Francisco Alvarez (C) | NYM | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 0 | 0.324 above average | — |
| Aaron Judge (RF) | NYY | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 2 / 1 | 0 | 0.407 elite | — |
| Anthony Volpe (2B) | NYY | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 0 | 0.295 below average | — |
| Austin Wells (C) | NYY | 4 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.293 below average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.938 | positive favors home; negative favors away |
| Recent form | 0.083 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.097 | positive favors home; negative favors away |
| Composite | 1.111 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.58-4.24 | n/a | Base ML historical model prediction |
| variance_applied | 5-4 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-6 | 0.53 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-6 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-6 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-6 | n/a | Capped at max 12 realistic runs |
| simulation_result | 4-6 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.58-4.24 | 5-4 | -0.665 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-4 | 4-6 | 3 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-6 | 4-6 | 0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-6 | 4-6 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-6 | 4-6 | 0 | Capped at max 12 realistic runs |
| simulation_result | 4-6 | 4-6 | 0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| NYY | Ben Rice | batter / DH | worse | predicted_AB -3.02 |
| NYM | Francisco Alvarez | batter / C | worse | predicted_SO 2.835 |
| NYY | Spencer Jones | batter / CF | worse | predicted_RBI 2.31 |
| NYY | Luis García Jr. | batter / 1B | worse | predicted_AB -2.03 |
| NYM | Juan Soto | batter / LF | worse | predicted_AB -1.8 |
| NYY | Austin Wells | batter / C | better | predicted_RBI 1.72 |
| NYY | Cody Bellinger | batter / LF | worse | predicted_AB -1.47 |
| NYM | Mark Vientos | batter / DH | better | predicted_H 1.289 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | NYM pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | NYM |
| info | CURRENT_PITCHER_DUPLICATION | 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 | NYM model pitcher projections differ from final simulation pitching box score (H: current=7, sim=6). | NYM |
| info | CURRENT_FINALIZED_MATCH_BOX | NYM model-prediction batting totals differ from final simulation box score (AB: current=34, sim=36; H: current=7, sim=9; 2B: current=1, sim=2; HR: current=1, sim=2; BB: current=4, sim=1; SO: current=9, sim=8). | NYM |
| info | CURRENT_PLAYER_MATCH_BOX | NYM current finalized hitter lines are model predictions and differ from the simulation box score: Mark Vientos: H current=1 box=2, 2B current=0 box=1, R current=0 box=1, SO current=1 box=0; Carson Benge: H current=1 box=2, HR current=0 box=1, RBI current=0 box=1, SO current=1 box=0; Marcus Semien: BB current=1 box=0, SO current=1 box=0; Francisco Lindor: AB current=4 box=5, BB current=1 box=0; A.J. Ewing: R current=1 box=0; Bo Bichette: 2B current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Juan Soto: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Christopher Morel: AB current=3 box=4, H current=0 box=1, 2B current=0 box=1, RBI current=0 box=1 | NYM |
| info | CURRENT_FINALIZED_MATCH_BOX | NYY model-prediction batting totals differ from final simulation box score (AB: current=32, sim=29; H: current=7, sim=6; HR: current=1, sim=2; RBI: current=4, sim=6; R: current=5, sim=6; BB: current=4, sim=6; SO: current=10, sim=7; SF: 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: Aaron Judge: RBI current=1 box=0, BB current=1 box=0; Cody Bellinger: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Luis García Jr.: AB current=4 box=2, RBI current=1 box=0, BB current=0 box=2; Ben Rice: AB current=4 box=2, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; George Lombard Jr.: H current=1 box=0, BB current=0 box=1, SO current=1 box=0; Anthony Volpe: AB current=3 box=4, RBI current=0 box=1, R current=0 box=1, SO current=1 box=2; Spencer Jones: AB current=4 box=3, HR current=0 box=1, RBI current=0 box=3, BB current=1 box=0; Austin Wells: AB current=3 box=4, H current=0 box=1, HR current=0 box=1, RBI current=0 box=2 | NYY |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| PHI | Aaron Nola | 4 ER / 17 outs | 2 ER / 19 outs | -2 |
| ATL | Chris Sale | 2 ER / 19 outs | 3 ER / 21 outs | 1 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Starter miss: Aaron Nola (PHI) posted 2.84 ERA vs projected 6.35 (2 ER in 19 outs); he faced a strong offense (opponent run factor 1.08, bucket strong).
What to do: Consider raising context.opponent_strength_weight; validate across the rolling window before promotion.
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Aaron Nola (PHI) threw 19 outs, 2 ER = 2.84 ERA against a projected 6.35 ERA (-3.51 ERA error)
Bullpen behind him: 1 ER over 3 outs.
The HOME lineup he faced produced 3 runs on 10 hits and 2 HR, against a projected 4 runs / 9 hits (-1 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
Chris Sale (ATL) threw 21 outs, 3 ER = 3.86 ERA against a projected 2.84 ERA (1.02 ERA error)
Bullpen behind him: 0 ER over 10 outs.
The AWAY lineup he faced produced 3 runs on 6 hits and 0 HR, against a projected 4 runs / 8 hits (-1 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. 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 | Aaron Nola (Starter) | 19 / 17 | 2.84 / 6.35 (-3.51) | 2 / 4 | 6 / 9 | 2 / 0 | 3 / 1 | 1.66 | 3 / 3 | 5.88 | venue away: 4.26 vs 5.3 ERA (ok) · opp run factor 1.08 (strong) · 29 prior appearances this season |
| PHI | Jonathan Bowlan (Setup Man) | 3 / 3 | 9 / 0 (+9.00) | 1 / 0 | 2 / 0 | 0 / 0 | 0 / 0 | 0.19 | 1 / 0 | 1.26 | |
| ATL | Chris Sale (Starter) | 21 / 19 | 3.86 / 2.84 | 3 / 2 | 3 / 7 | 0 / 0 | 2 / 0 | 0.74 | 6 / 8 | 7.77 | venue home: 1.45 vs 2.74 ERA (ok) · opp run factor 0.94 (average) · 25 prior appearances this season |
| ATL | Dylan Lee (Setup Man) | 4 / 3 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 0 | 0.17 | 0 / 2 | 1.12 | |
| ATL | Raisel Iglesias (Closer) | 3 / 3 | 0 / 9 (-9.00) | 0 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 0.26 | 1 / 0 | 0.98 | |
| ATL | Didier Fuentes (Middle Reliever (High Leverage)) | 3 / 2 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 0 | 1 / 0 | 0.28 | 1 / 2 | 1.7 |
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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Kyle Schwarber (DH) | PHI | 5 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 3 / 2 | -1.73 | 0.368 elite | bad day |
| Mike Yastrzemski (LF) | ATL | 3 / 3 | 3 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 1.27 | 0.307 average | no signal |
| Austin Riley (3B) | ATL | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | 1 / 1 | 1.26 | 0.296 below average | good day |
| Trea Turner (SS) | PHI | 5 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | -0.78 | 0.293 below average | projection too high |
| Michael Harris II (CF) | ATL | 5 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | -0.78 | 0.339 elite | bad day |
| Derek Hill (CF) | PHI | 2 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 3 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0.64 | 0.287 below average | good day |
| Luis Arraez (2B) | PHI | 5 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0.47 | 0.307 average | — |
| Ozzie Albies (2B) | ATL | 5 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 1 / 1 | -0.47 | 0.284 below average | — |
| Bryce Harper (RF) | PHI | 5 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 2 / 1 | 0.45 | 0.389 elite | — |
| Drake Baldwin (DH) | ATL | 5 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | 0.45 | 0.365 elite | — |
| Ronald Acuña Jr. (RF) | ATL | 5 / 4 | 1 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -0.33 | 0.361 elite | — |
| Alec Bohm (1B) | PHI | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 0 | 1 / 1 | -0.14 | 0.322 above average | — |
| Bryan De La Cruz (LF) | PHI | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 1 / 0 | 1 / 1 | -0.14 | 0.282 weak | — |
| Edmundo Sosa (3B) | PHI | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 0 | 0.33 above average | — |
| J.T. Realmuto (C) | PHI | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 0 | 0.319 average | — |
| Mauricio Dubón (SS) | ATL | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 | 0.304 average | — |
| Matt Olson (1B) | ATL | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 1 / 1 | 1 / 1 | 0 / 1 | 0 | 0.354 elite | — |
| Sean Murphy (C) | ATL | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.256 weak | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.253 | positive favors home; negative favors away |
| Recent form | -0.206 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.133 | positive favors home; negative favors away |
| Composite | 0.56 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.09-5.59 | n/a | Base ML historical model prediction |
| variance_applied | 4-6 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 3-4 | 0.527 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 3-4 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 3-4 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 3-4 | n/a | Capped at max 12 realistic runs |
| simulation_result | 3-4 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.09-5.59 | 4-6 | 0.504 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-6 | 3-4 | -1 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 3-4 | 3-4 | 0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 3-4 | 3-4 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 3-4 | 3-4 | 0 | Capped at max 12 realistic runs |
| simulation_result | 3-4 | 3-4 | 0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| PHI | Edmundo Sosa | batter / 3B | worse | predicted_SO 2.333 |
| PHI | Derek Hill | batter / CF | worse | predicted_SO 2.104 |
| ATL | Mike Yastrzemski | batter / LF | deboosted | predicted_H 1.72 |
| ATL | Michael Harris II | batter / CF | worse | predicted_RBI 1.52 |
| PHI | Kyle Schwarber | batter / DH | worse | predicted_SO -1.475 |
| PHI | Bryan De La Cruz | batter / LF | worse | predicted_AB 1.455 |
| ATL | Sean Murphy | batter / C | worse | predicted_SO -1.227 |
| ATL | Matt Olson | batter / 1B | worse | predicted_SO -1.089 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | ATL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | ATL |
| info | CURRENT_PITCHER_DUPLICATION | PHI pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | PHI |
| info | CURRENT_FINALIZED_MATCH_BOX | ATL model-prediction batting totals differ from final simulation box score (2B: current=2, sim=1; HR: current=1, sim=0; BB: current=3, sim=1; SO: current=8, sim=4). | ATL |
| info | CURRENT_PLAYER_MATCH_BOX | ATL current finalized hitter lines are model predictions and differ from the simulation box score: Drake Baldwin: H current=1 box=2, BB current=1 box=0; Mauricio Dubón: R current=0 box=1; Ozzie Albies: H current=1 box=0, R current=1 box=0, SO current=1 box=0; Matt Olson: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Michael Harris II: H current=1 box=2, 2B current=1 box=0, RBI current=1 box=2, R current=0 box=1; Ronald Acuña Jr.: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Austin Riley: AB current=3 box=4, 2B current=0 box=1, SO current=1 box=2; Mike Yastrzemski: H current=1 box=2, RBI current=0 box=1, R current=0 box=1, SO current=1 box=0 | ATL |
| info | CURRENT_FINALIZED_MATCH_BOX | PHI model-prediction batting totals differ from final simulation box score (AB: current=32, sim=35; HR: current=1, sim=0; RBI: current=4, sim=3; R: current=4, sim=3; BB: current=2, sim=0; SO: current=9, sim=12; HBP: current=0, sim=1). | PHI |
| info | CURRENT_PLAYER_MATCH_BOX | PHI current finalized hitter lines are model predictions and differ from the simulation box score: Bryce Harper: H current=1 box=0, R current=1 box=0, BB current=1 box=0, SO current=1 box=2; Alec Bohm: RBI current=1 box=0; Edmundo Sosa: AB current=3 box=4, H current=1 box=0, RBI current=1 box=0, SO current=1 box=3; Bryan De La Cruz: AB current=3 box=4, H current=1 box=2, 2B current=0 box=1, RBI current=1 box=2; Trea Turner: 2B current=1 box=0, RBI current=0 box=1; Kyle Schwarber: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; J.T. Realmuto: H current=0 box=1, HBP current=0 box=1; Luis Arraez: H current=1 box=2 | PHI |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| PIT | Wilber Dotel | 2 ER / 15 outs | 3 ER / 6 outs | 1 |
| CHC | Shota Imanaga | 2 ER / 16 outs | 2 ER / 18 outs | 0 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Starter miss: Wilber Dotel (PIT) posted 13.50 ERA vs projected 3.60 (3 ER in 6 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
Wilber Dotel (PIT) threw 6 outs, 3 ER = 13.5 ERA against a projected 3.6 ERA (9.9 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The HOME lineup he faced produced 12 runs on 16 hits and 1 HR, against a projected 5 runs / 8 hits (7 runs vs projection).
Who did the damage to him:
Verdict: both: the starter was hit hard AND the lineup underproduced
HOME pitching
Shota Imanaga (CHC) threw 18 outs, 2 ER = 3 ERA against a projected 3.38 ERA (-0.38 ERA error)
Bullpen behind him: 0 ER over 3 outs.
The AWAY lineup he faced produced 2 runs on 7 hits and 1 HR, against a projected 5 runs / 8 hits (-3 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. 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) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| PIT | Wilber Dotel (Starter) | 6 / 15 | 13.5 / 3.6 (+9.90) | 3 / 2 | 4 / 4 | 0 / 0 | 0 / 2 | 0.56 | 1 / 7 | 5.19 | opp run factor 1 (strong) · 17 prior appearances this season |
| CHC | Shota Imanaga (Starter) | 18 / 16 | 3 / 3.38 | 2 / 2 | 5 / 6 | 1 / 0 | 2 / 2 | 1.52 | 4 / 5 | 5.35 | venue home: 4.23 vs 3.45 ERA (worse here) · opp run factor 0.94 (average) · 28 prior appearances this season |
| CHC | Trent Thornton (Setup Man) | 3 / 3 | 0 / 9 (-9.00) | 0 / 1 | 1 / 2 | 0 / 0 | 0 / 1 | 0.4 | 0 / 1 | 0.76 |
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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Alex Bregman (3B) | CHC | 4 / 4 | 3 / 1 | 1 / 1 | 0 / 0 | 1 / 0 | 2 / 1 | 2 / 1 | 0 / 0 | 0 / 1 | 1.87 | 0.318 average | no signal |
| Bryan Reynolds (DH) | PIT | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 1 | 1 / 1 | 0 / 1 | 0.93 | 0.36 elite | projection too low |
| Rafael Flores Jr. (1B) | PIT | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | -0.93 | 0.349 elite | bad day |
| Pete Crow-Armstrong (CF) | CHC | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 1 | 1 / 1 | 1 / 1 | -0.93 | 0.373 elite | bad day |
| Esmerlyn Valdez (RF) | PIT | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 2 / 1 | -0.8 | 0.334 above average | bad day |
| Konnor Griffin (SS) | PIT | 4 / 4 | 2 / 1 | 0 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 0 | 1 / 1 | 0.78 | 0.302 below average | good day |
| Nico Hoerner (SS) | CHC | 5 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0.78 | 0.324 above average | projection too low |
| Carson Kelly (C) | CHC | 3 / 3 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 1 / 1 | 0 / 0 | 0 / 1 | 0.78 | 0.31 average | no signal |
| Jared Triolo (3B) | PIT | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.29 below average | — |
| Michael Conforto (DH) | CHC | 3 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0.47 | 0.339 elite | — |
| Michael Busch (1B) | CHC | 4 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 3 / 0 | 2 / 0 | 0 / 1 | 0 / 1 | 0.45 | 0.329 above average | — |
| Nick Gonzales (2B) | PIT | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0.33 | 0.326 above average | — |
| Pedro Ramirez (2B) | CHC | 4 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 0 | 0 / 0 | 0 / 1 | 0.31 | 0.288 below average | — |
| Seiya Suzuki (RF) | CHC | 5 / 4 | 3 / 1 | 0 / 0 | 1 / 0 | 0 / 1 | 1 / 1 | 3 / 1 | 0 / 1 | 0 / 1 | 0.3 | 0.339 elite | — |
| Jake Mangum (LF) | PIT | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.284 below average | — |
| Henry Davis (C) | PIT | 2 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.288 below average | — |
| Oneil Cruz (CF) | PIT | 2 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 1 / 1 | 0 / 1 | 0 | 0.354 elite | — |
| Ian Happ (LF) | CHC | 2 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 0 / 1 | 0 | 0.313 average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.285 | positive favors home; negative favors away |
| Recent form | -0.27 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.056 | positive favors home; negative favors away |
| Composite | 0.393 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.29-5.7 | n/a | Base ML historical model prediction |
| variance_applied | 4-6 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 0.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 | 4.29-5.7 | 4-6 | 0.591 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-6 | 4-5 | -1 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by 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 |
|---|---|---|---|---|
| PIT | Jared Triolo | batter / 3B | worse | predicted_SO 2.347 |
| PIT | Esmerlyn Valdez | batter / RF | worse | predicted_H 2.235 |
| CHC | Michael Conforto | batter / DH | worse | predicted_SO 2.207 |
| PIT | Bryan Reynolds | batter / DH | better | predicted_2B 1.757 |
| PIT | Rafael Flores Jr. | batter / 1B | worse | predicted_AB 1.656 |
| PIT | Oneil Cruz | batter / CF | worse | predicted_SO -1.506 |
| CHC | Pete Crow-Armstrong | batter / CF | worse | predicted_H -1.43 |
| CHC | Alex Bregman | batter / 3B | worse | predicted_RBI 1.43 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | CHC pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | CHC |
| info | CURRENT_PITCHER_DUPLICATION | 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 | CHC model-prediction batting totals differ from final simulation box score (AB: current=33, sim=36; H: current=8, sim=10; 2B: current=1, sim=5; HR: current=2, sim=0; SO: current=8, sim=11). | CHC |
| info | CURRENT_PLAYER_MATCH_BOX | CHC current finalized hitter lines are model predictions and differ from the simulation box score: Michael Busch: 2B current=0 box=1, SO current=1 box=0; Pete Crow-Armstrong: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Nico Hoerner: RBI current=0 box=1, R current=0 box=1, SO current=0 box=1; Seiya Suzuki: AB current=4 box=5, H current=1 box=2, 2B current=0 box=1, HR current=1 box=0; Alex Bregman: AB current=4 box=5, 2B current=1 box=0, RBI current=1 box=2, SO current=1 box=2; Pedro Ramirez: AB current=3 box=4, H current=1 box=2, 2B current=0 box=1, RBI current=1 box=0; Michael Conforto: AB current=3 box=4, SO current=1 box=3; Ian Happ: AB current=4 box=3, 2B current=0 box=1, R current=1 box=0, SO current=1 box=2 | CHC |
| info | CURRENT_FINALIZED_MATCH_BOX | PIT model pitcher projections differ from final simulation pitching box score (H: current=8, sim=10; BB: current=2, sim=4). | PIT |
| info | CURRENT_FINALIZED_MATCH_BOX | PIT model-prediction batting totals differ from final simulation box score (AB: current=33, sim=37; H: current=8, sim=10; 2B: current=1, sim=3; 3B: current=0, sim=2; HR: current=1, sim=0; R: current=5, sim=4; SO: current=9, sim=7; HBP: current=0, sim=1). | PIT |
| info | CURRENT_PLAYER_MATCH_BOX | PIT current finalized hitter lines are model predictions and differ from the simulation box score: Bryan Reynolds: AB current=4 box=5, H current=1 box=2, 2B current=0 box=2, RBI current=0 box=2; Rafael Flores Jr.: AB current=4 box=5, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Esmerlyn Valdez: AB current=4 box=5, H current=1 box=3, 3B current=0 box=1, RBI current=1 box=0; Nick Gonzales: AB current=4 box=3, H current=1 box=0, BB current=0 box=1; Jake Mangum: AB current=3 box=4, H current=1 box=0, SO current=1 box=0; Jared Triolo: H current=1 box=0, BB current=0 box=1, SO current=1 box=3; Henry Davis: AB current=3 box=4, H current=0 box=1, 2B current=0 box=1, RBI current=0 box=1; Oneil Cruz: H current=1 box=2, RBI current=1 box=0, R current=1 box=0, SO current=1 box=0 | PIT |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| SD | Robbie Ray | 3 ER / 15 outs | 5 ER / 15 outs | 2 |
| SF | Anthony Molina | 4 ER / 15 outs | 7 ER / 9 outs | 3 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Starter miss: Anthony Molina (SF) posted 21.00 ERA vs projected 7.20 (7 ER in 9 outs); no credible venue, opponent-strength or experience signal explains it — an outlier start (variance).
What to do: Variance — no model change is warranted for this start.
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Robbie Ray (SD) threw 15 outs, 5 ER = 9 ERA against a projected 5.4 ERA (3.6 ERA error)
Bullpen behind him: 0 ER over 12 outs.
The HOME lineup he faced produced 5 runs on 6 hits and 1 HR, against a projected 4 runs / 7 hits (1 runs vs projection).
Who did the damage to him:
Verdict: pitching: the starter gave up runs at a far worse rate than projected
HOME pitching
Anthony Molina (SF) threw 9 outs, 7 ER = 21 ERA against a projected 7.2 ERA (13.8 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 0 outs.
The AWAY lineup he faced produced 7 runs on 12 hits and 0 HR, against a projected 4 runs / 7 hits (3 runs vs projection).
Who did the damage to him:
Verdict: pitching: the starter gave up runs at a far worse rate than projected
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. 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 | Robbie Ray (Starter) | 15 / 15 | 9 / 5.4 (+3.60) | 5 / 3 | 4 / 4 | 1 / 0 | 4 / 2 | 2.97 | 5 / 6 | 3.89 | venue away: 3.98 vs 3.2 ERA (worse here) · opp run factor 0.93 (weak) · 28 prior appearances this season |
| SD | Adrian Morejon (Setup Man) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0.38 | 2 / 1 | 1.22 | |
| SD | Bradgley Rodriguez (Middle Reliever (High Leverage)) | 3 / 3 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 0 | 0.22 | 2 / 1 | 1.14 | |
| SD | Mason Miller (Closer) | 3 / 3 | 0 / 9 (-9.00) | 0 / 1 | 1 / 1 | 0 / 1 | 2 / 0 | 0.3 | 2 / 1 | 1.86 | |
| SD | Yuki Matsui (Middle Reliever (High Leverage)) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 0.57 | 0 / 1 | 1.13 | |
| SF | Anthony Molina (Starter) | 9 / 15 | 21 / 7.2 (+13.80) | 7 / 4 | 9 / 7 | 0 / 2 | 2 / 2 | 0.45 | 4 / 2 | 6.33 | opp run factor 0.99 (average) · 6 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Dustin Harris (RF) | SD | 3 / 3 | 2 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 2 / 0 | 2 / 0 | 1 / 0 | 0 / 0 | 1.89 | 0.309 average | no signal |
| Freddy Fermin (C) | SD | 4 / 3 | 2 / 0 | 2 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1.56 | 0.275 weak | good day |
| Manny Machado (3B) | SD | 5 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -0.8 | 0.337 above average | bad day |
| Turner Hill (LF) | SF | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 2 / 0 | -0.8 | 0.331 above average | bad day |
| Jonah Cox (CF) | SF | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 1 / 0 | 1 / 1 | 0.8 | 0.256 weak | good day |
| Andrew Knizner (C) | SF | 3 / 3 | 1 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | 0.78 | 0.255 weak | good day |
| Jung Hoo Lee (RF) | SF | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | -0.78 | 0.316 average | no signal |
| Christian Koss (SS) | SF | 1 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 2 / 0 | 0 / 1 | 0.66 | 0.249 weak | good day |
| Fernando Tatis Jr. (2B) | SD | 4 / 4 | 1 / 1 | 0 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 0 | 2 / 1 | 0.64 | 0.374 elite | projection too low |
| Shay Whitcomb (3B) | SF | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.262 weak | — |
| Bryce Eldridge (1B) | SF | 5 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0 / 1 | 2 / 1 | 0.45 | 0.357 elite | — |
| Jake Cronenworth (1B) | SD | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 0 / 1 | 0.33 | 0.269 weak | — |
| Jackson Merrill (CF) | SD | 5 / 4 | 3 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 2 / 1 | 0 / 0 | 0 / 1 | 0.32 | 0.345 elite | — |
| Luis Campusano (DH) | SD | 4 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 0 | 1 / 1 | 1 / 1 | 0.31 | 0.346 elite | — |
| Osleivis Basabe (2B) | SF | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | -0.14 | 0.277 weak | — |
| Xander Bogaerts (SS) | SD | 5 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 1 / 0 | 0 / 1 | 2 / 0 | -0.02 | 0.322 above average | — |
| Samad Taylor (LF) | SD | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | 0 | 0.304 average | — |
| Rafael Devers (DH) | SF | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 4 / 1 | 1 / 1 | 1 / 1 | 1 / 1 | 0 | 0.341 elite | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.497 | positive favors home; negative favors away |
| Recent form | -0.19 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.061 | positive favors home; negative favors away |
| Composite | -0.634 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.27-4.6 | n/a | Base ML historical model prediction |
| variance_applied | 4-5 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-4 | 0.505 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by starter_quality_favours_the_other_side, projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 5-4 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 5-4 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 5-4 | n/a | Capped at max 12 realistic runs |
| simulation_result | 5-4 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.27-4.6 | 4-5 | -0.67 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 5-4 | 2 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by starter_quality_favours_the_other_side, projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 5-4 | 5-4 | -0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 5-4 | 5-4 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 5-4 | 5-4 | -0 | Capped at max 12 realistic runs |
| simulation_result | 5-4 | 5-4 | -0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| SF | Jonah Cox | batter / CF | better | predicted_AB 2.39 |
| SD | Luis Campusano | batter / DH | better | predicted_AB 2.067 |
| SD | Xander Bogaerts | batter / SS | better | predicted_HR 1.96 |
| SD | Jackson Merrill | batter / CF | worse | predicted_RBI -1.87 |
| SD | Jake Cronenworth | batter / 1B | worse | predicted_AB 1.543 |
| SF | Shay Whitcomb | batter / 3B | better | predicted_H 1.49 |
| SF | Turner Hill | batter / LF | worse | predicted_SO 1.45 |
| SF | Andrew Knizner | batter / C | worse | predicted_SO 1.375 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| 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_PITCHER_DUPLICATION | SF pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | SF |
| info | CURRENT_FINALIZED_MATCH_BOX | SD model-prediction batting totals differ from final simulation box score (AB: current=33, sim=38; H: current=7, sim=11; 2B: current=1, sim=3; HR: current=1, sim=2; RBI: current=4, sim=5; R: current=4, sim=5; SO: current=7, sim=2). | SD |
| info | CURRENT_PLAYER_MATCH_BOX | SD current finalized hitter lines are model predictions and differ from the simulation box score: Fernando Tatis Jr.: AB current=4 box=5, H current=1 box=2, 2B current=1 box=0; Jake Cronenworth: AB current=4 box=5, H current=1 box=2, 2B current=0 box=1, R current=0 box=1; Luis Campusano: AB current=4 box=5, 2B current=0 box=1, R current=0 box=1, BB current=1 box=0; Samad Taylor: AB current=4 box=3, R current=1 box=0, BB current=0 box=1, SO current=1 box=0; Dustin Harris: H current=0 box=1, 2B current=0 box=1, BB current=0 box=1; Manny Machado: AB current=4 box=5, H current=1 box=2, BB current=1 box=0, SO current=1 box=0; Jackson Merrill: AB current=4 box=5, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Xander Bogaerts: AB current=3 box=4, H current=1 box=2, HR current=0 box=2, RBI current=0 box=2 | SD |
| info | CURRENT_FINALIZED_MATCH_BOX | SF model-prediction batting totals differ from final simulation box score (AB: current=33, sim=34; 2B: current=1, sim=0; SO: current=7, sim=10). | SF |
| info | CURRENT_PLAYER_MATCH_BOX | SF current finalized hitter lines are model predictions and differ from the simulation box score: Rafael Devers: AB current=4 box=3, HR current=1 box=0; Osleivis Basabe: AB current=4 box=3, H current=1 box=0, BB current=0 box=1; Bryce Eldridge: RBI current=1 box=0, BB current=1 box=0; Turner Hill: AB current=3 box=4, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Andrew Knizner: BB current=0 box=1, SO current=1 box=2; Shay Whitcomb: H current=1 box=2, HR current=0 box=1, R current=0 box=1; Jonah Cox: AB current=4 box=5, RBI current=0 box=2, R current=0 box=1; Jung Hoo Lee: 2B current=1 box=0, SO current=0 box=1 | SF |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
No large single-factor errors.
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| SEA | George Kirby | 3 ER / 17 outs | 4 ER / 18 outs | 1 |
| OAK | Jeffrey Springs | 3 ER / 14 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
George Kirby (SEA) threw 18 outs, 4 ER = 6 ERA against a projected 4.76 ERA (1.24 ERA error)
Bullpen behind him: 1 ER over 1 outs.
The HOME lineup he faced produced 5 runs on 14 hits and 2 HR, against a projected 4 runs / 10 hits (1 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
Jeffrey Springs (OAK) threw 15 outs, 2 ER = 3.6 ERA against a projected 5.79 ERA (-2.19 ERA error)
Bullpen behind him: 1 ER over 12 outs.
The AWAY lineup he faced produced 4 runs on 9 hits and 0 HR, against a projected 4 runs / 9 hits (0 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. 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 | George Kirby (Starter) | 18 / 17 | 6 / 4.76 | 4 / 3 | 9 / 5 | 1 / 1 | 2 / 1 | 1.84 | 5 / 2 | 4.57 | venue away: 5.48 vs 3.27 ERA (worse here) · opp run factor 0.94 (weak) · 27 prior appearances this season |
| SEA | José A. Ferrer (Setup Man) | 1 / 3 | 0 / 27 (-27.00) | 0 / 3 | 2 / 2 | 0 / 0 | 0 / 3 | 0.48 | 0 / 1 | 0.85 | |
| SEA | Eduard Bazardo (Middle Reliever (High Leverage)) | 0 / 3 | n/a / 0 | 1 / 0 | 1 / 1 | 1 / 0 | 0 / 0 | 0.36 | 0 / 2 | 0.74 | |
| OAK | Jeffrey Springs (Starter) | 15 / 14 | 3.6 / 5.79 | 2 / 3 | 6 / 5 | 0 / 0 | 2 / 0 | 2.1 | 1 / 5 | 3.57 | venue home: 7.18 vs 4.76 ERA (worse here) · opp run factor 0.94 (weak) · 26 prior appearances this season |
| OAK | Luis Medina (Middle Reliever (High Leverage)) | 3 / 4 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0.63 | 2 / 1 | 1.78 | |
| OAK | Elvis Alvarado (Closer) | 3 / 3 | 0 / 9 (-9.00) | 0 / 1 | 1 / 2 | 0 / 0 | 0 / 0 | 0.5 | 1 / 1 | 1.11 | |
| OAK | Hogan Harris (Setup Man) | 3 / 3 | 0 / 18 (-18.00) | 0 / 2 | 0 / 2 | 0 / 2 | 1 / 0 | 0.51 | 0 / 3 | 1.23 | |
| OAK | Scott Blewett (Middle Reliever (High Leverage)) | 3 / 3 | 9 / 0 (+9.00) | 1 / 0 | 1 / 3 | 1 / 0 | 0 / 0 | 0.51 | 0 / 0 | 1.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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Donovan Walton (SS) | OAK | 5 / 3 | 3 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 1 / 1 | 0 / 1 | 0 / 0 | 1.54 | 0.339 elite | projection too low |
| Lawrence Butler (RF) | OAK | 5 / 4 | 3 / 1 | 1 / 1 | 0 / 0 | 1 / 0 | 2 / 1 | 1 / 0 | 0 / 1 | 0 / 1 | 1.54 | 0.315 average | no signal |
| Zack Gelof (3B) | OAK | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 1 | -0.93 | 0.308 average | no signal |
| Dominic Canzone (RF) | SEA | 5 / 4 | 2 / 1 | 0 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0.78 | 0.349 elite | projection too low |
| Randy Arozarena (LF) | SEA | 5 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 1 | 0 / 1 | 1 / 1 | -0.64 | 0.347 elite | bad day |
| Cole Young (2B) | SEA | 4 / 3 | 1 / 1 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0.62 | 0.315 average | no signal |
| Julio Rodríguez (CF) | SEA | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 1 / 0 | 1 / 1 | -0.6 | 0.335 above average | bad day |
| Cal Raleigh (C) | SEA | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 1 / 1 | 0 / 1 | -0.47 | 0.312 average | — |
| Josh Naylor (1B) | SEA | 5 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 0 | 0 / 0 | 0.47 | 0.312 average | — |
| Taylor Ward (DH) | SEA | 1 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | -0.47 | 0.335 above average | — |
| Weston Wilson (3B) | SEA | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.253 weak | — |
| Henry Bolte (CF) | OAK | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 1 / 1 | -0.33 | 0.318 average | — |
| Carlos Cortes (LF) | OAK | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 0 | 2 / 1 | 0.33 | 0.305 average | — |
| Jeff McNeil (2B) | OAK | 4 / 4 | 2 / 2 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 2 / 0 | 1 / 0 | 0 / 0 | 0.33 | 0.306 average | — |
| J.P. Crawford (SS) | SEA | 5 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0.14 | 0.323 above average | — |
| Max Muncy (DH) | OAK | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.293 below average | — |
| Tommy White (1B) | OAK | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | 0 | 0.299 below average | — |
| Jonah Heim (C) | OAK | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.29 below average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.514 | positive favors home; negative favors away |
| Recent form | 0.218 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.007 | positive favors home; negative favors away |
| Composite | -0.423 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 5.24-5.19 | n/a | Base ML historical model prediction |
| variance_applied | 5-5 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 7-6 | 0.506 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 7-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 | 5.24-5.19 | 5-5 | -0.048 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-5 | 7-6 | 1 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 7-6 | 7-6 | -0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 7-6 | 7-6 | -0 | 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 |
|---|---|---|---|---|
| SEA | Dominic Canzone | batter / RF | better | predicted_RBI 3.488 |
| SEA | J.P. Crawford | batter / SS | worse | predicted_SO 2.149 |
| SEA | Julio Rodríguez | batter / CF | worse | predicted_SO 2.007 |
| OAK | Jeffrey Springs | pitcher / Starter | worse | predicted_ER 2 |
| OAK | Hogan Harris | pitcher / Setup Man | better | predicted_ER -2 |
| OAK | Tommy White | batter / 1B | worse | predicted_RBI 1.805 |
| SEA | Taylor Ward | batter / DH | better | predicted_H 1.73 |
| OAK | Henry Bolte | batter / CF | better | predicted_RBI 1.67 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | OAK pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | OAK |
| info | CURRENT_PITCHER_DUPLICATION | SEA pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | SEA |
| info | CURRENT_FINALIZED_MATCH_BOX | OAK model pitcher projections differ from final simulation pitching box score (ER: current=6, sim=7). | OAK |
| info | CURRENT_FINALIZED_MATCH_BOX | OAK model-prediction batting totals differ from final simulation box score (AB: current=33, sim=35; H: current=10, sim=8; 2B: current=2, sim=3; RBI: current=5, sim=6; R: current=4, sim=6; BB: current=3, sim=4; SO: current=7, sim=6; HBP: current=0, sim=1). | OAK |
| info | CURRENT_PLAYER_MATCH_BOX | OAK current finalized hitter lines are model predictions and differ from the simulation box score: Henry Bolte: AB current=4 box=5, H current=1 box=2, RBI current=0 box=2, BB current=1 box=0; Max Muncy: H current=1 box=0, R current=0 box=1, SO current=1 box=0; Donovan Walton: H current=1 box=0, R current=1 box=0, SO current=0 box=1; Tommy White: 2B current=0 box=1, RBI current=0 box=2; Carlos Cortes: 2B current=0 box=1, RBI current=1 box=0, R current=0 box=1, BB current=0 box=1; Zack Gelof: H current=1 box=2, 2B current=0 box=1, SO current=1 box=0, HBP current=0 box=1; Jonah Heim: H current=1 box=0, BB current=0 box=1, SO current=1 box=2; Jeff McNeil: AB current=4 box=5, H current=2 box=1, 2B current=1 box=0, RBI current=1 box=0 | OAK |
| info | CURRENT_FINALIZED_MATCH_BOX | SEA model-prediction batting totals differ from final simulation box score (AB: current=33, sim=39; H: current=9, sim=12; HR: current=1, sim=2; RBI: current=4, sim=7; R: current=4, sim=7; BB: current=4, sim=0; SO: current=7, sim=10; HBP: current=0, sim=1). | SEA |
| info | CURRENT_PLAYER_MATCH_BOX | SEA current finalized hitter lines are model predictions and differ from the simulation box score: Dominic Canzone: AB current=4 box=5, H current=1 box=2, 2B current=1 box=0, HR current=0 box=1; Randy Arozarena: AB current=4 box=5, H current=1 box=2, RBI current=1 box=0, BB current=1 box=0; J.P. Crawford: AB current=4 box=5, RBI current=0 box=1, R current=0 box=1, BB current=1 box=0; Julio Rodríguez: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Cal Raleigh: AB current=4 box=5, H current=1 box=2, BB current=1 box=0; Josh Naylor: H current=1 box=0, SO current=0 box=1; Taylor Ward: AB current=3 box=4, H current=1 box=2, HR current=0 box=1, RBI current=0 box=1; Weston Wilson: 2B current=0 box=1, R current=0 box=1, SO current=1 box=0, HBP current=0 box=1 | SEA |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| TEX | MacKenzie Gore | 4 ER / 15 outs | 4 ER / 12 outs | 0 |
| ARI | Merrill Kelly | 5 ER / 16 outs | 1 ER / 13 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:
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
MacKenzie Gore (TEX) threw 12 outs, 4 ER = 9 ERA against a projected 7.2 ERA (1.8 ERA error)
Bullpen behind him: 3 ER over 5 outs.
The HOME lineup he faced produced 7 runs on 11 hits and 2 HR, against a projected 5 runs / 8 hits (2 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
HOME pitching
No settled pitching line for this club. The forecast named Merrill Kelly (ARI) at a projected 8.44 ERA, but the per-player feed carries no pitching row for him in this game, so the actual-versus-projected comparison cannot be made on this side. That is a source-coverage gap in the settled box, not a forecasting failure.
Bullpen behind him: 0 ER over 0 outs.
The AWAY lineup he faced produced 1 runs on 4 hits and 0 HR, against a projected 5 runs / 8 hits (-4 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. 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) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| TEX | MacKenzie Gore (Starter) | 12 / 15 | 9 / 7.2 | 4 / 4 | 5 / 5 | 0 / 1 | 3 / 1 | 2.61 | 2 / 2 | 5.08 | venue away: 5.62 vs 3.36 ERA (worse here) · opp run factor 1.02 (average) · 30 prior appearances this season |
| TEX | Chase Silseth (Middle Reliever (High Leverage)) | 2 / 3 | 40.5 / 0 (+40.50) | 3 / 0 | 2 / 0 | 0 / 0 | 0 / 0 | 0.75 | 0 / 0 | 1.21 | |
| TEX | Jakob Junis (Setup Man) | 3 / 3 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 0 | 1 / 0 | 0.34 | 0 / 1 | 0.67 |
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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Nolan Arenado (3B) | ARI | 3 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 1 / 1 | 1 / 0 | 0 / 1 | 1.11 | 0.291 below average | good day |
| Ketel Marte (2B) | ARI | 5 / 4 | 2 / 1 | 2 / 0 | 0 / 0 | 0 / 0 | 3 / 1 | 2 / 1 | 0 / 0 | 0 / 0 | 1.09 | 0.348 elite | projection too low |
| Corey Seager (SS) | TEX | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | -0.8 | 0.352 elite | bad day |
| Corbin Carroll (RF) | ARI | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 1 / 1 | 0 / 1 | 1 / 1 | 0.6 | 0.343 elite | projection too low |
| Joc Pederson (DH) | TEX | 5 / 3 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | -0.48 | 0.343 elite | — |
| Ezequiel Duran (3B) | TEX | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 1 | -0.47 | 0.305 average | — |
| Evan Carter (CF) | TEX | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 2 / 1 | -0.47 | 0.278 weak | — |
| Nicky Lopez (2B) | TEX | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | -0.47 | 0.26 weak | — |
| Danny Jansen (C) | TEX | 2 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0.47 | 0.255 weak | — |
| Ildemaro Vargas (1B) | ARI | 5 / 4 | 2 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 0 / 0 | 1 / 0 | 0.47 | 0.299 below average | — |
| Geraldo Perdomo (SS) | ARI | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | -0.47 | 0.326 above average | — |
| Jordan Lawlar (CF) | ARI | 4 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 0.31 | 0.302 below average | — |
| Gabriel Moreno (C) | ARI | 5 / 4 | 2 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 2 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | -0.17 | 0.363 elite | — |
| Jake Burger (1B) | TEX | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 0 | 2 / 1 | -0.14 | 0.32 average | — |
| Brandon Nimmo (RF) | TEX | 2 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 2 / 0 | 1 / 1 | -0.12 | 0.348 elite | — |
| Wyatt Langford (LF) | TEX | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 2 / 0 | 0 | 0.315 average | — |
| Lourdes Gurriel Jr. (DH) | ARI | 2 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.272 weak | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.085 | positive favors home; negative favors away |
| Recent form | -0.493 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.024 | positive favors home; negative favors away |
| Composite | -0.384 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.76-3.69 | 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.568 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 6-4 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 6-4 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 6-4 | n/a | Capped at max 12 realistic runs |
| simulation_result | 6-4 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.76-3.69 | 5-4 | -0.074 | 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 matchup_recency_guardrail) |
| embedded_savant_run_environment | 5-4 | 6-4 | 1 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 6-4 | 6-4 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 6-4 | 6-4 | -0 | Capped at max 12 realistic runs |
| simulation_result | 6-4 | 6-4 | -0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| TEX | Nicky Lopez | batter / 2B | better | predicted_AB 2.35 |
| TEX | Danny Jansen | batter / C | neutral | predicted_AB 1.942 |
| TEX | Evan Carter | batter / CF | better | predicted_2B 1.896 |
| TEX | Joc Pederson | batter / DH | deboosted | predicted_BB 1.649 |
| TEX | Ezequiel Duran | batter / 3B | worse | predicted_AB 1.434 |
| TEX | Wyatt Langford | batter / LF | better | predicted_H 1.3 |
| ARI | Ryan Waldschmidt | batter / LF | worse | predicted_H 1.16 |
| TEX | Jake Burger | batter / 1B | worse | predicted_SO -1.079 |
| 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 | 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 | ARI model-prediction batting totals differ from final simulation box score (AB: current=34, sim=32; H: current=8, sim=6; 3B: current=0, sim=1; R: current=5, sim=4; BB: current=3, sim=1; SO: current=6, sim=5; SF: current=0, sim=1; HBP: current=0, sim=2). | ARI |
| info | CURRENT_PLAYER_MATCH_BOX | ARI current finalized hitter lines are model predictions and differ from the simulation box score: Ketel Marte: 3B current=0 box=1; Gabriel Moreno: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Ildemaro Vargas: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Lourdes Gurriel Jr.: AB current=4 box=3, SO current=1 box=0, HBP current=0 box=1; Geraldo Perdomo: AB current=4 box=3, H current=1 box=0, SO current=0 box=1; Ryan Waldschmidt: AB current=3 box=4, H current=0 box=2, 2B current=0 box=1, SO current=1 box=0; Corbin Carroll: AB current=4 box=3, H current=1 box=0, RBI current=0 box=1, BB current=1 box=0; Jordan Lawlar: HR current=0 box=1, RBI current=0 box=1, R current=0 box=1, HBP current=0 box=1 | ARI |
| info | CURRENT_FINALIZED_MATCH_BOX | TEX model-prediction batting totals differ from final simulation box score (AB: current=31, sim=40; H: current=8, sim=13; 2B: current=1, sim=4; RBI: current=4, sim=6; R: current=5, sim=6; BB: current=3, sim=5). | TEX |
| info | CURRENT_PLAYER_MATCH_BOX | TEX current finalized hitter lines are model predictions and differ from the simulation box score: Ezequiel Duran: AB current=4 box=5, RBI current=1 box=0, R current=1 box=0; Corey Seager: RBI current=0 box=1; Brandon Nimmo: 2B current=1 box=0, RBI current=1 box=0, BB current=0 box=1; Wyatt Langford: AB current=4 box=5, H current=1 box=2, HR current=0 box=1, RBI current=0 box=1; Joc Pederson: H current=1 box=2, HR current=1 box=0, RBI current=1 box=0, BB current=1 box=2; Jake Burger: AB current=3 box=4, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Evan Carter: AB current=3 box=5, H current=1 box=2, 2B current=0 box=2, RBI current=0 box=2; Nicky Lopez: AB current=3 box=5, H current=1 box=3, 2B current=0 box=2, RBI current=0 box=1 | TEX |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
Each candidate fix, and exactly which games it would help versus hurt. A lever that repairs one game and breaks two is visible here before it is proposed.
> Coverage receipt: COMPLETE · 9/8 sections; 15/15 games; 5/5 causes; 6/6 sources
The manifest contains seven expected artifacts:
| Source | Status | Size | Purpose |
|---|---|---|---|
prediction review | Loaded | 377,381 bytes | Official outcomes and scoring errors |
forensic deep audit | Loaded | 240,613 bytes | Probability, provenance, starter, and decision contracts |
continuous learning | Loaded | 2,544,895 bytes | Stage quality, calibration, lineage, score distribution, starter comparisons |
detailed report | Loaded | 352,194 bytes | Full game and simulation rendering |
ultra detailed player audit | Loaded | 32,629,527 bytes | Player-level prediction trace |
structural audit | Loaded | 1,840,289 bytes | Invariant findings |
integrity revision audit | Missing | — | Post-remediation proof for immutable revision artifacts |
The missing integrity-revision audit is the only explicit source gap. It prevents verification of post-Luna immutable-revision artifacts, but the game-level structural audits report clean saved artifacts.
All 15 expected games were reviewed:
BAL@TOR, CHW@STL, CIN@MIL, CLE@MIN, COL@DET, HOU@TB, KC@BOS, LAA@WAS, LAD@MIA, NYM@NYY, PHI@ATL, PIT@CHC, SD@SF, SEA@OAK, and TEX@ARI.
Coverage is complete:
20260911. Player adjustments can therefore be reviewed as forecast inputs, but player-level realized outcomes cannot be used to verify those adjustments.CHW@STL, COL@DET, and LAA@WAS. Their published probabilities differ materially from calibrated/governed values without a recorded transformation.high_raw_cluster correctly identifies two games, but its threshold is 0.65, while the broader slate includes other probabilities above or near that level at intermediate stages. This is not necessarily an error, but the cluster definition should be checked against whether it uses raw, calibrated, or published probability.---
KC@BOS at 0.42625 and TEX@ARI at 0.322638.Winner accuracy was acceptable and above the validated baseline, but it was not uniformly strong:
BAL@TOR, CLE@MIN, SEA@OAK, and arguably TEX@ARI at a 0.136 away edge.KC@BOS was the clearest conviction failure: published home probability 0.652878, actual winner KC.Pipeline winner accuracy was not monotonic:
historical_ml: 9/15 = 60.0%variance_applied: 8/15 = 53.33%enhanced_prediction: 10/15 = 66.67%The variance stage caused a one-win regression before later recovery. That intermediate regression must not be erased by the final score.
Calibration is the largest probability-quality concern.
KC@BOS missed; LAD@MIA hit after a substantial recorded recency adjustment.The correct diagnosis is not simply “lower all probabilities.” The calibration evidence is unstable on this slate, but the high-confidence miss and the trend record justify a bounded shadow test of confidence moderation.
Score accuracy is weak and structurally compressed.
The run-model issue is a high model risk, not a critical contract failure. The data explicitly says not to infer that exact-score tuning alone will solve it.
Starter projections were mixed:
BAL@TOR, CIN@MIL, CLE@MIN, NYM@NYY, SD@SF, and TEX@ARI.Cross-slate starter ERA error is not persistent: only 6 of 12 slates share its sign, with z = 0.26. No broad starter-weight change is justified from that trend alone.
Artifact integrity was strong at the game level:
| ID | Severity | Evidence | Games | Action | Guardrail |
|---|---|---|---|---|---|
unexplained_probability_publication_delta | Critical | Three games have unexplained calibrated-to-published deltas ≥2 percentage points | CHW@STL, COL@DET, LAA@WAS | Block promotion until the missing transformation is recorded and reconciled | Do not assume governor bypass before tracing pick-side math |
single_slate_calibration_instability | High | Weighted absolute calibration error 0.2091 over 15 games | All 15 | Monitor the same buckets over the rolling window; do not immediately retune calibration weights | One slate is too small for a stable calibration curve |
weak_run_model_signal | High | Run R² approximately 0.012–0.021 on 2,165 rows | All 15 | Investigate features/target with isolated training backtest | Positive R² does not make exact scores reliable |
complete_slate_audit_coverage | Info | 15/15 structurally audited | All 15 | Retain per-game audit receipts | Coverage does not cancel internal findings |
simulation_inert_on_slate | Info on this slate, escalated cross-slate | Zero flip candidates and zero published flips | All 15 | Measure simulation contribution across rolling slates; cross-slate evidence now requires code/diagnostic action | No winner flips does not prove no score reconciliation occurred |
---
Notation:
P = published probability for the selected side.edge = published system confidence edge, using the supplied home-minus-away convention.err = team-run absolute error.bias = total-run bias, actual total minus projected total as represented by the game record.projected ER/ERA/outs → actual ER/ERA/outs.P=0.505 home; edge +0.010; bucket toss_upP=0.598363 home; edge +0.1967; bucket moderateP=0.540 home; edge +0.08; bucket leanP=0.505263 home; edge +0.0105; bucket toss_upP=0.541169 home; edge +0.0823; bucket leanP=0.505 home; edge +0.010; bucket toss_upP=0.652878 home; edge +0.3058; bucket strongP=0.575673 home; edge +0.1513; bucket moderateP=0.58 for away LAD; edge −0.16 home, equivalent away edge 0.16; bucket moderateP=0.53 home; edge +0.06; bucket leanP=0.527156 home; edge +0.0543; bucket leanP=0.53 home; edge +0.06; bucket leanP=0.495 home, therefore away SD selected; edge −0.01 home; bucket toss_upP=0.494196 home, away SEA selected; edge −0.0116 home; bucket toss_upP=0.568012 away; away edge 0.136; bucket moderate---
| Game | Earliest wrong-direction movement | Classification | Reconstruction |
|---|---|---|---|
BAL@TOR | historical_ml already favored BAL: 4.35 away vs 4.19 home | Bad weighting / near-toss-up direction | Variance moved to 4–4, then enhanced prediction moved toward TOR 4–5. The model ended on the wrong side with only a 0.01 edge. Starter miss, especially Scherzer allowing 6 ER instead of 3, reinforced the loss. |
CLE@MIN | historical_ml favored CLE: 4.64 away vs 4.04 home | Bad weighting / later winner-direction regression | Variance retained CLE at 5–4, but enhanced prediction flipped to MIN 4–5. The actual result was CLE 5–2. Both starters outperformed ER projections, especially Bradley, but that does not explain the winner-direction flip by itself. |
KC@BOS | historical_ml favored BOS and the model remained on BOS | Run-environment miss plus overconfidence | No winner-direction regression occurred. BOS was backed with real conviction, but actual total was 5 versus projected 10. The score distribution was too narrow and the model overtrusted season/recent edges despite the pitcher edge being slightly against BOS. |
SEA@OAK | historical_ml was essentially tied, 5.24 SEA vs 5.19 OAK | Bad weighting / score-stage regression | Variance tied the game; enhanced prediction moved to SEA 7–6. The actual result was OAK 6–5. The blend temporarily favored OAK, but later stages/publication selected SEA. This is an intermediate winner-direction regression even though the final result was a toss-up. |
TEX@ARI | historical_ml favored TEX, 4.76–3.69 | Bad input or weighting, then starter error | The model remained on TEX through all stages, increasing TEX to 6 runs after Savant adjustment. Kelly allowed 1 ER rather than 5, a 4-ER projection error; ARI scored 9. This was not a near coin flip: the away edge was 0.136. |
BAL@TOR, CLE@MIN, and SEA@OAK, where later stages moved toward the wrong winner direction.KC@BOS, where 0.652878 was too strong for the realized result; not proven as the sole cause of the toss-up losses.TEX@ARI; materially contributed in BAL@TOR, and affected several score misses.CIN@MIL, PIT@CHC, KC@BOS, and TEX@ARI; bullpen-specific causal attribution is not proven because player actuals are absent.KC@BOS; important in CIN@MIL, PHI@ATL, and PIT@CHC.BAL@TOR, CLE@MIN, and SEA@OAK, all with approximately 0.01 published edges.A 0.12 home-away confidence edge is moderate, not a near coin flip. The record supports treating TEX@ARI differently from the three 0.01 toss-ups.
| Stage | Winner accuracy | Team-run MAE | Total-run MAE | Margin MAE |
|---|---|---|---|---|
historical_ml | 60.0% (9/15) | 2.4049 | 2.8753 | 4.1176 |
variance_applied | 53.33% (8/15) | 2.4000 | 2.9333 | 4.1333 |
enhanced_prediction | 66.67% (10/15) | 2.4333 | 2.7333 | 3.9333 |
embedded_savant_run_environment | 66.67% | 2.4000 | 2.5333 | 3.8667 |
fundamental_edge_target_review | 66.67% | 2.4000 | 2.5333 | 3.8667 |
capped_target | 66.67% | 2.4000 | 2.5333 | 3.8667 |
simulation_result | 66.67% | 2.4000 | 2.5333 | 3.8667 |
published_final | 66.67% | 2.4000 | 2.5333 | 3.8667 |
Transitions:
HOU@TB, NYM@NYY, and SD@SF improved, while CLE@MIN regressed. Margin MAE improved by 0.20, but team-run MAE worsened by 0.0333.The later recovery does not erase the variance-stage winner regression or the enhanced-stage CLE@MIN regression. The simulation generated no independent winner intervention on this slate.
---
Lever: score.variance_multiplier / score.variance_floor
Target metrics: Brier score and calibration error.
KC@BOS: actual 5 total versus projected 10; wider tails reduce overcommitment.TEX@ARI: actual 10-run differential versus predicted 2; wider tails acknowledge score uncertainty.CHW@STL: correct moderate call at 0.20; widening may soften a good edge.Lever: player.pitcher.v4 form weights / player.pitcher_prior_games
Target metrics: starter ER MAE and starter outs MAE.
BAL@TOR, Scherzer off by 3 ER.CIN@MIL, Abbott/May errors up to 4 ER.CLE@MIN, Bradley off by 3 ER.NYM@NYY, McLean off by 3 ER.SD@SF, Molina off by 3 ER.TEX@ARI, Kelly off by 4 ER.CHW@STL, LAA@WAS, LAD@MIA, and PIT@CHC, where starter ER was off by only 1.SEA@OAK, also only 1 ER error despite being a winner miss.Lever: recent.* / season.* run-mean weighting
Target metrics: team-run MAE, total-run MAE, accuracy.
BAL@TOR, CIN@MIL, CLE@MIN, HOU@TB, KC@BOS, PHI@ATL, PIT@CHC, TEX@ARI.CHW@STL, LAA@WAS, LAD@MIA, NYM@NYY, SEA@OAK.BAL@TOR, CLE@MIN, and SEA@OAK; the slate also contains correct toss-up calls in HOU@TB and SD@SF.TEX@ARI missed; recency guardrails were recorded and helped preserve correct direction in other games.LAD@MIA hit after a large adjustment; KC@BOS was a high-confidence loss.CHW@STL moderate correct call.---
CHW@STL: calibrated/governed 0.623, published 0.598363, delta −2.4637 pp.COL@DET: calibrated/governed 0.6071, published 0.541169, delta −6.5931 pp.LAA@WAS: calibrated/governed 0.6177, published 0.575673, delta −4.2027 pp.missing.Prediction-model/process risks:
KC@BOS.Presentation/artifact/contract defects:
The lineage was audited from raw model → calibrated → governor → score coherence/recency → published.
BAL@TOR: calibrated 0.508 → published 0.505; recorded recency guardrail.CIN@MIL: 0.6213 → 0.54; recorded score coherence and recency.KC@BOS: 0.6529 → 0.652878; essentially unchanged.LAD@MIA: 0.6905 → 0.58; recorded score coherence and matchup-recency guardrail.NYM@NYY: 0.6162 → 0.53; recorded recency guardrail.TEX@ARI: 0.58 → 0.568012; recorded recency.CHW@STLCOL@DETLAA@WASA bypass should be called only for those three pending mathematical trace reconciliation. Other large deltas have recorded transformations.
---
The cross-slate evidence covers 11 slates for most trends and 12 slates for the separate bias analysis. A single slate is noise, but escalated findings are explicitly established failures.
| Finding | Consecutive-slate count | Present now? | Interpretation |
|---|---|---|---|
high_raw_probability_cluster | 0 | No | Occurred in 2 of 11 slates but is not current; no immediate lever move |
pipeline_winner_instability | 0 | No | Occurred in 3 of 11; not current and not escalated |
score_margin_compression | 0 | No | Occurred in 2 of 11; not current as a registered finding, although current margin data is concerning |
simulation_inert_on_slate | 11 | Yes | Established persistent failure, not single-slate noise |
single_slate_calibration_instability | 1 | Yes | Current slate contributes to an incidence of 5/11, but its consecutive streak is only one; do not call the calibration curve stable |
weak_run_model_signal | 11 | Yes | Established persistent failure, not single-slate noise |
simulation_inert_on_slatesimulation.allow_scoreweak_run_model_signaltraining.xgb.n_estimators, training.xgb.max_depth, training.xgb.learning_ratemargin_bias: regressing; mean −1.6468. This means predicted margins remain too narrow.mean_team_run_error_on_losses: improving; mean 5.8676 across the series. Current slate is 5.0, better than the series mean, but still large.weighted_calibration_error: regressing; mean 0.1643. Current slate 0.2091 is worse than the mean.winner_accuracy: improving; mean 0.5751. Current slate 0.6667 is above the series mean.20260911 after three prior hits (20260908–20260910). This is not a long loss streak, but the current miss matters because it was a high-conviction failure.---
Ranked by persistence, scope, expected metric, affected games, and regression risk.
simulation_inert_on_slate, 11 consecutive slates.simulation.allow_score; target metrics team-run MAE and total-run MAE.KC@BOS, CIN@MIL, PIT@CHC, and TEX@ARI.CHW@STL, LAA@WAS, and LAD@MIA.weak_run_model_signal, 11 consecutive slates.training.xgb.n_estimators, training.xgb.max_depth, training.xgb.learning_rate; however, the finding explicitly says these are not sufficient and is not parameter-actionable.CIN@MIL, KC@BOS, PIT@CHC, and TEX@ARI, where run tails were badly missed.CHW@STL, LAA@WAS, LAD@MIA, and NYM@NYY.KC@BOS high-confidence miss; current weighted calibration error 0.2091, high-conviction miss rate 0.4.confidence.base_cap and confidence.moderate_cap.KC@BOS most directly; also moderates TEX@ARI and other games where intermediate probabilities were stronger than the evidence warranted.CHW@STL moderate call and reduce useful separation in LAD@MIA, LAA@WAS, and COL@DET.score.variance_multiplier or score.variance_floor.KC@BOS, TEX@ARI, CIN@MIL, PIT@CHC.CHW@STL, LAA@WAS, LAD@MIA, and NYM@NYY.context.opponent_strength_weight; cross-slate starter ERA bias is not persistent.score.variance_floor based only on the lineup-run negative bias; that bias is not separable from noise.---
KC@BOS was the most important model-quality failure: a 0.6529 published probability backed the wrong team in a low-scoring game.TEX@ARI was a meaningful moderate-edge miss, not a coin flip, driven primarily by Merrill Kelly’s four-ER projection error and an offense/run-distribution miss.The safest immediate action is to block promotion and run a shadow audit of the complete probability lineage for CHW@STL, COL@DET, and LAA@WAS, while separately repairing the simulation’s independent win-distribution path. This addresses the only critical contract failure first and targets the strongest persistent process defect without making an unvalidated production parameter change.