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_20260926.json | 353204 |
| forensic deep audit | loaded | probability, provenance, starter and decision contracts | /app/output/reports/PREDICTION_SYSTEM_DEEP_AUDIT_20260926.json | 224838 |
| continuous learning | loaded | pipeline-stage quality, calibration, probability lineage, score distribution, and official starter comparisons | /app/output/learning/continuous_learning_daily_20260926.json | 2260701 |
| detailed report | loaded | full game and simulation rendering | /app/output/reports/detailed_20260926.html | 333438 |
| ultra detailed player audit | loaded | player-level prediction trace | /app/output/reports/20260926_ultra_detailed_player_audit.html | 30438507 |
| structural audit | loaded | all invariant findings | /app/output/reports/audit_report_20260926.html | 1729792 |
| integrity revision audit | missing | post-Luna remediation proof for immutable revision artifacts | /app/output/reports/audit_report_20260926_integrity_revision.html | n/a |
Deterministic findings across data integrity, model validation, calibration, score distribution, pipeline stages, simulation, and coverage. Critical is reserved for broken evidence or an unexplained contract violation; high marks material model/process risk. Each row pairs the action to take (Do this) with the wrong conclusion to avoid (Don't conclude).
| Severity | Domain | Finding and evidence | Affected | Action & guardrail |
|---|---|---|---|---|
| CRITICAL | probability_lineage | Published probability differs materially without a recorded transformation 1 game(s) have an unexplained ≥2pp calibrated-to-published delta | COL@CHW | 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 | pipeline_stages | An intermediate stage materially degraded winner direction historical_ml → variance_applied changed winner accuracy by -0.2308 (-3 hits) | CLE@KC, HOU@OAK, NYM@WAS | Do thisList the exact games whose winner flipped at this stage, and keep both the before-stage and after-stage picks in the trace. Don't concludeEven if a later stage recovers the pick, this unstable step is still a risk; do not treat it as harmless. |
| HIGH | score_distribution | Published margins are compressed relative to realized margins 12/13 predictions were ≤2 runs; 8/13 actual margins were ≥4; mean predicted margin 1.62 vs actual 4.62 | ATL@MIA, CLE@KC, HOU@OAK, LAA@SEA, NYM@WAS, TB@PHI, TEX@MIN | Do thisCheck whether predicted margins are too narrow across several recent out-of-sample slates (measuring tail coverage and margin MAE) before widening the score spread. Don't concludeA single blowout game is not a reason to widen every score prediction. |
| HIGH | calibration | Published confidence buckets were poorly aligned on this slate weighted absolute calibration error 0.1524 across 13 games | ARI@SD, ATL@MIA, CIN@TOR, CLE@KC, COL@CHW, HOU@OAK, LAA@SEA, LAD@SF, NYM@WAS, PIT@DET, STL@MIL, TB@PHI, TEX@MIN | 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.0141/0.0320/0.0038 | ARI@SD, ATL@MIA, CIN@TOR, CLE@KC, COL@CHW, HOU@OAK, LAA@SEA, LAD@SF, NYM@WAS, PIT@DET, STL@MIL, TB@PHI, TEX@MIN | 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 14/13 games structurally audited | ARI@SD, ATL@MIA, CIN@TOR, CLE@KC, COL@CHW, HOU@OAK, LAA@SEA, LAD@SF, NYM@WAS, PIT@DET, STL@MIL, TB@PHI, TEX@MIN | Do thisKeep the per-game audit receipt in every report. Don't concludeFull audit coverage does not cancel the findings raised inside the audited games. |
| INFO | simulation | Simulation produced no winner-direction intervention on this slate flip candidates 0; published flips 0 | ARI@SD, ATL@MIA, CIN@TOR, CLE@KC, COL@CHW, HOU@OAK, LAA@SEA, LAD@SF, NYM@WAS, PIT@DET, STL@MIL, TB@PHI, TEX@MIN | 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 | 3/11 | no | param |
| pipeline_winner_instability | 1 | 7/11 | yes | code/diagnostic |
| score_margin_compression | 1 | 1/11 | yes | param |
| simulation_inert_on_slate | 11 | 11/11 | yes | code/diagnostic |
| single_slate_calibration_instability | 1 | 7/11 | yes | param |
| weak_run_model_signal | 11 | 11/11 | yes | code/diagnostic |
| Metric | Direction | Series (old → new) |
|---|---|---|
| winner_accuracy | flat | [0.6667, 0.4444, 0.6667, 0.7333, 0.6, 0.3333, 0.4, 0.5, 0.6667, 0.6471, 0.5385] |
| weighted_calibration_error | improving | [0.1661, 0.1016, 0.1247, 0.3458, 0.3184, 0.2028, 0.1881, 0.1108, 0.1701, 0.1302, 0.1524] |
| margin_bias | regressing | [-1.133, -2.111, -2.0, -0.667, -1.533, -2.667, -1.867, -1.188, -1.083, -1.706, -3.0] |
| team_run_error_on_losses | regressing | [6.4, 3.6, 5.2, 6.5, 6.5, 3.0, 6.222, 5.75, 3.5, 5.333, 6.167] |
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/13 | 69.2% | 2.712 | 3.588 | 4.628 |
| variance_applied | 6/13 | 46.2% | 2.731 | 3.615 | 4.692 |
| enhanced_prediction | 7/13 | 53.8% | 2.692 | 3.385 | 4.769 |
| embedded_savant_run_environment | 7/13 | 53.8% | 2.769 | 3.538 | 4.923 |
| fundamental_edge_target_review | 7/13 | 53.8% | 2.808 | 3.615 | 5 |
| capped_target | 7/13 | 53.8% | 2.808 | 3.615 | 5 |
| simulation_result | 7/13 | 53.8% | 2.808 | 3.615 | 5 |
| published_final | 7/13 | 53.8% | 2.808 | 3.615 | 5 |
| Transition | Δ accuracy | Δ hits | Δ team-run MAE | Δ margin MAE | Games whose winner/tie changed |
|---|---|---|---|---|---|
| historical_ml → variance_applied | -0.2308 | -3 | 0.0186 | 0.0646 | CHC@BOS: BOS → TIE; CLE@KC: CLE → TIE; HOU@OAK: HOU → TIE; NYM@WAS: NYM → TIE |
| variance_applied → enhanced_prediction | 0.077 | 1 | -0.0385 | 0.0769 | CHC@BOS: TIE → BOS; CLE@KC: TIE → CLE; HOU@OAK: TIE → HOU; NYM@WAS: TIE → WAS; TEX@MIN: TEX → MIN |
| enhanced_prediction → embedded_savant_run_environment | 0 | 0 | 0.0769 | 0.1539 | NYM@WAS: WAS → TIE |
| embedded_savant_run_environment → fundamental_edge_target_review | 0 | 0 | 0.0385 | 0.0769 | NYM@WAS: TIE → WAS |
| fundamental_edge_target_review → capped_target | 0 | 0 | 0 | 0 | |
| capped_target → simulation_result | 0 | 0 | 0 | 0 | |
| simulation_result → published_final | 0 | 0 | 0 | 0 |
All columns are pick-side probabilities, so away favorites are not accidentally compared using home-side semantics.
| Game | Outcome | Raw model | Calibrated | Governor | Score coherence | Published | Explanation |
|---|---|---|---|---|---|---|---|
| ARI@SD | miss | 0.5822 | 0.5474 | 0.5474 | 0.5474 | 0.5342 | score coherence followed by matchup-recency guardrail |
| ATL@MIA | hit | 0.6259 | 0.5703 | 0.5703 | 0.5703 | 0.53 | score coherence followed by matchup-recency guardrail |
| CIN@TOR | miss | 0.6356 | 0.6195 | 0.6195 | 0.6195 | 0.6195 | published probability matches the calibrated/governed value |
| CLE@KC | hit | 0.5778 | 0.6014 | 0.6014 | 0.5877 | 0.56 | score coherence followed by matchup-recency guardrail |
| COL@CHW | miss | 0.7429 | 0.7218 | 0.7218 | 0.7218 | 0.6978 | no recorded transformation explains the publication delta |
| HOU@OAK | hit | 0.5595 | 0.5355 | 0.5355 | 0.5355 | 0.5229 | score coherence followed by matchup-recency guardrail |
| LAA@SEA | hit | 0.5622 | 0.537 | 0.537 | 0.537 | 0.518 | score coherence followed by matchup-recency guardrail |
| LAD@SF | hit | 0.6376 | 0.5985 | 0.5985 | 0.5863 | 0.5535 | score coherence followed by matchup-recency guardrail |
| NYM@WAS | miss | 0.5 | 0.5132 | 0.5132 | 0.5132 | 0.5064 | score coherence followed by matchup-recency guardrail |
| PIT@DET | miss | 0.5657 | 0.5388 | 0.5388 | 0.5388 | 0.5133 | score coherence followed by matchup-recency guardrail |
| STL@MIL | hit | 0.5672 | 0.5626 | 0.5626 | 0.5626 | 0.5354 | score coherence followed by matchup-recency guardrail |
| TB@PHI | hit | 0.5834 | 0.6076 | 0.6076 | 0.6076 | 0.6076 | published probability matches the calibrated/governed value |
| TEX@MIN | miss | 0.5 | 0.5117 | 0.5117 | 0.5117 | 0.51 | published probability matches the calibrated/governed value |
One blown start is noise. The same failure repeating across the slate is a model problem. These are the repeats.
| Sides analyzed | Broke on pitching | Broke on offense | Both | Variance | Mean starter ERA error | Mean lineup runs vs proj |
|---|---|---|---|---|---|---|
| 26 | 3 | 4 | 5 | 14 | 0.55 | 0.69 |
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.
2 of 13 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 |
|---|---|---|---|---|---|---|---|
| NYM@WAS | 0.47 | 0.493 | away | 0.506 | home | yes | miss |
| TEX@MIN | 0.399 | 0.456 | away | 0.51 | home | yes | miss |
Blend side survived on 11 of 13 games; the blend flagged a winner change on 2.
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.63 over 12 slates (sign shared by 0.50 of them, z = 1.30).
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 12 slates share the sign, mean 0.63 +/- 0.48 standard error: not separable from noise
lineup runs actual minus projected
Mean -0.39 over 12 slates (sign shared by 0.83 of them, z = -2.79).
lineups scored below projection: the run environment is set too high.
Actionable: the total-runs projection is running hot; check the run environment before touching variance, and treat score.variance_floor only as the spread lever
Lever: score.variance_floor (default 2.75); watch total_run_mae, team_run_mae.
10 of 12 slates share the sign and the mean is 2.8 standard errors from zero
| Slate | Games | Winner acc | Mean starter ERA error | Mean lineup runs vs proj | Sides broke on pitching | Sides broke on offense |
|---|---|---|---|---|---|---|
| 20260925 | 17 | 0.647 | 1.13 | 0.50 | 8 | 10 |
| 20260924 | 12 | 0.667 | 1.68 | -0.67 | 4 | 11 |
| 20260923 | 16 | 0.500 | -0.49 | -0.91 | 4 | 11 |
| 20260922 | 15 | 0.400 | -0.32 | -0.97 | 3 | 11 |
| 20260921 | 3 | 0.333 | -1.08 | -0.50 | ||
| 20260920 | 15 | 0.600 | -0.89 | -1.00 | 2 | 10 |
| 20260919 | 15 | 0.733 | 1.36 | -0.10 | 8 | 7 |
| 20260918 | 15 | 0.667 | 3.95 | 0.30 | 6 | 5 |
| 20260917 | 9 | 0.444 | 2.16 | -0.22 | 2 | 3 |
| 20260916 | 15 | 0.667 | 2.09 | -0.23 | 4 | 5 |
| 20260915 | 15 | 0.400 | -1.58 | -0.70 | 1 | 12 |
| 20260914 | 10 | 0.700 | -0.48 | -0.20 | 2 | 6 |
Narrow predicted margins next to wide actual margins is the signature the score-variance tail is too tight.
| Game | Pred margin | Actual margin | Pred − actual |
|---|---|---|---|
| ARI@SD | 1 | 3 | -2 |
| ATL@MIA | 1 | 5 | -4 |
| CIN@TOR | 2 | 4 | -2 |
| CLE@KC | 1 | 6 | -5 |
| COL@CHW | 5 | 3 | 2 |
| HOU@OAK | 1 | 11 | -10 |
| LAA@SEA | 1 | 4 | -3 |
| LAD@SF | 2 | 1 | 1 |
| NYM@WAS | 1 | 6 | -5 |
| PIT@DET | 2 | 1 | 1 |
| STL@MIL | 1 | 1 | 0 |
| TB@PHI | 2 | 11 | -9 |
| TEX@MIN | 1 | 4 | -3 |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| ARI | Taylor Clarke | 1 ER / 18 outs | 1 ER / 2 outs | 0 |
| SD | Walker Buehler | 5 ER / 14 outs | 3 ER / 11 outs | -2 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
No settled pitching line for this club. The forecast named Taylor Clarke (ARI) at a projected 1.5 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 10 runs on 13 hits and 2 HR, against a projected 5 runs / 7 hits (5 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
Walker Buehler (SD) threw 11 outs, 3 ER = 7.36 ERA against a projected 9.64 ERA (-2.28 ERA error)
Bullpen behind him: 3 ER over 12 outs.
The AWAY lineup he faced produced 6 runs on 9 hits and 0 HR, against a projected 5 runs / 7 hits (1 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| SD | Walker Buehler (Starter) | 11 / 14 | 7.36 / 9.64 | 3 / 5 | 5 / 5 | 1 / 0 | 1 / 2 | 1.54 | 3 / 7 | 3.71 | venue home: 4.1 vs 5.13 ERA (ok) · opp run factor 0.98 (average) · 31 prior appearances this season |
| SD | Bradgley Rodriguez (Middle Reliever (High Leverage)) | 6 / 4 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 1 / 0 | 0.31 | 2 / 1 | 1.36 | |
| SD | Adrian Morejon (Setup Man) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0.39 | 2 / 0 | 1.14 | |
| SD | Mason Miller (Closer) | 3 / 3 | 27 / 0 (+27.00) | 3 / 0 | 3 / 1 | 0 / 0 | 2 / 2 | 0.31 | 2 / 1 | 1.71 |
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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Xander Bogaerts (SS) | SD | 2 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 1 | 2 / 1 | 1 / 1 | 1.26 | 0.323 above average | projection too low |
| Dustin Harris (LF) | SD | 5 / 4 | 2 / 1 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0 / 0 | 0 / 0 | 1.09 | 0.312 average | no signal |
| Tim Tawa (CF) | ARI | 4 / 3 | 3 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 0 | 0 / 1 | 0.94 | 0.315 average | no signal |
| Ethan Salas (C) | SD | 4 / 3 | 2 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 0.94 | 0.211 weak | good day |
| Jackson Merrill (CF) | SD | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 2 / 1 | 1 / 0 | 2 / 1 | 0.8 | 0.347 elite | projection too low |
| Ketel Marte (2B) | ARI | 5 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 0.78 | 0.345 elite | projection too low |
| Fernando Tatis Jr. (RF) | SD | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 1 / 1 | 0 / 1 | -0.78 | 0.38 elite | bad day |
| Gavin Sheets (DH) | SD | 5 / 3 | 1 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0.78 | 0.317 average | no signal |
| Jake Cronenworth (2B) | SD | 4 / 3 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | 0.78 | 0.27 weak | good day |
| Nolan Arenado (3B) | ARI | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 1 / 0 | 1 / 1 | -0.6 | 0.299 below average | projection too high |
| Pavin Smith (1B) | ARI | 3 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 0.47 | 0.284 below average | — |
| Corbin Carroll (RF) | ARI | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 2 / 1 | -0.33 | 0.343 elite | — |
| Gabriel Moreno (DH) | ARI | 3 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 1 / 1 | 1 / 1 | -0.31 | 0.363 elite | — |
| Lars Nootbaar (LF) | ARI | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 2 / 1 | 2 / 1 | -0.14 | 0.346 elite | — |
| Geraldo Perdomo (SS) | ARI | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 2 / 1 | 1 / 0 | -0.14 | 0.332 above average | — |
| Manny Machado (3B) | SD | 5 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 3 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | 0.14 | 0.327 above average | — |
| Ty France (1B) | SD | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 0 | 0 / 0 | 1 / 1 | 0 | 0.329 above average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.052 | positive favors home; negative favors away |
| Recent form | -0.158 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.018 | positive favors home; negative favors away |
| Composite | -0.151 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.74-3.7 | 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.534 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 5-4 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 5-4 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 5-4 | n/a | Capped at max 12 realistic runs |
| simulation_result | 5-4 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.74-3.7 | 5-4 | -0.046 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-4 | 5-4 | -0 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 5-4 | 5-4 | -0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 5-4 | 5-4 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 5-4 | 5-4 | -0 | Capped at max 12 realistic runs |
| simulation_result | 5-4 | 5-4 | -0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| ARI | Ketel Marte | batter / 2B | worse | predicted_AB -2.86 |
| ARI | Corbin Carroll | batter / RF | worse | predicted_SO 2.039 |
| SD | Walker Buehler | pitcher / Starter | neutral | predicted_SO 2 |
| SD | Jackson Merrill | batter / CF | worse | predicted_AB -1.91 |
| SD | Ty France | batter / 1B | worse | predicted_AB -1.72 |
| SD | Xander Bogaerts | batter / SS | better | predicted_RBI 1.7 |
| SD | Fernando Tatis Jr. | batter / RF | worse | predicted_H -1.57 |
| SD | Manny Machado | batter / 3B | worse | predicted_AB -1.55 |
| 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 | SD pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | SD |
| info | CURRENT_FINALIZED_MATCH_BOX | ARI model-prediction batting totals differ from final simulation box score (AB: current=33, sim=34; H: current=8, sim=7; 2B: current=1, sim=3; HR: current=1, sim=0; RBI: current=4, sim=5; BB: current=4, sim=6; SO: current=7, sim=9; HBP: current=0, sim=1). | ARI |
| info | CURRENT_PLAYER_MATCH_BOX | ARI current finalized hitter lines are model predictions and differ from the simulation box score: Lars Nootbaar: 2B current=0 box=1; Gabriel Moreno: AB current=4 box=5, H current=1 box=2, 2B current=1 box=0, BB current=1 box=0; Corbin Carroll: AB current=4 box=5, RBI current=0 box=1, R current=0 box=1, BB current=1 box=0; Geraldo Perdomo: R current=1 box=0, SO current=0 box=1; Ketel Marte: AB current=4 box=2, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Tim Tawa: AB current=3 box=4, 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1; Nolan Arenado: 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=2; James McCann: H current=1 box=0, RBI current=1 box=0, BB current=0 box=1, SO current=1 box=0 | ARI |
| info | CURRENT_FINALIZED_MATCH_BOX | SD model pitcher projections differ from final simulation pitching box score (BB: current=5, sim=6). | SD |
| info | CURRENT_FINALIZED_MATCH_BOX | SD model-prediction batting totals differ from final simulation box score (AB: current=32, sim=31; H: current=7, sim=5; 2B: current=1, sim=3; R: current=5, sim=4; BB: current=3, sim=6; SF: current=0, sim=1). | SD |
| info | CURRENT_PLAYER_MATCH_BOX | SD current finalized hitter lines are model predictions and differ from the simulation box score: Dustin Harris: H current=1 box=0, R current=1 box=0, BB current=0 box=1, SO current=0 box=1; Fernando Tatis Jr.: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Gavin Sheets: AB current=3 box=4, SO current=0 box=1; Manny Machado: AB current=4 box=3, 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=0; Jackson Merrill: AB current=4 box=3, 2B current=0 box=1, SF current=0 box=1; Ty France: AB current=4 box=2, H current=1 box=0, RBI current=1 box=0, BB current=0 box=2; Xander Bogaerts: AB current=3 box=4, H current=1 box=2, HR current=0 box=1, RBI current=0 box=2; Ethan Salas: H current=0 box=1, 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1 | SD |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| ATL | Brent Suter | 4 ER / 15 outs | 0 ER / 9 outs | -4 |
| MIA | Jack Ralston | 3 ER / 15 outs | 3 ER / 4 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: Jack Ralston (MIA) posted 20.25 ERA vs projected 5.40 (3 ER in 4 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
Brent Suter (ATL) threw 9 outs, 0 ER = 0 ERA against a projected 7.2 ERA (-7.2 ERA error)
Bullpen behind him: 2 ER over 9 outs.
The HOME lineup he faced produced 3 runs on 8 hits and 1 HR, against a projected 4 runs / 8 hits (-1 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
Jack Ralston (MIA) threw 4 outs, 3 ER = 20.25 ERA against a projected 5.4 ERA (14.85 ERA error)
Bullpen behind him: 0 ER over 3 outs.
The AWAY lineup he faced produced 8 runs on 10 hits and 2 HR, against a projected 4 runs / 7 hits (4 runs vs projection).
Who did the damage to him:
Verdict: pitching: the starter gave up runs at a far worse rate than projected
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| ATL | Brent Suter (Starter) | 9 / 15 | 0 / 7.2 (-7.20) | 0 / 4 | 1 / 4 | 0 / 0 | 0 / 3 | 4.19 | 3 / 3 | 3.05 | venue away: 7.36 vs 0 ERA (ok) · opp run factor 1.01 (average) · 53 prior appearances this season |
| ATL | Dylan Lee (Setup Man) | 3 / 3 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0.25 | 1 / 2 | 0.98 | |
| ATL | Raisel Iglesias (Closer) | 3 / 3 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0.21 | 0 / 1 | 1.19 | |
| ATL | Dylan Dodd (Middle Reliever (High Leverage)) | 3 / 2 | 18 / 0 (+18.00) | 2 / 0 | 3 / 0 | 1 / 0 | 0 / 1 | 0.27 | 0 / 2 | 1.21 | |
| MIA | Jack Ralston (Starter) | 4 / 15 | 20.25 / 5.4 (+14.85) | 3 / 3 | 3 / 5 | 1 / 2 | 1 / 0 | 1.98 | 2 / 5 | 4.58 | opp run factor 1 (strong) · 15 prior appearances this season |
| MIA | Victor Vodnik (Middle Reliever (High Leverage)) | 3 / 4 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 0 | 0.65 | 1 / 1 | 0.99 |
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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Dominic Smith (DH) | ATL | 3 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | 1.73 | 0.296 below average | good day |
| Michael Harris II (CF) | ATL | 5 / 4 | 4 / 1 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 3 / 0 | 0 / 0 | 1 / 1 | 1.72 | 0.341 elite | projection too low |
| Drake Baldwin (C) | ATL | 5 / 4 | 3 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | 1.54 | 0.369 elite | projection too low |
| Ha-Seong Kim (SS) | ATL | 3 / 3 | 1 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 1 / 0 | 1 / 1 | 1.42 | 0.209 weak | good day |
| Matt Olson (1B) | ATL | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -1.26 | 0.353 elite | bad day |
| Javier Sanoja (3B) | MIA | 4 / 4 | 2 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1.09 | 0.293 below average | good day |
| Ronald Acuña Jr. (RF) | ATL | 5 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -0.8 | 0.369 elite | bad day |
| Jakob Marsee (DH) | MIA | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | -0.8 | 0.314 average | no signal |
| Heriberto Hernández (LF) | MIA | 4 / 4 | 1 / 1 | 0 / 0 | 1 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -0.64 | 0.343 elite | bad day |
| Austin Riley (3B) | ATL | 5 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 3 / 1 | -0.47 | 0.301 below average | — |
| Ozzie Albies (2B) | ATL | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 2 / 1 | -0.47 | 0.275 weak | — |
| Esteury Ruiz (CF) | MIA | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 3 / 1 | -0.47 | 0.276 weak | — |
| Otto Lopez (SS) | MIA | 5 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 0 | 0 / 1 | 0.47 | 0.328 above average | — |
| Deyvison De Los Santos (1B) | MIA | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.187 weak | — |
| Griffin Conine (RF) | MIA | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 1 | 0.47 | 0.363 elite | — |
| Agustín Ramírez (C) | MIA | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 1 / 1 | -0.33 | 0.287 below average | — |
| Jared Serna (2B) | MIA | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 0.33 | 0.183 weak | — |
| Mike Yastrzemski (LF) | ATL | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 0 / 1 | -0.14 | 0.309 average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.503 | positive favors home; negative favors away |
| Recent form | -0.162 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.01 | positive favors home; negative favors away |
| Composite | -0.475 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 5.39-3.74 | 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.53 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 5-4 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 5-4 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 5-4 | n/a | Capped at max 12 realistic runs |
| simulation_result | 5-4 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 5.39-3.74 | 5-4 | -0.645 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-4 | 5-4 | -0 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 5-4 | 5-4 | -0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 5-4 | 5-4 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 5-4 | 5-4 | -0 | Capped at max 12 realistic runs |
| simulation_result | 5-4 | 5-4 | -0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| ATL | Michael Harris II | batter / CF | worse | predicted_AB -2.85 |
| ATL | Drake Baldwin | batter / C | worse | predicted_SO 2.051 |
| MIA | Jakob Marsee | batter / DH | better | predicted_RBI 1.727 |
| MIA | Otto Lopez | batter / SS | worse | predicted_RBI 1.61 |
| MIA | Heriberto Hernández | batter / LF | worse | predicted_AB -1.51 |
| MIA | Deyvison De Los Santos | batter / 1B | better | predicted_AB 1.5 |
| MIA | Jared Serna | batter / 2B | worse | predicted_AB 1.5 |
| ATL | Matt Olson | batter / 1B | better | predicted_RBI 1.46 |
| 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 | 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 | ATL model-prediction batting totals differ from final simulation box score (H: current=7, sim=6; 2B: current=1, sim=0; HR: current=1, sim=3; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=1; SO: current=8, sim=9). | ATL |
| info | CURRENT_PLAYER_MATCH_BOX | ATL current finalized hitter lines are model predictions and differ from the simulation box score: Drake Baldwin: HR current=0 box=1, BB current=1 box=0, SO current=1 box=3; Ronald Acuña Jr.: HR current=0 box=1, RBI current=1 box=2, BB current=1 box=0, SO current=1 box=0; Matt Olson: RBI current=1 box=2, BB current=1 box=0, SO current=1 box=0; Michael Harris II: AB current=4 box=3, 2B current=1 box=0, RBI current=1 box=0, R current=0 box=1; Austin Riley: R current=0 box=1; Mike Yastrzemski: AB current=3 box=4, H current=1 box=0; Ozzie Albies: H current=1 box=0, R current=1 box=0; Dominic Smith: SO current=0 box=1 | ATL |
| info | CURRENT_FINALIZED_MATCH_BOX | MIA model-prediction batting totals differ from final simulation box score (AB: current=33, sim=32; H: current=8, sim=5; 2B: current=1, sim=0; 3B: current=0, sim=1; HR: current=1, sim=0; BB: current=3, sim=4; SO: current=8, sim=9). | MIA |
| info | CURRENT_PLAYER_MATCH_BOX | MIA current finalized hitter lines are model predictions and differ from the simulation box score: Jakob Marsee: AB current=4 box=3, H current=1 box=2, 3B current=0 box=1, RBI current=0 box=2; Agustín Ramírez: H current=1 box=0, BB current=1 box=0; Esteury Ruiz: H current=1 box=0, BB current=0 box=1, SO current=1 box=0; Otto Lopez: RBI current=1 box=2, SO current=1 box=2; Deyvison De Los Santos: AB current=3 box=4, R current=0 box=1, SO current=1 box=2; Griffin Conine: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Jared Serna: AB current=3 box=4, SO current=1 box=2; Heriberto Hernández: AB current=4 box=3, HR current=1 box=0, RBI current=1 box=0, SO current=1 box=0 | MIA |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| CIN | Rhett Lowder | 4 ER / 12 outs | 0 ER / 18 outs | -4 |
| TOR | Trey Yesavage | 3 ER / 15 outs | 1 ER / 6 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: Rhett Lowder (CIN) posted 0.00 ERA vs projected 9.00 (0 ER in 18 outs); he is materially worse pitching away (7.44 ERA there vs 5.02 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
Rhett Lowder (CIN) threw 18 outs, 0 ER = 0 ERA against a projected 9 ERA (-9 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The HOME lineup he faced produced 1 runs on 5 hits and 0 HR, against a projected 4 runs / 8 hits (-3 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
Trey Yesavage (TOR) threw 6 outs, 1 ER = 4.5 ERA against a projected 5.4 ERA (-0.9 ERA error)
Bullpen behind him: 1 ER over 3 outs.
The AWAY 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: 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) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| CIN | Rhett Lowder (Starter) | 18 / 12 | 0 / 9 (-9.00) | 0 / 4 | 3 / 6 | 0 / 1 | 2 / 1 | 2.2 | 2 / 2 | 4.26 | venue away: 7.44 vs 5.02 ERA (worse here) · opp run factor 1.05 (weak) · 28 prior appearances this season |
| TOR | Trey Yesavage (Starter) | 6 / 15 | 4.5 / 5.4 | 1 / 3 | 2 / 4 | 1 / 1 | 1 / 2 | 1.74 | 3 / 4 | 4.74 | venue home: 4.2 vs 3.2 ERA (worse here) · opp run factor 0.96 (weak) · 19 prior appearances this season |
| TOR | Spencer Miles (Middle Reliever (High Leverage)) | 3 / 4 | 9 / 0 (+9.00) | 1 / 0 | 2 / 0 | 0 / 0 | 1 / 0 | 0.39 | 2 / 0 | 1.5 |
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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Elly De La Cruz (SS) | CIN | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | 1 / 1 | -1.4 | 0.377 elite | bad day |
| Héctor Rodríguez (RF) | CIN | 4 / 4 | 2 / 1 | 0 / 0 | 1 / 0 | 0 / 0 | 2 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1.09 | 0.256 weak | good day |
| Kazuma Okamoto (3B) | TOR | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 1 / 0 | 1 / 1 | -1.07 | 0.329 above average | bad day |
| JJ Bleday (LF) | CIN | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 2 / 0 | 1 / 1 | 2 / 1 | 0.93 | 0.338 above average | projection too low |
| Tyler Stephenson (C) | CIN | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 0 / 1 | 2 / 1 | -0.8 | 0.325 above average | bad day |
| Vladimir Guerrero Jr. (DH) | TOR | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 2 / 0 | -0.8 | 0.333 above average | bad day |
| Alejandro Kirk (C) | TOR | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 0 / 0 | -0.8 | 0.309 average | no signal |
| Josh Smith (LF) | TOR | 4 / 3 | 1 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0.78 | 0.277 weak | good day |
| Brett Bateman (CF) | TOR | 3 / 4 | 2 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 0.47 | 0.304 average | — |
| Ernie Clement (2B) | TOR | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | -0.47 | 0.259 weak | — |
| Eugenio Suárez (DH) | CIN | 4 / 3 | 1 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0 / 1 | 3 / 2 | 0.45 | 0.302 below average | — |
| Carlos Jorge (CF) | CIN | 3 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 1 / 1 | 0.35 | 0.257 weak | — |
| Matt McLain (2B) | CIN | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 0 | 1 / 1 | 0.33 | 0.295 below average | — |
| Juan Brito (3B) | CIN | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | -0.14 | 0.297 below average | — |
| Nathan Lukes (RF) | TOR | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 0 / 1 | -0.14 | 0.293 below average | — |
| Sal Stewart (1B) | CIN | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | 0 | 0.345 elite | — |
| Sean Keys (1B) | TOR | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.259 weak | — |
| Andrés Giménez (SS) | TOR | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.274 weak | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.439 | positive favors home; negative favors away |
| Recent form | 0.21 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.09 | positive favors home; negative favors away |
| Composite | 0.851 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.25-5.54 | n/a | Base ML historical model prediction |
| variance_applied | 4-6 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 3-5 | 0.62 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 3-5 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 3-5 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 3-5 | n/a | Capped at max 12 realistic runs |
| simulation_result | 3-5 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.25-5.54 | 4-6 | 0.71 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-6 | 3-5 | 0 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 3-5 | 3-5 | 0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 3-5 | 3-5 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 3-5 | 3-5 | 0 | Capped at max 12 realistic runs |
| simulation_result | 3-5 | 3-5 | 0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| TOR | Kazuma Okamoto | batter / 3B | worse | predicted_AB -2.13 |
| TOR | Andrés Giménez | batter / SS | deboosted | predicted_RBI 1.87 |
| CIN | Carlos Jorge | batter / CF | better | predicted_RBI 1.81 |
| TOR | Brett Bateman | batter / CF | boosted | predicted_H 1.63 |
| TOR | Alejandro Kirk | batter / C | worse | predicted_SO 1.5 |
| TOR | Josh Smith | batter / LF | better | predicted_H 1.44 |
| CIN | Matt McLain | batter / 2B | worse | predicted_AB -1.405 |
| TOR | Sean Keys | batter / 1B | worse | predicted_AB 1.381 |
| 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 | 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 | CIN model-prediction batting totals differ from final simulation box score (H: current=7, sim=5; RBI: current=4, sim=3; R: current=4, sim=3; BB: current=4, sim=2; SO: current=10, sim=7). | CIN |
| info | CURRENT_PLAYER_MATCH_BOX | CIN current finalized hitter lines are model predictions and differ from the simulation box score: Elly De La Cruz: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Carlos Jorge: 2B current=1 box=0, RBI current=0 box=2, R current=0 box=1, SO current=1 box=0; Eugenio Suárez: AB current=3 box=4, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Héctor Rodríguez: HR current=0 box=1, RBI current=0 box=1, R current=0 box=1; Juan Brito: H current=1 box=2, 2B current=0 box=1, R current=0 box=1, SO current=1 box=0; Sal Stewart: H current=1 box=0, RBI current=1 box=0, R current=1 box=0; JJ Bleday: AB current=4 box=3, SO current=1 box=0; Tyler Stephenson: AB current=3 box=4, H current=1 box=0, RBI current=1 box=0, BB current=1 box=0 | CIN |
| info | CURRENT_FINALIZED_MATCH_BOX | TOR model-prediction batting totals differ from final simulation box score (AB: current=32, sim=31; 2B: current=1, sim=2; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=4; SO: current=6, sim=5; SF: current=0, sim=1). | TOR |
| info | CURRENT_PLAYER_MATCH_BOX | TOR current finalized hitter lines are model predictions and differ from the simulation box score: Vladimir Guerrero Jr.: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Brett Bateman: H current=1 box=2, RBI current=0 box=1, BB current=1 box=0; Sean Keys: AB current=3 box=4, H current=1 box=0, RBI current=1 box=0, SO current=1 box=2; Josh Smith: H current=0 box=2, RBI current=0 box=1, R current=0 box=1, BB current=0 box=1; Alejandro Kirk: H current=1 box=2, HR current=0 box=1, R current=0 box=1, BB current=1 box=0; Nathan Lukes: H current=1 box=0, R current=1 box=0, SO current=1 box=0; Kazuma Okamoto: AB current=4 box=2, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Ernie Clement: R current=0 box=1, BB current=0 box=1 | TOR |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| CLE | Tanner Bibee | 0 ER / 16 outs | 3 ER / 18 outs | 3 |
| KC | Michael Wacha | 3 ER / 19 outs | 2 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: Tanner Bibee (CLE) posted 4.50 ERA vs projected 0.00 (3 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
Tanner Bibee (CLE) threw 18 outs, 3 ER = 4.5 ERA against a projected 0 ERA (4.5 ERA error)
Bullpen behind him: 0 ER over 2 outs.
The HOME lineup he faced produced 5 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: pitching: the starter gave up runs at a far worse rate than projected
HOME pitching
Michael Wacha (KC) threw 19 outs, 2 ER = 2.84 ERA against a projected 4.26 ERA (-1.42 ERA error)
Bullpen behind him: 4 ER over 1 outs.
The AWAY lineup he faced produced 11 runs on 14 hits and 5 HR, against a projected 4 runs / 8 hits (7 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| CLE | Tanner Bibee (Starter) | 18 / 16 | 4.5 / 0 (+4.50) | 3 / 0 | 7 / 2 | 0 / 0 | 1 / 0 | 1.84 | 6 / 6 | 3.44 | venue away: 4.22 vs 4.46 ERA (ok) · opp run factor 1.04 (weak) · 32 prior appearances this season |
| CLE | Cade Smith (Closer) | 2 / 4 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0.28 | 0 / 0 | 1.34 | |
| KC | Michael Wacha (Starter) | 19 / 19 | 2.84 / 4.26 | 2 / 3 | 6 / 8 | 2 / 0 | 1 / 2 | 1.99 | 4 / 6 | 4.98 | venue home: 2.93 vs 3.67 ERA (ok) · opp run factor 0.98 (average) · 31 prior appearances this season |
| KC | Alex Lange (Setup Man) | 1 / 3 | 108 / 0 (+108.00) | 4 / 0 | 3 / 0 | 2 / 0 | 1 / 1 | 0.63 | 0 / 2 | 0.93 |
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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Brayan Rocchio (SS) | CLE | 4 / 3 | 3 / 0 | 1 / 0 | 0 / 0 | 2 / 0 | 2 / 0 | 3 / 0 | 0 / 0 | 0 / 0 | 3.58 | 0.294 below average | good day |
| Patrick Bailey (C) | CLE | 5 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 2 / 0 | 3 / 0 | 2 / 0 | 0 / 0 | 2 / 1 | 2.33 | 0.306 average | no signal |
| Travis Bazzana (2B) | CLE | 4 / 3 | 3 / 1 | 1 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 0 | 1 / 1 | 1.87 | 0.298 below average | good day |
| Steven Kwan (CF) | CLE | 4 / 4 | 3 / 1 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 1 / 1 | 0 / 0 | 1.56 | 0.328 above average | projection too low |
| Angel Martínez (LF) | CLE | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | -1.4 | 0.305 average | no signal |
| José Ramírez (3B) | CLE | 5 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0 / 0 | -1.11 | 0.325 above average | bad day |
| Jac Caglianone (RF) | KC | 4 / 4 | 2 / 1 | 2 / 1 | 0 / 0 | 0 / 0 | 2 / 1 | 2 / 0 | 0 / 0 | 1 / 1 | 0.78 | 0.356 elite | projection too low |
| Vinnie Pasquantino (1B) | KC | 3 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0 / 1 | 2 / 0 | -0.64 | 0.334 above average | bad day |
| Chase DeLauter (RF) | CLE | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 1 | 1 / 1 | 0 / 1 | 0.62 | 0.345 elite | projection too low |
| Josh Rojas (3B) | KC | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | -0.47 | 0.22 weak | — |
| Bobby Witt Jr. (SS) | KC | 4 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0 / 1 | 1 / 1 | 0.45 | 0.379 elite | — |
| Salvador Perez (DH) | KC | 4 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0.31 | 0.316 average | — |
| Carter Jensen (C) | KC | 4 / 4 | 2 / 1 | 2 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 1 / 1 | 0 / 1 | 0.16 | 0.311 average | — |
| Jo Adell (DH) | CLE | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 0 | 0 / 0 | 0 / 1 | 0 | 0.324 above average | — |
| Nathaniel Lowe (1B) | CLE | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 4 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.335 above average | — |
| John Rave (CF) | KC | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | 0 | 0.317 average | — |
| Michael Massey (2B) | KC | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 | 0.306 average | — |
| Isaac Collins (LF) | KC | 4 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0 | 0.292 below average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.945 | positive favors home; negative favors away |
| Recent form | -1.086 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.059 | positive favors home; negative favors away |
| Composite | -0.842 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 5.05-4.67 | n/a | Base ML historical model prediction |
| variance_applied | 5-5 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 6-5 | 0.56 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 6-5 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 6-5 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 6-5 | n/a | Capped at max 12 realistic runs |
| simulation_result | 6-5 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 5.05-4.67 | 5-5 | -0.379 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-5 | 6-5 | 1 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 6-5 | 6-5 | -0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 6-5 | 6-5 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 6-5 | 6-5 | -0 | Capped at max 12 realistic runs |
| simulation_result | 6-5 | 6-5 | -0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| KC | Isaac Collins | batter / LF | worse | predicted_SO 3.164 |
| KC | Michael Massey | batter / 2B | worse | predicted_RBI 2.57 |
| KC | Salvador Perez | batter / DH | worse | predicted_AB -2.31 |
| CLE | Travis Bazzana | batter / 2B | worse | predicted_SO 2.126 |
| KC | Josh Rojas | batter / 3B | deboosted | predicted_H 1.81 |
| KC | Bobby Witt Jr. | batter / SS | worse | predicted_2B 1.771 |
| CLE | Patrick Bailey | batter / C | worse | predicted_H 1.73 |
| CLE | Nathaniel Lowe | batter / 1B | worse | predicted_H 1.65 |
| 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 | 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 | CLE model-prediction batting totals differ from final simulation box score (AB: current=32, sim=38; H: current=8, sim=11; 2B: current=2, sim=4; HR: current=1, sim=0; RBI: current=4, sim=6; R: current=4, sim=6; SO: current=6, sim=10). | 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=5, H current=1 box=2, 2B current=0 box=1, RBI current=0 box=1; Jo Adell: AB current=4 box=5, H current=1 box=2, 2B current=0 box=1, RBI current=1 box=2; Travis Bazzana: AB current=3 box=4, H current=1 box=0, BB current=0 box=1, SO current=1 box=3; José Ramírez: AB current=4 box=5, 2B current=1 box=0, BB current=1 box=0, SO current=0 box=1; Nathaniel Lowe: H current=1 box=2, 2B current=0 box=1, RBI current=1 box=0, R current=0 box=1; Chase DeLauter: AB current=4 box=5, BB current=1 box=0; Angel Martínez: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Patrick Bailey: AB current=3 box=4, H current=1 box=2, RBI current=0 box=2, R current=0 box=1 | CLE |
| info | CURRENT_FINALIZED_MATCH_BOX | KC model-prediction batting totals differ from final simulation box score (AB: current=33, sim=35; 2B: current=2, sim=3; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=3, sim=1; SO: current=6, sim=10; HBP: current=0, sim=1). | 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=5, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Bobby Witt Jr.: H current=1 box=2, 2B current=0 box=2, BB current=1 box=0; Salvador Perez: AB current=4 box=2, H current=1 box=0, RBI current=1 box=0, BB current=0 box=1; John Rave: AB current=3 box=4, H current=1 box=2, 2B current=0 box=1, SO current=1 box=0; Jac Caglianone: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, SO current=1 box=2; Vinnie Pasquantino: 2B current=1 box=0, BB current=1 box=0; Michael Massey: HR current=0 box=1, RBI current=0 box=3, R current=0 box=1; Isaac Collins: AB current=3 box=4, SO current=1 box=4 | KC |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| COL | Jose Quintana | 4 ER / 12 outs | 2 ER / 9 outs | -2 |
| CHW | Davis Martin | 0 ER / 15 outs | 2 ER / 2 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: Jose Quintana (COL) posted 6.00 ERA vs projected 9.00 (2 ER in 9 outs); he is materially worse pitching away (6.75 ERA there vs 4.44 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
Jose Quintana (COL) threw 9 outs, 2 ER = 6 ERA against a projected 9 ERA (-3 ERA error) only 10 prior appearances in the covered season - the projection had little of his own record to stand on
Bullpen behind him: 3 ER over 7 outs.
The HOME lineup he faced produced 3 runs on 3 hits and 1 HR, against a projected 4 runs / 6 hits (-1 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
No settled pitching line for this club. The forecast named Davis Martin (CHW) at a projected 0 ERA, but the per-player feed carries no pitching row for him in this game, so the actual-versus-projected comparison cannot be made on this side. That is a source-coverage gap in the settled box, not a forecasting failure.
Bullpen behind him: 0 ER over 0 outs.
The AWAY lineup he faced produced 8 runs on 10 hits and 3 HR, against a projected 4 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) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| COL | Jose Quintana (Starter) | 9 / 12 | 6 / 9 (-3.00) | 2 / 4 | 2 / 7 | 2 / 0 | 2 / 4 | 1.51 | 3 / 6 | 2.04 | venue away: 6.75 vs 4.44 ERA (worse here) · opp run factor 1.02 (average) · 10 prior appearances this season |
| COL | Brennan Bernardino (Setup Man) | 4 / 4 | 0 / 0 | 0 / 0 | 2 / 1 | 0 / 0 | 0 / 0 | 0.14 | 1 / 2 | 0.86 | |
| COL | Jordan Romano (Closer) | 3 / 5 | 27 / 0 (+27.00) | 3 / 0 | 1 / 1 | 1 / 0 | 1 / 0 | 0.49 | 2 / 1 | 1.11 |
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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Ezequiel Tovar (SS) | COL | 4 / 3 | 2 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 1.87 | 0.277 weak | good day |
| Munetaka Murakami (1B) | CHW | 5 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 2 / 1 | -1.73 | 0.351 elite | bad day |
| Hunter Goodman (DH) | COL | 5 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 2 / 1 | 4 / 1 | 2 / 1 | 0 / 0 | 1 / 1 | 1.4 | 0.321 above average | projection too low |
| Brenton Doyle (CF) | CHW | 2 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 1 | 0 / 0 | 0 / 1 | 0.93 | 0.244 weak | good day |
| Tommy Pham (DH) | CHW | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | -0.8 | 0.325 above average | bad day |
| Cole Carrigg (CF) | COL | 5 / 4 | 3 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 2 / 1 | 0 / 1 | 1 / 1 | 0.61 | 0.314 average | no signal |
| Connor Norby (3B) | COL | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | -0.47 | 0.307 average | — |
| Mickey Moniak (RF) | COL | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.279 weak | — |
| Brett Sullivan (C) | COL | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.283 weak | — |
| Kyle Teel (C) | CHW | 4 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 2 / 1 | 0.47 | 0.324 above average | — |
| Randal Grichuk (LF) | CHW | 4 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 1 / 0 | 1 / 1 | -0.45 | 0.336 above average | — |
| TJ Rumfield (1B) | COL | 1 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 0 / 1 | 0 / 0 | -0.33 | 0.332 above average | — |
| Miguel Vargas (3B) | CHW | 2 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 1 | 3 / 1 | 0 / 1 | 0.19 | 0.378 elite | — |
| Jake McCarthy (LF) | COL | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 1 | 1 / 0 | 0 / 1 | 0.02 | 0.321 above average | — |
| Adael Amador (2B) | COL | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | 0 | 0.27 weak | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 1.527 | positive favors home; negative favors away |
| Recent form | 1.358 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.085 | positive favors home; negative favors away |
| Composite | 2.265 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.04-5.17 | n/a | Base ML historical model prediction |
| variance_applied | 4-5 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-8 | 0.698 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 4-9 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-9 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-9 | n/a | Capped at max 12 realistic runs |
| simulation_result | 4-9 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.04-5.17 | 4-5 | -0.136 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 4-8 | 3 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 4-8 | 4-9 | 1 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-9 | 4-9 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-9 | 4-9 | 0 | Capped at max 12 realistic runs |
| simulation_result | 4-9 | 4-9 | 0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| COL | Nick Frasso | pitcher / Reliever | worse | predicted_ER 4 |
| CHW | Randal Grichuk | batter / LF | better | predicted_AB 3.5 |
| CHW | Munetaka Murakami | batter / 1B | better | predicted_RBI 3.384 |
| CHW | Brenton Doyle | batter / CF | worse | predicted_AB 3.127 |
| CHW | Luisangel Acuña | batter / SS | worse | predicted_RBI 2.95 |
| CHW | Tommy Pham | batter / DH | better | predicted_AB 2.5 |
| CHW | Sam Antonacci | batter / 2B | worse | predicted_SO 2.4 |
| CHW | Tristan Peters | batter / RF | better | predicted_H 2.201 |
| 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 | COL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | COL |
| info | CURRENT_FINALIZED_MATCH_BOX | CHW model-prediction batting totals differ from final simulation box score (AB: current=31, sim=45; H: current=8, sim=12; 2B: current=1, sim=4; HR: current=1, sim=0; RBI: current=4, sim=9; R: current=5, sim=9; BB: current=3, sim=5; SO: current=7, sim=11). | CHW |
| info | CURRENT_PLAYER_MATCH_BOX | CHW current finalized hitter lines are model predictions and differ from the simulation box score: Tommy Pham: AB current=3 box=5, 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1; Munetaka Murakami: AB current=4 box=5, H current=1 box=2, 2B current=0 box=1, HR current=1 box=0; Randal Grichuk: AB current=4 box=6, H current=1 box=2, 2B current=1 box=0, RBI current=1 box=0; Sam Antonacci: AB current=3 box=5, H current=1 box=0, SO current=0 box=3; Brenton Doyle: AB current=4 box=6, SO current=1 box=2; Tristan Peters: AB current=3 box=4, H current=1 box=3, 2B current=0 box=2, RBI current=0 box=1; Luisangel Acuña: AB current=3 box=5, H current=0 box=2, RBI current=0 box=3, R current=0 box=1; Kyle Teel: AB current=3 box=4, RBI current=1 box=0, BB current=0 box=1 | CHW |
| info | CURRENT_FINALIZED_MATCH_BOX | COL model pitcher projections differ from final simulation pitching box score (ER: current=8, sim=9). | COL |
| info | CURRENT_FINALIZED_MATCH_BOX | COL model-prediction batting totals differ from final simulation box score (AB: current=34, sim=39; H: current=8, sim=6; 2B: current=2, sim=1; 3B: current=0, sim=1; BB: current=3, sim=2; SO: current=8, sim=10). | COL |
| info | CURRENT_PLAYER_MATCH_BOX | COL current finalized hitter lines are model predictions and differ from the simulation box score: Cole Carrigg: H current=1 box=2, 2B current=1 box=0, RBI current=1 box=0; Hunter Goodman: AB current=4 box=5, H current=1 box=2, RBI current=1 box=2; Connor Norby: AB current=4 box=5, 2B current=0 box=1, R current=0 box=1, BB current=1 box=0; Mickey Moniak: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, BB current=0 box=1; Adael Amador: H current=1 box=0, R current=1 box=0; Brett Sullivan: AB current=3 box=4, H current=1 box=0, SO current=1 box=2; Jake McCarthy: AB current=4 box=5, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; TJ Rumfield: AB current=4 box=5, 3B current=0 box=1, RBI current=0 box=2, R current=0 box=1 | COL |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| HOU | Hayden Wesneski | 3 ER / 16 outs | 1 ER / 21 outs | -2 |
| OAK | Jack Perkins | 3 ER / 14 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: Jack Perkins (OAK) posted 10.80 ERA vs projected 5.79 (6 ER in 15 outs); he is materially worse pitching home (7.42 ERA there vs 5.24 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
Hayden Wesneski (HOU) threw 21 outs, 1 ER = 1.29 ERA against a projected 5.06 ERA (-3.77 ERA error) only 10 prior appearances in the covered season - the projection had little of his own record to stand on
Bullpen behind him: 0 ER over 0 outs.
The HOME lineup he faced produced 2 runs on 6 hits and 0 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
Jack Perkins (OAK) threw 15 outs, 6 ER = 10.8 ERA against a projected 5.79 ERA (5.01 ERA error)
Bullpen behind him: 0 ER over 2 outs.
The AWAY lineup he faced produced 12 runs on 16 hits and 5 HR, against a projected 5 runs / 9 hits (7 runs vs projection).
Who did the damage to him:
Verdict: both: the starter was hit hard AND the lineup underproduced
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. 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 | Hayden Wesneski (Starter) | 21 / 16 | 1.29 / 5.06 (-3.77) | 1 / 3 | 6 / 2 | 0 / 0 | 1 / 1 | 1.76 | 5 / 3 | 3.93 | venue away: 4.39 vs 2.63 ERA (worse here) · opp run factor 1 (weak) · 10 prior appearances this season |
| OAK | Jack Perkins (Starter) | 15 / 14 | 10.8 / 5.79 (+5.01) | 6 / 3 | 5 / 5 | 3 / 1 | 3 / 2 | 1.92 | 9 / 3 | 5 | venue home: 7.42 vs 5.24 ERA (worse here) · opp run factor 1.04 (average) · 36 prior appearances this season |
| OAK | Scott Blewett (Middle Reliever (High Leverage)) | 2 / 4 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 0 | 0 / 0 | 0.4 | 2 / 1 | 1.14 |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Jeremy Peña (SS) | HOU | 6 / 4 | 4 / 1 | 0 / 0 | 0 / 0 | 2 / 1 | 4 / 1 | 4 / 1 | 0 / 0 | 1 / 1 | 2.34 | 0.323 above average | projection too low |
| Lucas Spence (CF) | HOU | 5 / 3 | 2 / 1 | 1 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 1 / 1 | 0 / 0 | 3 / 1 | 1.71 | 0.286 below average | good day |
| Isaac Paredes (3B) | HOU | 5 / 4 | 3 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 2 / 0 | 0 / 1 | 1 / 0 | 1.54 | 0.322 above average | projection too low |
| Shea Langeliers (DH) | OAK | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 2 / 1 | -1.4 | 0.356 elite | bad day |
| Lawrence Butler (RF) | OAK | 3 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 0 / 1 | -1.11 | 0.328 above average | bad day |
| Taylor Trammell (LF) | HOU | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 1 | -0.8 | 0.287 below average | projection too high |
| Donovan Walton (SS) | OAK | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 1 | 1 / 1 | -0.8 | 0.326 above average | bad day |
| Jose Altuve (2B) | HOU | 4 / 4 | 2 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 2 / 0 | 1 / 1 | 1 / 0 | 0 / 1 | 0.49 | 0.27 weak | — |
| Henry Bolte (CF) | OAK | 3 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 1 | 0.47 | 0.317 average | — |
| Carlos Cortes (LF) | OAK | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | -0.47 | 0.303 average | — |
| Tommy White (1B) | OAK | 3 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0.47 | 0.292 below average | — |
| Jonah Heim (C) | OAK | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.285 below average | — |
| Zack Gelof (3B) | OAK | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 0 / 0 | 1 / 1 | 0.47 | 0.325 above average | — |
| Yordan Alvarez (DH) | HOU | 5 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 1 / 1 | 3 / 1 | 2 / 1 | 0 / 1 | 2 / 1 | 0.45 | 0.443 elite | — |
| Jeff McNeil (2B) | OAK | 2 / 4 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 0 | 0 / 0 | -0.45 | 0.299 below average | — |
| Christian Walker (1B) | HOU | 4 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | 0.31 | 0.303 average | — |
| Cam Smith (RF) | HOU | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 2 / 0 | 2 / 1 | 0.19 | 0.316 average | — |
| Yainer Diaz (C) | HOU | 5 / 4 | 2 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0.16 | 0.311 average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.871 | positive favors home; negative favors away |
| Recent form | -0.23 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.039 | positive favors home; negative favors away |
| Composite | -0.803 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 5.37-4.64 | n/a | Base ML historical model prediction |
| variance_applied | 5-5 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 6-5 | 0.523 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 6-5 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 6-5 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 6-5 | n/a | Capped at max 12 realistic runs |
| simulation_result | 6-5 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 5.37-4.64 | 5-5 | -0.726 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-5 | 6-5 | 1 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 6-5 | 6-5 | -0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 6-5 | 6-5 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 6-5 | 6-5 | -0 | Capped at max 12 realistic runs |
| simulation_result | 6-5 | 6-5 | -0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| HOU | Taylor Trammell | batter / LF | better | predicted_RBI 2.91 |
| OAK | Henry Bolte | batter / CF | better | predicted_RBI 2.664 |
| HOU | Yordan Alvarez | batter / DH | better | predicted_RBI 2.28 |
| HOU | Christian Walker | batter / 1B | worse | predicted_SO 2.046 |
| OAK | Jack Perkins | pitcher / Starter | worse | predicted_H 2 |
| OAK | Hogan Harris | pitcher / Setup Man | better | predicted_H -2 |
| OAK | Jonah Heim | batter / C | better | predicted_RBI 1.63 |
| OAK | Carlos Cortes | batter / LF | worse | predicted_SO 1.479 |
| 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 | 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_FINALIZED_MATCH_BOX | HOU model-prediction batting totals differ from final simulation box score (AB: current=33, sim=37; H: current=9, sim=10; 2B: current=2, sim=3; HR: current=2, sim=1; RBI: current=5, sim=6; R: current=5, sim=6; BB: current=3, sim=5; HBP: current=0, sim=1). | HOU |
| info | CURRENT_PLAYER_MATCH_BOX | HOU current finalized hitter lines are model predictions and differ from the simulation box score: Yordan Alvarez: H current=1 box=2, 2B current=0 box=1, RBI current=1 box=3, SO current=1 box=0; Jeremy Peña: H current=1 box=2, HR current=1 box=0, RBI current=1 box=0, BB current=0 box=1; Isaac Paredes: RBI current=1 box=0, R current=0 box=1, SO current=0 box=1; Lucas Spence: AB current=3 box=4, BB current=0 box=1; Jose Altuve: AB current=4 box=5, 2B current=1 box=0, R current=1 box=0; Yainer Diaz: 2B current=1 box=0, RBI current=1 box=0, R current=0 box=1, BB current=0 box=1; Taylor Trammell: AB current=3 box=4, 2B current=0 box=1, RBI current=0 box=3, R current=0 box=1; Cam Smith: 2B current=0 box=1, SO current=1 box=0, HBP current=0 box=1 | HOU |
| info | CURRENT_FINALIZED_MATCH_BOX | OAK model-prediction batting totals differ from final simulation box score (AB: current=32, sim=33; H: current=9, sim=6; 2B: current=2, sim=1; R: current=4, sim=5; BB: current=3, sim=2). | OAK |
| info | CURRENT_PLAYER_MATCH_BOX | OAK current finalized hitter lines are model predictions and differ from the simulation box score: Shea Langeliers: H current=1 box=2, 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=0; Henry Bolte: AB current=4 box=3, RBI current=0 box=3; Donovan Walton: AB current=3 box=4, RBI current=1 box=0, R current=0 box=1, BB current=1 box=0; Carlos Cortes: AB current=3 box=4, H current=1 box=0, SO current=0 box=2; Tommy White: AB current=3 box=4, H current=1 box=0; Jonah Heim: HR current=0 box=1, RBI current=0 box=2, R current=0 box=1, SO current=1 box=0; Lawrence Butler: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Zack Gelof: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, R current=1 box=0 | OAK |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| LAA | Ryan Johnson | 1 ER / 16 outs | 4 ER / 15 outs | 3 |
| SEA | Kade Anderson | 1 ER / 16 outs | 0 ER / 10 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: Ryan Johnson (LAA) posted 7.20 ERA vs projected 1.69 (4 ER in 15 outs); he is materially worse pitching away (5.56 ERA there vs 3.22 on the other side), a venue-role weakness the model under-weighted.
What to do: Enable/raise the venue-split weight (context.venue_adjustment_weight) and validate in shadow; the split is credible for this starter.
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Ryan Johnson (LAA) threw 15 outs, 4 ER = 7.2 ERA against a projected 1.69 ERA (5.51 ERA error)
Bullpen behind him: 4 ER over 6 outs.
The HOME lineup he faced produced 7 runs on 11 hits and 1 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
HOME pitching
Kade Anderson (SEA) threw 10 outs, 0 ER = 0 ERA against a projected 1.69 ERA (-1.69 ERA error) only 6 prior appearances in the covered season - the projection had little of his own record to stand on
Bullpen behind him: 2 ER over 4 outs.
The AWAY lineup he faced produced 4 runs on 7 hits and 0 HR, against a projected 4 runs / 8 hits (0 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. 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 | Ryan Johnson (Starter) | 15 / 16 | 7.2 / 1.69 (+5.51) | 4 / 1 | 7 / 5 | 0 / 0 | 4 / 0 | 1.74 | 3 / 4 | 5.4 | venue away: 5.56 vs 3.22 ERA (worse here) · opp run factor 1.09 (weak) · 21 prior appearances this season |
| LAA | Mitch Farris (Closer) | 6 / 5 | 18 / 21.6 (-3.60) | 4 / 4 | 4 / 3 | 1 / 1 | 1 / 2 | 0.79 | 3 / 1 | 2 | |
| SEA | Kade Anderson (Starter) | 10 / 16 | 0 / 1.69 | 0 / 1 | 4 / 2 | 0 / 0 | 1 / 2 | 1.36 | 4 / 8 | 4.63 | venue home: 4.32 vs 4.02 ERA (ok) · opp run factor 1.01 (weak) · 6 prior appearances this season |
| SEA | José A. Ferrer (Closer) | 1 / 3 | 54 / 0 (+54.00) | 2 / 0 | 2 / 1 | 0 / 0 | 2 / 0 | 0.25 | 0 / 1 | 0.95 | |
| SEA | Gabe Speier (Middle Reliever (High Leverage)) | 3 / 5 | 0 / 5.4 (-5.40) | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0.23 | 1 / 2 | 0.73 |
Hitters: actual / projected (sorted by run impact vs projection)
| Batter | Team | AB | H | 2B | 3B | HR | RBI | R | BB | SO | Run impact | Season xwOBA | Signal |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Cole Young (2B) | SEA | 3 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 3 / 0 | 2 / 0 | 1 / 1 | 1.13 | 0.314 average | no signal |
| Zach Neto (SS) | LAA | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 2 / 1 | 1 / 2 | -1.07 | 0.316 average | no signal |
| J.P. Crawford (SS) | SEA | 5 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 1 / 1 | 0 / 1 | 0 / 1 | 1.07 | 0.319 average | no signal |
| Michael Arroyo (LF) | SEA | 5 / 3 | 3 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 0.94 | 0.346 elite | projection too low |
| Wade Meckler (RF) | LAA | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0 / 1 | -0.8 | 0.318 average | no signal |
| Christian Moore (2B) | LAA | 2 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 2 / 0 | 0 / 1 | 0.66 | 0.244 weak | good day |
| Lazaro Montes (RF) | SEA | 3 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 1 / 0 | 0 / 1 | 0.64 | 0.313 average | no signal |
| Dominic Canzone (DH) | SEA | 4 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 1 / 1 | 1 / 1 | -0.62 | 0.359 elite | bad day |
| Mike Trout (DH) | LAA | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 2 / 1 | -0.47 | 0.382 elite | — |
| Jose Siri (LF) | LAA | 5 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0.47 | 0.299 below average | — |
| Tyler Heineman (C) | LAA | 3 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0.47 | 0.238 weak | — |
| Vaughn Grissom (1B) | LAA | 5 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 2 / 1 | -0.31 | 0.311 average | — |
| Randy Arozarena (CF) | SEA | 5 / 4 | 2 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 3 / 1 | 0.14 | 0.349 elite | — |
| Josh Naylor (1B) | SEA | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | -0.14 | 0.312 average | — |
| Denzer Guzman (3B) | LAA | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 1 | 0 | 0.266 weak | — |
| Bryce Teodosio (CF) | LAA | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 1 / 0 | 0 / 0 | 2 / 1 | 0 | 0.209 weak | — |
| Cal Raleigh (C) | SEA | 4 / 4 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 1 / 1 | 0 | 0.312 average | — |
| Leo Rivas (3B) | SEA | 2 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 | 0.25 weak | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.16 | positive favors home; negative favors away |
| Recent form | -0.23 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.074 | positive favors home; negative favors away |
| Composite | 0.372 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 3.97-4.7 | n/a | Base ML historical model prediction |
| variance_applied | 4-5 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 0.518 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-5 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-5 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-5 | n/a | Capped at max 12 realistic runs |
| simulation_result | 4-5 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 3.97-4.7 | 4-5 | 0.271 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 4-5 | 0 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-5 | 4-5 | 0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-5 | 4-5 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-5 | 4-5 | 0 | Capped at max 12 realistic runs |
| simulation_result | 4-5 | 4-5 | 0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| SEA | J.P. Crawford | batter / SS | worse | predicted_RBI 2.71 |
| LAA | Zach Neto | batter / SS | worse | predicted_SO 2.632 |
| LAA | Jose Siri | batter / LF | worse | predicted_H 1.71 |
| LAA | Denzer Guzman | batter / 3B | worse | predicted_RBI 1.69 |
| LAA | Tyler Heineman | batter / C | worse | predicted_SO 1.554 |
| SEA | Michael Arroyo | batter / LF | worse | predicted_AB 1.5 |
| LAA | Bryce Teodosio | batter / CF | worse | predicted_AB 1.417 |
| SEA | Cal Raleigh | batter / C | worse | predicted_SO -1.317 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | LAA pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | LAA |
| info | CURRENT_PITCHER_DUPLICATION | SEA pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | SEA |
| info | CURRENT_FINALIZED_MATCH_BOX | LAA model-prediction batting totals differ from final simulation box score (AB: current=34, sim=35; 2B: current=1, sim=0; 3B: current=0, sim=1; HR: current=1, sim=0; BB: current=3, sim=2; SO: current=10, sim=11). | LAA |
| info | CURRENT_PLAYER_MATCH_BOX | LAA current finalized hitter lines are model predictions and differ from the simulation box score: Mike Trout: AB current=4 box=3, RBI current=0 box=1, SO current=1 box=0; Vaughn Grissom: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Denzer Guzman: AB current=4 box=3, RBI current=0 box=2, BB current=0 box=1; Wade Meckler: H current=1 box=2, 3B current=0 box=1, R current=1 box=0, BB current=1 box=0; Bryce Teodosio: AB current=3 box=4, H current=1 box=0; Christian Moore: RBI current=1 box=0; Jose Siri: H current=1 box=2, RBI current=1 box=0, R current=0 box=1, SO current=1 box=0; Zach Neto: AB current=4 box=5, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0 | LAA |
| info | CURRENT_FINALIZED_MATCH_BOX | SEA model-prediction batting totals differ from final simulation box score (AB: current=33, sim=31; H: current=7, sim=8; 2B: current=1, sim=4; RBI: current=4, sim=5; R: current=4, sim=5; BB: current=4, sim=2; SO: current=8, sim=6; SF: current=0, sim=1). | SEA |
| info | CURRENT_PLAYER_MATCH_BOX | SEA current finalized hitter lines are model predictions and differ from the simulation box score: Randy Arozarena: AB current=4 box=3, H current=1 box=2, RBI current=1 box=0, SO current=1 box=0; Cal Raleigh: AB current=4 box=3, BB current=1 box=0, SO current=1 box=0, SF current=0 box=1; J.P. Crawford: HR current=0 box=1, RBI current=0 box=3, BB current=1 box=0; Michael Arroyo: AB current=3 box=4, 2B current=0 box=1; Dominic Canzone: 2B current=0 box=1, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Josh Naylor: H current=1 box=0, SO current=0 box=1; Leo Rivas: H current=0 box=1, 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1; Lazaro Montes: AB current=3 box=2, RBI current=1 box=0, R current=0 box=1, BB current=0 box=1 | SEA |
| 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 | 0 ER / 17 outs | 1 ER / 12 outs | 1 |
| SF | Matt Wilkinson | 1 ER / 14 outs | 1 ER / 9 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
Blake Snell (LAD) threw 12 outs, 1 ER = 2.25 ERA against a projected 0 ERA (2.25 ERA error) only 8 prior appearances in the covered season - the projection had little of his own record to stand on
Bullpen behind him: 1 ER over 9 outs.
The HOME lineup he faced produced 2 runs on 7 hits and 0 HR, against a projected 4 runs / 7 hits (-2 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
Matt Wilkinson (SF) threw 9 outs, 1 ER = 3 ERA against a projected 1.93 ERA (1.07 ERA error) only 7 prior appearances in the covered season - the projection had little of his own record to stand on
Bullpen behind him: 1 ER over 6 outs.
The AWAY lineup he faced produced 4 runs on 9 hits and 2 HR, against a projected 5 runs / 8 hits (-1 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. exp BB and exp SO are the continuous rate expectations. The integer beside each is a simulation draw reconciled to the opposing simulated batting box, so it is not the line that ranks pitchers: on the 2026-09-07 slate the integers published 39 walks and 121 strikeouts against 51 and 130 real, while these expectations landed on 50.4 and 132.6.)
| Pitcher | Team | Outs | ERA | ER | H | HR | BB | exp BB | SO | exp SO | Context (as-of) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| LAD | Blake Snell (Starter) | 12 / 17 | 2.25 / 0 | 1 / 0 | 5 / 1 | 0 / 0 | 0 / 0 | 1.94 | 3 / 5 | 5.72 | venue away: 1.53 vs 2.14 ERA (ok) · opp run factor 0.96 (weak) · 8 prior appearances this season |
| LAD | Alex Vesia (Middle Reliever (High Leverage)) | 3 / 3 | 0 / 18 (-18.00) | 0 / 2 | 0 / 3 | 0 / 0 | 0 / 0 | 0.5 | 2 / 0 | 1.16 | |
| LAD | Brock Stewart (Setup Man) | 3 / 4 | 9 / 0 (+9.00) | 1 / 0 | 1 / 1 | 0 / 0 | 1 / 0 | 0.33 | 1 / 0 | 0.83 | |
| LAD | Tanner Scott (Closer) | 3 / 3 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0.28 | 2 / 0 | 1.26 | |
| SF | Matt Wilkinson (Starter) | 9 / 14 | 3 / 1.93 | 1 / 1 | 1 / 3 | 1 / 0 | 1 / 1 | 0.78 | 2 / 6 | 3.56 | venue home: 3 vs 5.27 ERA (ok) · opp run factor 0.98 (strong) · 7 prior appearances this season |
| SF | Carson Seymour (Middle Reliever (High Leverage)) | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0.47 | 1 / 1 | 0.79 | |
| SF | Trent Harris (Setup Man) | 3 / 4 | 9 / 6.75 | 1 / 1 | 2 / 1 | 1 / 0 | 0 / 1 | 0.23 | 0 / 0 | 1.44 |
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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Enrique Hernández (1B) | LAD | 4 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | 1.4 | 0.271 weak | good day |
| Shohei Ohtani (DH) | LAD | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 2 / 1 | -1.26 | 0.4 elite | bad day |
| Brett Harris (1B) | SF | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | -0.8 | 0.254 weak | projection too high |
| Mookie Betts (SS) | LAD | 5 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 1 | 0 / 0 | 1 / 0 | 0.62 | 0.341 elite | projection too low |
| Victor Bericoto (DH) | SF | 4 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | -0.62 | 0.301 below average | projection too high |
| Tommy Edman (2B) | LAD | 4 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0.47 | 0.301 below average | — |
| Bo Davidson (RF) | SF | 3 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | 0.47 | 0.316 average | — |
| Andrew Knizner (C) | SF | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.281 weak | — |
| Shay Whitcomb (3B) | SF | 2 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0.47 | 0.257 weak | — |
| Will Smith (C) | LAD | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 1 / 0 | -0.33 | 0.392 elite | — |
| Miguel Rojas (3B) | LAD | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0.33 | 0.308 average | — |
| Jonah Cox (2B) | SF | 4 / 4 | 1 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 1 / 2 | -0.33 | 0.259 weak | — |
| Teoscar Hernández (LF) | LAD | 3 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 2 / 1 | 0.31 | 0.333 above average | — |
| Andy Pages (CF) | LAD | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 0 | 2 / 1 | -0.14 | 0.342 elite | — |
| Turner Hill (CF) | SF | 3 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 0 | 0 / 1 | 1 / 1 | -0.02 | 0.317 average | — |
| Kyle Tucker (RF) | LAD | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 1 / 1 | 0 | 0.331 above average | — |
| Scott Bandura (LF) | SF | 2 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0 | 0.141 weak | — |
| Christian Koss (SS) | SF | 4 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 2 / 1 | 0 | 0.243 weak | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -1.641 | positive favors home; negative favors away |
| Recent form | -1.19 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.018 | positive favors home; negative favors away |
| Composite | -1.598 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 5.06-2.93 | n/a | Base ML historical model prediction |
| variance_applied | 5-3 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-3 | 0.553 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-2 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-2 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-2 | n/a | Capped at max 12 realistic runs |
| simulation_result | 4-2 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 5.06-2.93 | 5-3 | -0.136 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-3 | 4-3 | -1 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-3 | 4-2 | 1 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-2 | 4-2 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-2 | 4-2 | -0 | Capped at max 12 realistic runs |
| simulation_result | 4-2 | 4-2 | -0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| LAD | Enrique Hernández | batter / 1B | worse | predicted_SO 2.196 |
| LAD | Blake Snell | pitcher / Starter | better | predicted_SO 2 |
| SF | Bo Davidson | batter / RF | better | predicted_RBI 2 |
| LAD | Mookie Betts | batter / SS | worse | predicted_AB -1.54 |
| LAD | Miguel Rojas | batter / 3B | better | predicted_AB 1.5 |
| SF | Brett Harris | batter / 1B | deboosted | predicted_AB 1.5 |
| SF | Scott Bandura | batter / LF | worse | predicted_SO -1.458 |
| LAD | Will Smith | batter / C | worse | predicted_H -1.39 |
| 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 | 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 | LAD model-prediction batting totals differ from final simulation box score (AB: current=32, sim=33; H: current=8, sim=6; R: current=5, sim=4; BB: current=3, sim=2; SO: current=6, sim=9; HBP: current=0, sim=1). | LAD |
| info | CURRENT_PLAYER_MATCH_BOX | LAD current finalized hitter lines are model predictions and differ from the simulation box score: Shohei Ohtani: AB current=4 box=3, H current=1 box=0, HR current=1 box=0, RBI current=1 box=0; Will Smith: H current=1 box=0, BB current=1 box=0, SO current=0 box=1; Miguel Rojas: AB current=3 box=4, H current=1 box=2, RBI current=0 box=1, R current=0 box=1; Teoscar Hernández: AB current=4 box=3, 2B current=0 box=1, RBI current=1 box=0, HBP current=0 box=1; Enrique Hernández: AB current=3 box=4, SO current=1 box=3; Mookie Betts: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Andy Pages: AB current=3 box=4, HR current=0 box=1, RBI current=1 box=2, SO current=1 box=0; Kyle Tucker: H current=1 box=2, RBI current=0 box=1, BB current=1 box=0, SO current=1 box=0 | LAD |
| info | CURRENT_FINALIZED_MATCH_BOX | SF model-prediction batting totals differ from final simulation box score (AB: current=30, sim=32; H: current=7, sim=5; 2B: current=1, sim=2; HR: current=1, sim=0; RBI: current=4, sim=2; R: current=4, sim=2; BB: current=3, sim=0; SO: current=10, sim=5). | SF |
| info | CURRENT_PLAYER_MATCH_BOX | SF current finalized hitter lines are model predictions and differ from the simulation box score: Jonah Cox: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Victor Bericoto: HR current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=1 box=2; Brett Harris: AB current=3 box=4, H current=1 box=0, BB current=1 box=0, SO current=1 box=0; Bo Davidson: AB current=3 box=4, 2B current=0 box=1, RBI current=0 box=2; Andrew Knizner: SO current=1 box=0; Turner Hill: RBI current=1 box=0, R current=0 box=1, BB current=1 box=0; Shay Whitcomb: 2B current=0 box=1, RBI current=1 box=0, SO current=1 box=0; Scott Bandura: SO current=1 box=0 | SF |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| NYM | Jonah Tong | 3 ER / 15 outs | 1 ER / 15 outs | -2 |
| WAS | Connelly Early | 5 ER / 17 outs | 0 ER / 9 outs | -5 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Starter miss: Connelly Early (WAS) posted 0.00 ERA vs projected 7.94 (0 ER in 9 outs); he is materially worse pitching home (4.18 ERA there vs 2.64 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
Jonah Tong (NYM) threw 15 outs, 1 ER = 1.8 ERA against a projected 5.4 ERA (-3.6 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 3 outs.
The HOME lineup he faced produced 0 runs on 3 hits and 0 HR, against a projected 5 runs / 8 hits (-5 runs vs projection).
No individual hitter beat his projection by a meaningful margin.
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
Connelly Early (WAS) threw 9 outs, 0 ER = 0 ERA against a projected 7.94 ERA (-7.94 ERA error)
Bullpen behind him: 0 ER over 0 outs.
The AWAY lineup he faced produced 5 runs on 7 hits and 1 HR, against a projected 4 runs / 7 hits (1 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
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 | Jonah Tong (Starter) | 15 / 15 | 1.8 / 5.4 (-3.60) | 1 / 3 | 3 / 5 | 0 / 2 | 1 / 2 | 2.09 | 9 / 6 | 5.66 | venue away: 7.2 vs 3.38 ERA (ok) · opp run factor 1.01 (strong) · 6 prior appearances this season |
| NYM | Nathan Lavender (Setup Man) | 3 / 4 | 0 / 13.5 (-13.50) | 0 / 2 | 0 / 2 | 0 / 1 | 0 / 0 | 0.2 | 0 / 0 | 1.28 | |
| WAS | Connelly Early (Starter) | 9 / 17 | 0 / 7.94 (-7.94) | 0 / 5 | 1 / 4 | 0 / 1 | 0 / 3 | 2.12 | 1 / 3 | 5.74 | venue home: 4.18 vs 2.64 ERA (worse here) · opp run factor 1.03 (average) · 17 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CJ Abrams (SS) | WAS | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 3 / 1 | -1.73 | 0.333 above average | bad day |
| Carson Benge (RF) | NYM | 5 / 4 | 3 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 2 / 1 | 0 / 0 | 0 / 1 | 1.25 | 0.341 elite | projection too low |
| A.J. Ewing (CF) | NYM | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 3 / 0 | 2 / 0 | 1 / 1 | 1 / 1 | 0.93 | 0.316 average | no signal |
| Jorbit Vivas (2B) | WAS | 1 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | -0.8 | 0.293 below average | projection too high |
| Juan Soto (DH) | NYM | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 0 | -0.79 | 0.411 elite | bad day |
| Keibert Ruiz (C) | WAS | 3 / 3 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | -0.78 | 0.288 below average | projection too high |
| Brett Baty (1B) | NYM | 4 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.322 above average | — |
| Francisco Alvarez (C) | NYM | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 1 | -0.47 | 0.323 above average | — |
| Francisco Lindor (SS) | NYM | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 2 / 1 | -0.47 | 0.329 above average | — |
| Abimelec Ortiz (1B) | WAS | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.276 weak | — |
| Daylen Lile (LF) | WAS | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 0 / 1 | -0.47 | 0.327 above average | — |
| Brady House (3B) | WAS | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -0.33 | 0.333 above average | — |
| James Wood (DH) | WAS | 4 / 4 | 2 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -0.17 | 0.405 elite | — |
| Dylan Crews (RF) | WAS | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 3 / 1 | -0.14 | 0.32 average | — |
| Bo Bichette (3B) | NYM | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 0 | 1 / 1 | 0.02 | 0.331 above average | — |
| Nick Morabito (LF) | NYM | 0 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.296 below average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.354 | positive favors home; negative favors away |
| Recent form | 0.214 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.017 | positive favors home; negative favors away |
| Composite | 0.211 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 5.15-4.71 | n/a | Base ML historical model prediction |
| variance_applied | 5-5 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-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 | 6-6 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 6-7 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 6-7 | n/a | Capped at max 12 realistic runs |
| simulation_result | 6-7 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 5.15-4.71 | 5-5 | 0.444 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-5 | 5-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 | 5-6 | 6-6 | -1 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 6-6 | 6-7 | 1 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 6-7 | 6-7 | 0 | Capped at max 12 realistic runs |
| simulation_result | 6-7 | 6-7 | 0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| NYM | Francisco Lindor | batter / SS | deboosted | predicted_RBI 4.58 |
| WAS | Abimelec Ortiz | batter / 1B | better | predicted_RBI 3.83 |
| WAS | James Wood | batter / DH | worse | predicted_SO 1.677 |
| WAS | Jorbit Vivas | batter / 2B | better | predicted_H 1.351 |
| NYM | Nick Morabito | batter / LF | better | predicted_AB 1.267 |
| NYM | Brett Baty | batter / 1B | better | predicted_H 1.256 |
| WAS | Daylen Lile | batter / LF | worse | predicted_SO 1.203 |
| NYM | Francisco Alvarez | batter / C | worse | predicted_SO -1.168 |
| 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 | 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 | NYM model pitcher projections differ from final simulation pitching box score (ER: current=6, sim=7). | NYM |
| info | CURRENT_FINALIZED_MATCH_BOX | NYM model-prediction batting totals differ from final simulation box score (AB: current=34, sim=36; H: current=8, sim=9; 2B: current=1, sim=2; RBI: current=5, sim=6; R: current=4, sim=6; SO: current=8, sim=4). | NYM |
| info | CURRENT_PLAYER_MATCH_BOX | NYM current finalized hitter lines are model predictions and differ from the simulation box score: Carson Benge: AB current=4 box=5, RBI current=1 box=0, SO current=1 box=0; Juan Soto: HR current=1 box=0, RBI current=1 box=0, SO current=0 box=1; Brett Baty: H current=1 box=2, 2B current=0 box=1, RBI current=1 box=0, R current=0 box=1; A.J. Ewing: H current=1 box=0, BB current=1 box=0, SO current=1 box=2; Marcus Semien: AB current=4 box=3, H current=1 box=0, BB current=0 box=1, SO current=1 box=0; Nick Morabito: AB current=3 box=4, H current=0 box=1, 2B current=0 box=1, R current=0 box=1; Francisco Alvarez: AB current=4 box=3, H current=1 box=0, SO current=1 box=0; Francisco Lindor: AB current=4 box=5, H current=1 box=3, HR current=0 box=1, RBI current=1 box=5 | NYM |
| info | CURRENT_FINALIZED_MATCH_BOX | WAS model-prediction batting totals differ from final simulation box score (H: current=8, sim=9; 2B: current=2, sim=1; HR: current=1, sim=3; RBI: current=5, sim=7; R: current=5, sim=7; SO: current=7, sim=8). | WAS |
| info | CURRENT_PLAYER_MATCH_BOX | WAS current finalized hitter lines are model predictions and differ from the simulation box score: James Wood: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Abimelec Ortiz: AB current=4 box=3, H current=1 box=2, HR current=0 box=2, RBI current=0 box=4; Dylan Crews: 2B current=0 box=1, SO current=1 box=0; Jorbit Vivas: H current=1 box=2, HR current=0 box=1, RBI current=0 box=1, R current=0 box=1; CJ Abrams: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Daylen Lile: SO current=1 box=2; Keibert Ruiz: AB current=3 box=4, 2B current=1 box=0, RBI current=1 box=0, R current=0 box=1; Jacob Young: AB current=3 box=4, H current=0 box=1, R current=0 box=1 | WAS |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| PIT | Kirby Yates | 2 ER / 15 outs | 0 ER / 5 outs | -2 |
| DET | Justin Verlander | 6 ER / 11 outs | 2 ER / 16 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: Justin Verlander (DET) posted 3.38 ERA vs projected 14.73 (2 ER in 16 outs). Thin prior record (1 prior appearances this season): high projection uncertainty.
What to do: Reduce game confidence for starters the feed has little on (scale by prior appearances); prefer priors and validate any run-param change in shadow.
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Kirby Yates (PIT) threw 5 outs, 0 ER = 0 ERA against a projected 3.6 ERA (-3.6 ERA error)
Bullpen behind him: 3 ER over 12 outs.
The HOME lineup he faced produced 4 runs on 9 hits and 1 HR, against a projected 4 runs / 7 hits (0 runs vs projection).
Who did the damage to him:
Verdict: offense: the lineup scored well below its projection
HOME pitching
Justin Verlander (DET) threw 16 outs, 2 ER = 3.38 ERA against a projected 14.73 ERA (-11.35 ERA error) only 1 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 AWAY lineup he faced produced 3 runs on 9 hits and 2 HR, against a projected 5 runs / 8 hits (-2 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. 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 | Kirby Yates (Starter) | 5 / 15 | 0 / 3.6 (-3.60) | 0 / 2 | 2 / 5 | 0 / 0 | 0 / 2 | 2.12 | 1 / 4 | 4.62 | opp run factor 1 (average) · 45 prior appearances this season |
| PIT | Gregory Soto (Middle Reliever (High Leverage)) | 3 / 3 | 0 / 18 (-18.00) | 0 / 2 | 0 / 2 | 0 / 1 | 0 / 0 | 0.51 | 0 / 1 | 1.32 | |
| PIT | Luke Weaver (Setup Man) | 3 / 3 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0.28 | 1 / 1 | 1.15 | |
| PIT | Mason Montgomery (Closer) | 2 / 3 | 40.5 / 0 (+40.50) | 3 / 0 | 3 / 1 | 1 / 0 | 0 / 0 | 0.43 | 1 / 0 | 1.52 | |
| PIT | Yohan Ramírez (Middle Reliever (High Leverage)) | 4 / 3 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 0 | 0.54 | 3 / 1 | 1.69 | |
| DET | Justin Verlander (Starter) | 16 / 11 | 3.38 / 14.73 (-11.35) | 2 / 6 | 5 / 9 | 2 / 1 | 1 / 0 | 2.06 | 6 / 3 | 0.99 | opp run factor 1 (average) · thin sample: 1 prior appearances this season (high uncertainty) |
| DET | Jacob Waguespack (Middle Reliever (High Leverage)) | 4 / 4 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 0 | 0 / 0 | 0.57 | 2 / 1 | 1.4 | |
| DET | Tyler Kinley (Middle Reliever) | 2 / 2 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0.4 | 0 / 0 | 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Hao-Yu Lee (2B) | DET | 3 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 2 / 0 | 0 / 1 | 1.44 | 0.302 below average | good day |
| Henry Davis (C) | PIT | 3 / 3 | 2 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | 0.94 | 0.29 below average | good day |
| Jacob Gonzalez (3B) | PIT | 2 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 0 | 0 / 0 | 0 / 1 | 0.93 | 0.303 average | no signal |
| Dillon Dingler (C) | DET | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 2 / 1 | -0.93 | 0.344 elite | bad day |
| Oneil Cruz (CF) | PIT | 1 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -0.8 | 0.353 elite | bad day |
| Konnor Griffin (SS) | PIT | 4 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0.78 | 0.309 average | no signal |
| Javier Báez (SS) | DET | 4 / 3 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0.78 | 0.261 weak | good day |
| Eduardo Valencia (DH) | DET | 5 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | 2 / 1 | 1 / 1 | 0 / 0 | 2 / 1 | 0.62 | 0.369 elite | projection too low |
| Spencer Horwitz (1B) | PIT | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 0 | -0.47 | 0.311 average | — |
| Ronny Simon (RF) | PIT | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | -0.47 | 0.316 average | — |
| Bryan Reynolds (LF) | PIT | 4 / 4 | 2 / 1 | 0 / 1 | 1 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 0.45 | 0.354 elite | — |
| Kevin McGonigle (3B) | DET | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | -0.33 | 0.357 elite | — |
| Max Clark (CF) | DET | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 2 / 1 | -0.33 | 0.322 above average | — |
| Spencer Torkelson (1B) | DET | 3 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 2 / 1 | 0.33 | 0.315 average | — |
| Riley Greene (LF) | DET | 4 / 4 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -0.02 | 0.373 elite | — |
| Ryan O'Hearn (DH) | PIT | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | 0 | 0.317 average | — |
| Brandon Lowe (2B) | PIT | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 1 / 1 | 0 / 0 | 0 / 1 | 0 | 0.331 above average | — |
| Zach McKinstry (RF) | DET | 0 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.284 below average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.081 | positive favors home; negative favors away |
| Recent form | -0.188 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0 | positive favors home; negative favors away |
| Composite | -0.362 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.78-2.71 | n/a | Base ML historical model prediction |
| variance_applied | 5-3 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-4 | 0.513 | 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.78-2.71 | 5-3 | -0.072 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-3 | 5-4 | -1 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by 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 |
|---|---|---|---|---|
| PIT | Henry Davis | batter / C | better | predicted_RBI 3.53 |
| DET | Kevin McGonigle | batter / 3B | worse | predicted_SO 2.368 |
| DET | Justin Verlander | pitcher / Starter | neutral | predicted_SO 2 |
| PIT | Oneil Cruz | batter / CF | worse | predicted_AB -1.58 |
| PIT | Ronny Simon | batter / RF | worse | predicted_SO 1.444 |
| PIT | Jacob Gonzalez | batter / 3B | better | predicted_H 1.432 |
| PIT | Brandon Lowe | batter / 2B | worse | predicted_SO -1.267 |
| DET | Spencer Torkelson | batter / 1B | worse | predicted_SO -1.227 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | DET pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | DET |
| info | CURRENT_PITCHER_DUPLICATION | 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 | DET model-prediction batting totals differ from final simulation box score (AB: current=33, sim=34; H: current=7, sim=8; 2B: current=1, sim=2; 3B: current=0, sim=1; BB: current=3, sim=2; SO: current=9, sim=7; SF: current=0, sim=1; HBP: current=0, sim=1). | DET |
| info | CURRENT_PLAYER_MATCH_BOX | DET current finalized hitter lines are model predictions and differ from the simulation box score: Kevin McGonigle: H current=1 box=0, R current=1 box=0, BB current=1 box=0, SO current=1 box=3; Eduardo Valencia: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, SO current=1 box=0; Hao-Yu Lee: AB current=4 box=5, H current=1 box=2, 2B current=0 box=1, RBI current=1 box=0; Dillon Dingler: HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Riley Greene: AB current=4 box=3, HR current=0 box=1; Max Clark: AB current=4 box=5, RBI current=0 box=1, R current=0 box=1, BB current=1 box=0; Zach McKinstry: AB current=3 box=4, H current=0 box=1; Javier Báez: 3B current=0 box=1, RBI current=0 box=1, R current=0 box=1, SO current=1 box=0 | DET |
| info | CURRENT_FINALIZED_MATCH_BOX | PIT model-prediction batting totals differ from final simulation box score (AB: current=34, sim=37; H: current=8, sim=10; RBI: current=4, sim=6; R: current=5, sim=6; BB: current=3, sim=1; SO: current=8, sim=5). | PIT |
| info | CURRENT_PLAYER_MATCH_BOX | PIT current finalized hitter lines are model predictions and differ from the simulation box score: Ryan O'Hearn: AB current=4 box=5, H current=1 box=2, RBI current=1 box=0; Bryan Reynolds: 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Oneil Cruz: AB current=4 box=3, RBI current=1 box=0; Brandon Lowe: AB current=4 box=5, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Jacob Gonzalez: AB current=3 box=4, H current=1 box=2, 2B current=0 box=1, R current=0 box=1; Konnor Griffin: RBI current=0 box=1, R current=0 box=1, SO current=1 box=0; Spencer Horwitz: RBI current=0 box=1, R current=0 box=1, BB current=1 box=0, SO current=0 box=1; Ronny Simon: H current=1 box=0, R current=1 box=0, SO current=1 box=2 | PIT |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| STL | Quinn Mathews | 1 ER / 18 outs | 3 ER / 15 outs | 2 |
| MIL | Dustin May | 1 ER / 13 outs | 2 ER / 9 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: Dustin May (MIL) posted 6.00 ERA vs projected 2.08 (2 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
Quinn Mathews (STL) threw 15 outs, 3 ER = 5.4 ERA against a projected 1.5 ERA (3.9 ERA error) only 8 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 3 runs on 8 hits and 1 HR, against a projected 5 runs / 8 hits (-2 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 9 outs, 2 ER = 6 ERA against a projected 2.08 ERA (3.92 ERA error)
Bullpen behind him: 0 ER over 7 outs.
The AWAY lineup he faced produced 2 runs on 3 hits and 1 HR, against a projected 4 runs / 8 hits (-2 runs vs projection).
Who did the damage to him:
Verdict: both: the starter was hit hard AND the lineup underproduced
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. 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 | Quinn Mathews (Starter) | 15 / 18 | 5.4 / 1.5 (+3.90) | 3 / 1 | 5 / 5 | 1 / 0 | 2 / 0 | 2.34 | 7 / 7 | 4.95 | venue away: 4.68 vs 2.33 ERA (worse here) · opp run factor 0.99 (strong) · 8 prior appearances this season |
| MIL | Dustin May (Starter) | 9 / 13 | 6 / 2.08 (+3.92) | 2 / 1 | 3 / 1 | 1 / 0 | 1 / 2 | 1.8 | 5 / 3 | 4.77 | venue home: 3.87 vs 5.88 ERA (ok) · opp run factor 0.99 (average) · 30 prior appearances this season |
| MIL | Aaron Ashby (Middle Reliever (High Leverage)) | 6 / 5 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0.65 | 2 / 1 | 1.56 | |
| MIL | Antonio Senzatela (Middle Reliever (High Leverage)) | 1 / 3 | 0 / 9 (-9.00) | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 0.41 | 1 / 0 | 0.82 |
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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Jordan Walker (RF) | STL | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 0 / 0 | 1 / 1 | -0.93 | 0.341 elite | bad day |
| JJ Wetherholt (2B) | STL | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 2 / 1 | -0.8 | 0.349 elite | bad day |
| Iván Herrera (DH) | STL | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -0.8 | 0.335 above average | bad day |
| Cooper Pratt (SS) | MIL | 3 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0.64 | 0.314 average | no signal |
| Alec Burleson (1B) | STL | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 1 | 0 / 0 | 2 / 1 | 0.62 | 0.373 elite | projection too low |
| Brice Turang (2B) | MIL | 3 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 1 / 0 | 2 / 1 | 1 / 1 | 1 / 1 | 2 / 1 | 0.62 | 0.343 elite | projection too low |
| Leonardo Bernal (C) | STL | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 3 / 1 | -0.47 | 0.344 elite | — |
| Bryan Torres (LF) | STL | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | -0.47 | 0.288 below average | — |
| Nathan Church (CF) | STL | 3 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.285 below average | — |
| Jake Bauers (1B) | MIL | 3 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 2 / 1 | -0.47 | 0.371 elite | — |
| Jackson Chourio (LF) | MIL | 4 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 1 / 1 | 0 / 0 | 0 / 1 | -0.46 | 0.343 elite | — |
| Gary Sánchez (DH) | MIL | 2 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | -0.33 | 0.337 above average | — |
| Brandon Lockridge (RF) | MIL | 2 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 1 / 1 | 0.31 | 0.258 weak | — |
| David Hamilton (3B) | MIL | 3 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0.31 | 0.274 weak | — |
| Nolan Gorman (3B) | STL | 1 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 0 | 0.281 weak | — |
| Thomas Saggese (SS) | STL | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0 | 0.313 average | — |
| William Contreras (C) | MIL | 3 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 1 | 1 / 1 | 0 | 0.334 above average | — |
| Luis Lara (CF) | MIL | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | 0 | 0.295 below average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 1.451 | positive favors home; negative favors away |
| Recent form | 1.186 | positive favors home; negative favors away |
| Starting-pitcher matchup | -0.005 | positive favors home; negative favors away |
| Composite | 1.264 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.41-4.74 | n/a | Base ML historical model prediction |
| variance_applied | 4-5 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 0.535 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, 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.41-4.74 | 4-5 | 0.669 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-5 | 4-5 | 0 | Enhanced ML with recent form, H2H, low-score analysis (confidence shrunk by projected_margin_is_one_run, matchup_recency_guardrail) |
| embedded_savant_run_environment | 4-5 | 4-5 | 0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-5 | 4-5 | 0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-5 | 4-5 | 0 | Capped at max 12 realistic runs |
| simulation_result | 4-5 | 4-5 | 0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| MIL | William Contreras | batter / C | worse | predicted_AB -2.09 |
| MIL | Jake Bauers | batter / 1B | better | predicted_H 1.99 |
| MIL | David Hamilton | batter / 3B | boosted | predicted_RBI 1.8 |
| STL | Alec Burleson | batter / 1B | better | predicted_H 1.55 |
| STL | JJ Wetherholt | batter / 2B | worse | predicted_BB 1.53 |
| STL | Bryan Torres | batter / LF | worse | predicted_AB 1.484 |
| STL | Leonardo Bernal | batter / C | worse | predicted_H -1.34 |
| MIL | Gary Sánchez | batter / DH | worse | predicted_SO 1.296 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | MIL pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | MIL |
| info | CURRENT_PITCHER_DUPLICATION | 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 | MIL model-prediction batting totals differ from final simulation box score (H: current=8, sim=9; 2B: current=1, sim=4; HR: current=1, sim=0; BB: current=4, sim=3; SO: current=9, sim=7; SF: current=0, sim=1). | MIL |
| info | CURRENT_PLAYER_MATCH_BOX | MIL current finalized hitter lines are model predictions and differ from the simulation box score: William Contreras: AB current=4 box=3, 2B current=0 box=1; Jake Bauers: H current=1 box=3, 2B current=0 box=1, RBI current=1 box=0, BB current=1 box=0; Gary Sánchez: SO current=1 box=2; Brice Turang: 2B current=1 box=0, BB current=1 box=0; Brandon Lockridge: 2B current=0 box=1, RBI current=0 box=1, R current=0 box=1, SO current=1 box=0; Jackson Chourio: HR current=1 box=0, RBI current=1 box=0, R current=1 box=0, SO current=1 box=0; Luis Lara: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Cooper Pratt: AB current=3 box=4, SO current=1 box=0 | MIL |
| info | CURRENT_FINALIZED_MATCH_BOX | STL model-prediction batting totals differ from final simulation box score (AB: current=32, sim=33; H: current=8, sim=6; 3B: current=0, sim=1; SO: current=9, sim=6; HBP: current=0, sim=1). | STL |
| info | CURRENT_PLAYER_MATCH_BOX | STL current finalized hitter lines are model predictions and differ from the simulation box score: JJ Wetherholt: AB current=4 box=3, H current=1 box=0, R current=1 box=0, BB current=1 box=2; Iván Herrera: H current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Jordan Walker: HR current=1 box=0, SO current=1 box=0; Leonardo Bernal: H current=1 box=0, RBI current=1 box=0; Bryan Torres: AB current=3 box=4, 3B current=0 box=1; Alec Burleson: H current=1 box=2, SO current=1 box=0; Nolan Gorman: H current=0 box=1, RBI current=0 box=1, R current=0 box=1, SO current=1 box=0; Nathan Church: HR current=0 box=1, RBI current=0 box=1, R current=0 box=1, HBP current=0 box=1 | STL |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| TB | Griffin Jax | 0 ER / 15 outs | 0 ER / 9 outs | 0 |
| PHI | Aaron Nola | 2 ER / 18 outs | 3 ER / 3 outs | 1 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Starter miss: Aaron Nola (PHI) posted 27.00 ERA vs projected 3.00 (3 ER in 3 outs); he is materially worse pitching home (5.36 ERA there vs 3.84 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
Griffin Jax (TB) threw 9 outs, 0 ER = 0 ERA against a projected 0 ERA (0 ERA error)
Bullpen behind him: 0 ER over 6 outs.
The HOME lineup he faced produced 1 runs on 7 hits and 0 HR, against a projected 4 runs / 8 hits (-3 runs vs projection).
Who did the damage to him:
Verdict: neither side broke materially - the result is closer to variance
HOME pitching
Aaron Nola (PHI) threw 3 outs, 3 ER = 27 ERA against a projected 3 ERA (24 ERA error)
Bullpen behind him: 0 ER over 3 outs.
The AWAY lineup he faced produced 12 runs on 16 hits and 1 HR, against a projected 4 runs / 8 hits (8 runs vs projection).
Who did the damage to him:
Verdict: both: the starter was hit hard AND the lineup underproduced
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. 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) |
|---|---|---|---|---|---|---|---|---|---|---|---|
| TB | Griffin Jax (Starter) | 9 / 15 | 0 / 0 | 0 / 0 | 2 / 1 | 0 / 0 | 0 / 0 | 1.2 | 1 / 2 | 4.13 | venue away: 3.14 vs 3.3 ERA (ok) · opp run factor 1.07 (average) · 33 prior appearances this season |
| TB | Cam Booser (Middle Reliever (High Leverage)) | 3 / 3 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 0 | 0.13 | 2 / 1 | 0.86 | |
| TB | Cole Sulser (Middle Reliever (High Leverage)) | 3 / 3 | 0 / 18 (-18.00) | 0 / 2 | 1 / 3 | 0 / 0 | 1 / 1 | 0.27 | 2 / 0 | 0.83 | |
| PHI | Aaron Nola (Starter) | 3 / 18 | 27 / 3 (+24.00) | 3 / 2 | 4 / 4 | 1 / 0 | 0 / 3 | 2.1 | 0 / 5 | 4.89 | venue home: 5.36 vs 3.84 ERA (worse here) · opp run factor 0.99 (average) · 32 prior appearances this season |
| PHI | Brooks Raley (Middle Reliever (High Leverage)) | 3 / 2 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 0 | 0 / 1 | 0.28 | 0 / 1 | 0.62 |
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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Victor Mesa Jr. (LF) | TB | 5 / 4 | 4 / 1 | 2 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 3 / 1 | 0 / 0 | 0 / 1 | 2.03 | 0.329 above average | projection too low |
| Kyle Schwarber (DH) | PHI | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | 1 / 1 | -1.4 | 0.365 elite | bad day |
| Yandy Díaz (DH) | TB | 4 / 4 | 3 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 3 / 1 | 0 / 0 | 0 / 1 | 1.25 | 0.346 elite | projection too low |
| Richie Palacios (2B) | TB | 4 / 3 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 4 / 0 | 0 / 0 | 1 / 1 | 1 / 1 | 0.78 | 0.306 average | no signal |
| Trea Turner (SS) | PHI | 5 / 4 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | 0.78 | 0.292 below average | good day |
| Bryson Stott (2B) | PHI | 4 / 4 | 2 / 1 | 2 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 1 | 0 / 1 | 0.76 | 0.329 above average | projection too low |
| Bryce Harper (1B) | PHI | 5 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -0.64 | 0.38 elite | bad day |
| Junior Caminero (3B) | TB | 3 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 2 / 1 | 3 / 1 | 1 / 1 | 1 / 1 | 0.47 | 0.362 elite | — |
| Liam Hicks (C) | TB | 6 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0.47 | 0.319 average | — |
| Cedric Mullins (CF) | TB | 5 / 3 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0.47 | 0.264 weak | — |
| Alec Bohm (3B) | PHI | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | -0.47 | 0.328 above average | — |
| Brandon Marsh (LF) | PHI | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 0 | 1 / 1 | 0.33 | 0.301 below average | — |
| Taylor Walls (SS) | TB | 5 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 3 / 1 | 0.31 | 0.254 weak | — |
| Bryan De La Cruz (RF) | PHI | 2 / 3 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 2 / 0 | 1 / 1 | 0.19 | 0.296 below average | — |
| Jonathan Aranda (1B) | TB | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 2 / 1 | 2 / 1 | -0.14 | 0.344 elite | — |
| Jonny DeLuca (RF) | TB | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 1 / 1 | 0.02 | 0.26 weak | — |
| J.T. Realmuto (C) | PHI | 2 / 3 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.317 average | — |
| Justin Crawford (CF) | PHI | 4 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 0 | 0 | 0.285 below average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | -0.448 | positive favors home; negative favors away |
| Recent form | -0.794 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.083 | positive favors home; negative favors away |
| Composite | -0.623 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.72-4.27 | n/a | Base ML historical model prediction |
| variance_applied | 5-4 | n/a | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 4-2 | 0.608 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 4-2 | n/a | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-2 | n/a | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-2 | n/a | Capped at max 12 realistic runs |
| simulation_result | 4-2 | n/a | Final inning-by-inning simulation result |
| Stage | Before | After | Toward final pick | What changed |
|---|---|---|---|---|
| variance_applied | 4.72-4.27 | 5-4 | 0.55 | Deterministic baseline target (variance factor 1.0) |
| enhanced_prediction | 5-4 | 4-2 | 1 | Enhanced ML with recent form, H2H, low-score analysis |
| embedded_savant_run_environment | 4-2 | 4-2 | -0 | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| fundamental_edge_target_review | 4-2 | 4-2 | -0 | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| capped_target | 4-2 | 4-2 | -0 | Capped at max 12 realistic runs |
| simulation_result | 4-2 | 4-2 | -0 | Final inning-by-inning simulation result |
These are pregame model adjustments, not claims about actual postgame player error.
| Team | Player | Role | Net effect | Largest change |
|---|---|---|---|---|
| TB | Richie Palacios | batter / 2B | better | predicted_RBI 2.52 |
| TB | Victor Mesa Jr. | batter / LF | worse | predicted_SO 2.261 |
| TB | Yandy Díaz | batter / DH | worse | predicted_2B 1.836 |
| PHI | Bryson Stott | batter / 2B | worse | predicted_RBI 1.64 |
| TB | Liam Hicks | batter / C | worse | predicted_BB 1.6 |
| PHI | Bryan De La Cruz | batter / RF | worse | predicted_AB 1.483 |
| PHI | Kyle Schwarber | batter / DH | worse | predicted_SO -1.434 |
| PHI | Alec Bohm | batter / 3B | worse | predicted_AB -1.39 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | PHI pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | PHI |
| info | CURRENT_PITCHER_DUPLICATION | 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 | PHI model pitcher projections differ from final simulation pitching box score (H: current=7, sim=9; BB: current=5, sim=6; HR: current=0, sim=1). | PHI |
| info | CURRENT_FINALIZED_MATCH_BOX | PHI model-prediction batting totals differ from final simulation box score (H: current=8, sim=5; HR: current=1, sim=0; RBI: current=4, sim=2; R: current=4, sim=2; BB: current=3, sim=1; SO: current=8, sim=3). | PHI |
| info | CURRENT_PLAYER_MATCH_BOX | PHI current finalized hitter lines are model predictions and differ from the simulation box score: Trea Turner: SO current=1 box=0; Kyle Schwarber: H current=1 box=0, HR current=1 box=0, RBI current=1 box=0, R current=1 box=0; Bryce Harper: 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0, BB current=1 box=0; Alec Bohm: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, BB current=0 box=1; Bryan De La Cruz: AB current=3 box=4, H current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Bryson Stott: RBI current=0 box=2, R current=0 box=1, BB current=1 box=0; Brandon Marsh: R current=1 box=0, SO current=1 box=0; Justin Crawford: 2B current=0 box=1 | PHI |
| info | CURRENT_FINALIZED_MATCH_BOX | TB model-prediction batting totals differ from final simulation box score (AB: current=33, sim=36; H: current=8, sim=9; 2B: current=1, sim=3; BB: current=3, sim=6; SO: current=8, sim=7; HBP: current=0, sim=1). | TB |
| info | CURRENT_PLAYER_MATCH_BOX | TB current finalized hitter lines are model predictions and differ from the simulation box score: Yandy Díaz: AB current=4 box=5, H current=1 box=2, 2B current=0 box=2, RBI current=1 box=0; Victor Mesa Jr.: AB current=4 box=5, H current=1 box=0, R current=1 box=0, SO current=1 box=3; Junior Caminero: H current=1 box=2, HR current=1 box=0, RBI current=1 box=0, SO current=1 box=0; Jonathan Aranda: AB current=4 box=5, RBI current=1 box=0, BB current=1 box=0; Liam Hicks: AB current=4 box=3, RBI current=1 box=0, BB current=0 box=2, SO current=0 box=1; Richie Palacios: AB current=3 box=4, HR current=0 box=1, RBI current=0 box=3, R current=0 box=1; Jonny DeLuca: AB current=4 box=5, SO current=1 box=0; Cedric Mullins: H current=0 box=1, BB current=0 box=1, SO current=1 box=0 | TB |
| info | RECONCILIATION_PROPAGATION | No score_target_reconciliation step was used for this game. |
| Team | Starter | Projected | Actual | ER err |
|---|---|---|---|---|
| TEX | Nathan Eovaldi | 4 ER / 15 outs | 1 ER / 13 outs | -3 |
| MIN | Bailey Ober | 1 ER / 15 outs | 6 ER / 15 outs | 5 |
Every value is actual / projected. Run impact approximates how far each hitter's real line moved run expectancy from its projection; it orders the movers and is not a published stat.
Top deviations that drove the game:
Starter miss: Bailey Ober (MIN) posted 10.80 ERA vs projected 1.80 (6 ER in 15 outs); no credible venue, opponent-strength or experience signal explains it — an outlier start (variance).
What to do: Variance — no model change is warranted for this start.
Pitcher versus batter: what actually broke this game
Per-pitch matchup fields are not populated in the current feeds, so this is reconstructed from the settled box: each starter's workload-adjusted ERA, the bullpen share behind him, and the opposing lineup's real production against its projection, with the hitters who beat that projection named.
AWAY pitching
Nathan Eovaldi (TEX) threw 13 outs, 1 ER = 2.08 ERA against a projected 7.2 ERA (-5.12 ERA error)
Bullpen behind him: 0 ER over 6 outs.
The HOME lineup he faced produced 2 runs on 8 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
Bailey Ober (MIN) threw 15 outs, 6 ER = 10.8 ERA against a projected 1.8 ERA (9 ERA error)
Bullpen behind him: 0 ER over 3 outs.
The AWAY lineup he faced produced 6 runs on 13 hits and 2 HR, against a projected 4 runs / 8 hits (2 runs vs projection).
Who did the damage to him:
Verdict: both: the starter was hit hard AND the lineup underproduced
Starting pitchers & relievers: actual / projected + context (ERA is workload-aware: ER over 9 innings, so a short blow-up is not read like a quality start; ERA error in parentheses when material. 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 | Nathan Eovaldi (Starter) | 13 / 15 | 2.08 / 7.2 (-5.12) | 1 / 4 | 4 / 4 | 0 / 2 | 2 / 1 | 1.55 | 3 / 7 | 5.78 | venue away: 4.42 vs 3.9 ERA (worse here) · opp run factor 1.06 (average) · 26 prior appearances this season |
| TEX | Jacob Latz (Closer) | 3 / 4 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 0.48 | 3 / 2 | 1.59 | |
| TEX | Jakob Junis (Setup Man) | 3 / 3 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0.37 | 0 / 0 | 0.65 | |
| MIN | Bailey Ober (Starter) | 15 / 15 | 10.8 / 1.8 (+9.00) | 6 / 1 | 10 / 3 | 2 / 0 | 1 / 2 | 1.8 | 5 / 1 | 3.6 | venue home: 3.3 vs 5.84 ERA (ok) · opp run factor 1.01 (average) · 24 prior appearances this season |
| MIN | Yoendrys Gómez (Closer) | 3 / 3 | 0 / 9 (-9.00) | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 0 | 0.63 | 1 / 2 | 1.01 |
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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Danny Jansen (C) | TEX | 4 / 3 | 2 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 2 / 0 | 2 / 0 | 0 / 0 | 2 / 1 | 1.4 | 0.267 weak | good day |
| Luke Keaschall (RF) | MIN | 3 / 4 | 2 / 1 | 1 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 1 / 1 | 0 / 0 | 1.4 | 0.319 average | no signal |
| Corey Seager (SS) | TEX | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | 1 / 1 | -1.26 | 0.35 elite | bad day |
| Jake Burger (1B) | TEX | 5 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 1 | 1 / 0 | 0 / 0 | 2 / 1 | 0.93 | 0.316 average | no signal |
| Kody Clemens (2B) | MIN | 4 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 1 | -0.93 | 0.333 above average | bad day |
| Evan Carter (CF) | TEX | 4 / 3 | 2 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 0 / 1 | 0 / 1 | 0.92 | 0.277 weak | good day |
| Ezequiel Duran (3B) | TEX | 3 / 4 | 2 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 1 / 0 | 1 / 1 | 0.8 | 0.3 below average | good day |
| Alejandro Osuna (DH) | TEX | 3 / 3 | 2 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0.78 | 0.3 below average | good day |
| Victor Caratini (C) | MIN | 4 / 3 | 1 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 2 / 1 | 0.78 | 0.307 average | no signal |
| Walker Jenkins (CF) | MIN | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 1 / 1 | -0.47 | 0.319 average | — |
| Royce Lewis (1B) | MIN | 4 / 4 | 0 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 0 | 0 / 0 | 2 / 1 | -0.47 | 0.304 average | — |
| Wyatt Langford (LF) | TEX | 5 / 4 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 2 / 1 | -0.33 | 0.321 above average | — |
| Nicky Lopez (2B) | TEX | 2 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 0 | 0 / 0 | 0 / 0 | 0.31 | 0.269 weak | — |
| Alan Roden (LF) | MIN | 2 / 3 | 1 / 1 | 1 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0.31 | 0.351 elite | — |
| Josh Bell (DH) | MIN | 4 / 4 | 1 / 1 | 0 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | -0.31 | 0.334 above average | — |
| Brandon Nimmo (RF) | TEX | 5 / 4 | 1 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 1 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | 0 | 0.34 elite | — |
| Brooks Lee (3B) | MIN | 4 / 4 | 1 / 1 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 1 | 0 / 1 | 0 / 0 | 1 / 1 | 0 | 0.277 weak | — |
| Kaelen Culpepper (SS) | MIN | 3 / 3 | 1 / 1 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 0 | 0 / 1 | 0 | 0.298 below average | — |
| Signal | Home-away edge | Meaning |
|---|---|---|
| Season quality | 0.056 | positive favors home; negative favors away |
| Recent form | 0.654 | positive favors home; negative favors away |
| Starting-pitcher matchup | 0.052 | positive favors home; negative favors away |
| Composite | 0.49 | positive favors home; negative favors away |
| Stage | Away-home runs | Confidence | What changed |
|---|---|---|---|
| historical_ml | 4.68-3.87 | 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.51 | 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.68-3.87 | 5-4 | -0.183 | 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) |
| 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 |
|---|---|---|---|---|
| MIN | Royce Lewis | batter / 1B | worse | predicted_SO 1.967 |
| MIN | Kody Clemens | batter / 2B | deboosted | predicted_2B 1.844 |
| TEX | Brandon Nimmo | batter / RF | worse | predicted_AB -1.68 |
| MIN | Walker Jenkins | batter / CF | worse | predicted_RBI 1.55 |
| TEX | Corey Seager | batter / SS | better | predicted_AB -1.49 |
| TEX | Nicky Lopez | batter / 2B | worse | predicted_H 1.49 |
| MIN | Alan Roden | batter / LF | better | predicted_AB 1.433 |
| MIN | Josh Bell | batter / DH | boosted | predicted_RBI 1.35 |
| Severity | Rule | Finding | Subject |
|---|---|---|---|
| info | CURRENT_PITCHER_DUPLICATION | MIN pitcher list appears in both predicted_performance.pitchers and player_predictions_by_position.pitchers; IDs match and were de-duplicated in this audit. | MIN |
| info | CURRENT_PITCHER_DUPLICATION | 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 | MIN model-prediction batting totals differ from final simulation box score (AB: current=33, sim=31; H: current=8, sim=6; 2B: current=2, sim=3; HR: current=1, sim=2; RBI: current=4, sim=5; R: current=4, sim=5; SO: current=7, sim=10). | MIN |
| info | CURRENT_PLAYER_MATCH_BOX | MIN current finalized hitter lines are model predictions and differ from the simulation box score: Luke Keaschall: H current=1 box=0, BB current=1 box=0, SO current=0 box=1; Kody Clemens: AB current=4 box=3, H current=1 box=2, 2B current=0 box=2, HR current=1 box=0; Alan Roden: AB current=3 box=4, H current=1 box=2, 2B current=0 box=1, RBI current=0 box=1; Walker Jenkins: HR current=0 box=1, RBI current=0 box=2; Brooks Lee: H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0, R current=1 box=0; Josh Bell: AB current=4 box=3, 2B current=1 box=0, HR current=0 box=1, RBI current=1 box=2; Victor Caratini: SO current=1 box=2; Kaelen Culpepper: H current=1 box=0, SO current=1 box=0 | MIN |
| info | CURRENT_FINALIZED_MATCH_BOX | TEX model-prediction batting totals differ from final simulation box score (AB: current=31, sim=33; H: current=8, sim=6; 2B: current=1, sim=0; 3B: current=0, sim=1; HR: current=1, sim=2; SO: current=7, sim=5). | TEX |
| info | CURRENT_PLAYER_MATCH_BOX | TEX current finalized hitter lines are model predictions and differ from the simulation box score: Wyatt Langford: R current=1 box=0, BB current=1 box=0, SO current=1 box=0; Ezequiel Duran: AB current=4 box=3, H current=1 box=0, RBI current=1 box=0, R current=1 box=0; Jake Burger: AB current=3 box=4, HR current=0 box=1, R current=0 box=1, SO current=1 box=0; Corey Seager: AB current=4 box=3; Brandon Nimmo: AB current=4 box=3, H current=1 box=0, 2B current=1 box=0, RBI current=1 box=0; Alejandro Osuna: AB current=3 box=4, H current=1 box=0; Nicky Lopez: AB current=3 box=4, H current=1 box=2, RBI current=0 box=1, R current=0 box=1; Danny Jansen: AB current=3 box=4, 3B current=0 box=1, RBI current=0 box=1, R 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.
Compared against packet 20260925. Last recorded change: v4.30.0 (2026-09-08) Hitter shrinkage is derived from the between-hitter spread rather than fitted to slate error, so an established extreme profile is no longer flattened toward the league.
| Metric | Prior | Current | Δ | Result |
|---|---|---|---|---|
| brier_score | 0.2407 | 0.2413 | +0.000605 | regressed |
| accuracy | 0.5882 | 0.5932 | +0.005 | improved |
| team_run_mae | 2.5168 | 2.6314 | +0.1146 | regressed |
| total_run_mae | 3.6387 | 3.8559 | +0.2172 | regressed |
| calibration_error | 0.0736 | 0.0876 | +0.014 | regressed |
| starter_er_mae | 1.74 | 1.7895 | +0.0495 | regressed |
| starter_outs_mae | 3.648 | 3.9123 | +0.2643 | regressed |
| Parameter | Change | Expected effect | Risk | Evidence |
|---|---|---|---|---|
| score.variance_multiplier | 2.15 → 2.25 | total_run_mae decrease | low risk | metric.total_run_mae, pipeline.largest_team_run_regression, errors.miss_reasons |