| 20261006 | 20261006_LAD@ATL | away | Yoshinobu Yamamoto | Yoshinobu Yamamoto | True | 6.1 | 7.0 | 2 | 1 | 1 | 0 | 3/4 | 1/1 | 4/10 | Last 10 before this game (10 available){
"model_context": {
"embedded_season": {
"ERA": 2.5297297297297296,
"WHIP": 0.8702702702702703,
"IP": 185.0,
"games_started": null,
"games_pitched": 28,
"role_avg_IP": 6.607,
"recent_avg_IP": 6.667,
"last_start_IP": 6.0,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": 0.6349,
"sample_weight": 1.0,
"run_prevention_factor": 0.946,
"strikeout_factor": 1.036,
"walk_factor": 0.934,
"homer_factor": 0.9344,
"regression_flag": "neutral",
"k_percent": 25.7,
"bb_percent": 5.9,
"woba": 0.242,
"xwoba": 0.266,
"barrel_percent": 6.5,
"hard_hit_percent": 35.5,
"whiff_percent": 27.9
},
"espn_rank": {
"rank": null,
"total_ranked": null,
"metrics": null
},
"starter_workload_floor": null,
"player_form_blend": {
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 28.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8485,
"prior_weight": 0.1515
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "808967",
"report_date": "20261006",
"season_year": 2026,
"rows_used": 28,
"reference_playing_time": 6.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 33.1,
"ER": 8.0,
"R": 10.0,
"H": 18.0,
"BB": 7.0,
"SO": 37.0,
"HR": 5.0,
"BF": 125.0,
"Pitches": 467.0
},
"per_game": {
"IP": 6.2,
"ER": 1.6,
"R": 2.0,
"H": 3.6,
"BB": 1.4,
"SO": 7.4,
"HR": 1.0,
"BF": 25.0,
"Pitches": 93.4
},
"rates": {
"ERA": 2.16,
"WHIP": 0.75,
"ER_per_IP": 0.24,
"H_per_IP": 0.54,
"BB_per_IP": 0.21,
"SO_per_IP": 1.11,
"HR_per_IP": 0.15
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 65.1,
"ER": 15.0,
"R": 17.0,
"H": 39.0,
"BB": 17.0,
"SO": 69.0,
"HR": 7.0,
"BF": 253.0,
"Pitches": 974.0
},
"per_game": {
"IP": 6.2,
"ER": 1.5,
"R": 1.7,
"H": 3.9,
"BB": 1.7,
"SO": 6.9,
"HR": 0.7,
"BF": 25.3,
"Pitches": 97.4
},
"rates": {
"ERA": 2.0663,
"WHIP": 0.8571,
"ER_per_IP": 0.22959,
"H_per_IP": 0.59694,
"BB_per_IP": 0.2602,
"SO_per_IP": 1.05612,
"HR_per_IP": 0.10714
}
},
"season": {
"games": 28,
"totals": {
"IP": 185.0,
"ER": 52.0,
"R": 55.0,
"H": 119.0,
"BB": 42.0,
"SO": 182.0,
"HR": 20.0,
"BF": 708.0,
"Pitches": 2734.0
},
"per_game": {
"IP": 6.2,
"ER": 1.8571,
"R": 1.9643,
"H": 4.25,
"BB": 1.5,
"SO": 6.5,
"HR": 0.7143,
"BF": 25.2857,
"Pitches": 97.6429
},
"rates": {
"ERA": 2.5297,
"WHIP": 0.8703,
"ER_per_IP": 0.28108,
"H_per_IP": 0.64324,
"BB_per_IP": 0.22703,
"SO_per_IP": 0.98378,
"HR_per_IP": 0.10811
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 6.2,
"predicted_ER": 1.902,
"predicted_H": 4.278,
"predicted_BB": 1.691,
"predicted_SO": 6.972,
"predicted_HR": 0.866,
"predicted_ERA": 2.5672,
"predicted_WHIP": 0.8954
}
},
"model_form_blend_trace": {
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.414,
"form_weight": 0.586,
"form_reliability": 0.8485,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 28.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8485,
"prior_weight": 0.1515
},
"applied_metrics": {
"predicted_IP": {
"model": 6.2,
"form": 6.2,
"final": 6.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 1.902,
"final": 2.3566,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 4.278,
"final": 4.9909,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.691,
"final": 1.8189,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 7.0,
"form": 6.972,
"final": 6.9836,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.866,
"final": 0.5075,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.5672,
"final": 2.5672,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.8954,
"final": 0.8954,
"source": "form_only"
}
}
},
"recent_form_analysis": {
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 65.1,
"ER": 15,
"H": 39,
"BB": 17,
"SO": 69,
"HR": 7,
"ERA": 2.0663265306122445,
"WHIP": 0.857142857142857,
"K9": 9.505102040816325,
"HR9": 0.9642857142857142,
"games_pitched": 10,
"quality_starts": 8,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-09-23T00:00:00"
},
"recent_form_boost": 0.7142559190957065,
"stat_evolution": [
{
"step": "pitcher_rate_projection",
"applied": true,
"description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
"rates_per_inning": {
"H": 0.5792,
"BB": 0.2165,
"SO": 1.062,
"HR": 0.1341
},
"source": "recent_role_blend",
"tto_penalty": 1.0081,
"role_avg_IP": 6.607,
"recent_avg_IP": 6.667
},
{
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_IP": 6.666666666666667,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_BB": 2.0,
"predicted_SO": 7.0,
"predicted_HR": 0.0
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 28.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8485,
"prior_weight": 0.1515
}
},
{
"step": "team_form_adjustment",
"applied": true,
"description": "Club form: innings, run prevention and strikeout factors",
"factors": {
"ip": 1.0136,
"run_prevention": 0.9719,
"strikeout": 1.0044
}
},
{
"step": "savant_pitcher_quality",
"applied": true,
"description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
"factors": {
"strikeout_factor": 1.036,
"walk_factor": 0.934,
"homer_factor": 0.9344,
"run_prevention_factor": 0.946,
"quality_score": 0.6349
}
},
{
"step": "opposing_lineup_context",
"applied": true,
"description": "The nine hitters he faces: batter quality, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances",
"lineup_multipliers": {
"H": 1.0094,
"BB": 0.947,
"SO": 0.9856,
"HR": 1.0992
},
"weights": {
"H": 0.0,
"BB": 0.15,
"SO": 0.35,
"HR": 0.0
},
"applied_multipliers": {
"H": 1.0,
"BB": 0.9919,
"SO": 0.9949,
"HR": 1.0
},
"earned_run_factor": 0.9985,
"before": {
"H": 3.424,
"BB": 1.279,
"SO": 6.488,
"HR": 0.799,
"ER": 1.524,
"ERA": 2.224
},
"after": {
"H": 3.424,
"BB": 1.2686,
"SO": 6.4549,
"HR": 0.799,
"ER": 1.5216,
"ERA": 2.221
},
"by_hitter": [
{
"hitter": "Drake Baldwin",
"plate_appearances": 4.532,
"stand": "L",
"H_batter": 1.0749,
"H_platoon": 0.9905,
"H_bvp": 1.0,
"BB_batter": 1.0503,
"BB_platoon": 1.0256,
"BB_bvp": 1.0,
"SO_batter": 0.9527,
"SO_platoon": 0.9877,
"SO_bvp": 1.0,
"HR_batter": 1.2155,
"HR_platoon": 1.0102,
"HR_bvp": 1.0,
"bvp_at_bats": null,
"combined": {
"H": 1.0647,
"BB": 1.0772,
"SO": 0.941,
"HR": 1.2279
}
},
{
"hitter": "Ronald Acu\u00f1a Jr.",
"plate_appearances": 4.342,
"stand": "R",
"H_batter": 1.0027,
"H_platoon": 0.9909,
"H_bvp": 1.0,
"BB_batter": 1.2377,
"BB_platoon": 0.9543,
"BB_bvp": 1.0,
"SO_batter": 0.9706,
"SO_platoon": 1.0158,
"SO_bvp": 1.0,
"HR_batter": 1.2273,
"HR_platoon": 0.9906,
"HR_bvp": 1.0,
"bvp_at_bats": null,
"combined": {
"H": 0.9936,
"BB": 1.1811,
"SO": 0.9859,
"HR": 1.2158
}
},
{
"hitter": "Matt Olson",
"plate_appearances": 4.268,
"stand": "L",
"H_batter": 1.0081,
"H_platoon": 0.9905,
"H_bvp": 0.9563,
"BB_batter": 1.0411,
"BB_platoon": 1.0256,
"BB_bvp": 1.0,
"SO_batter": 1.1001,
"SO_platoon": 0.9877,
"SO_bvp": 1.0072,
"HR_batter": 1.652,
"HR_platoon": 1.0102,
"HR_bvp": 0.9563,
"bvp_at_bats": 6.0,
"combined": {
"H": 0.9549,
"BB": 1.0678,
"SO": 1.0944,
"HR": 1.5959
}
},
{
"hitter": "Ozzie Albies",
"plate_appearances": 4.091,
"stand": "L",
"H_batter": 0.9911,
"H_platoon": 0.9905,
"H_bvp": 0.9975,
"BB_batter": 0.8644,
"BB_platoon": 1.0256,
"BB_bvp": 1.0,
"SO_batter": 0.7099,
"SO_platoon": 0.9877,
"SO_bvp": 1.0509,
"HR_batter": 1.0931,
"HR_platoon": 1.0102,
"HR_bvp": 0.9667,
"bvp_at_bats": 5.0,
"combined": {
"H": 0.9792,
"BB": 0.8865,
"SO": 0.7369,
"HR": 1.0675
}
},
{
"hitter": "Michael Harris II",
"plate_appearances": 4.322,
"stand": "L",
"H_batter": 1.1674,
"H_platoon": 0.9905,
"H_bvp": 1.0053,
"BB_batter": 0.4814,
"BB_platoon": 1.0256,
"BB_bvp": 1.0,
"SO_batter": 0.8714,
"SO_platoon": 0.9877,
"SO_bvp": 1.0206,
"HR_batter": 1.2796,
"HR_platoon": 1.0102,
"HR_bvp": 0.9563,
"bvp_at_bats": 6.0,
"combined": {
"H": 1.1624,
"BB": 0.4937,
"SO": 0.8784,
"HR": 1.2362
}
},
{
"hitter": "Mauricio Dub\u00f3n",
"plate_appearances": 4.047,
"stand": "R",
"H_batter": 1.0911,
"H_platoon": 0.9909,
"H_bvp": 1.0,
"BB_batter": 0.7309,
"BB_platoon": 0.9543,
"BB_bvp": 1.0,
"SO_batter": 0.5984,
"SO_platoon": 1.0158,
"SO_bvp": 1.0,
"HR_batter": 0.7342,
"HR_platoon": 0.9906,
"HR_bvp": 1.0,
"bvp_at_bats": null,
"combined": {
"H": 1.0812,
"BB": 0.6975,
"SO": 0.6079,
"HR": 0.7273
}
},
{
"hitter": "Lane Thomas",
"plate_appearances": 3.609,
"stand": "R",
"H_batter": 0.9589,
"H_platoon": 0.9909,
"H_bvp": 1.0,
"BB_batter": 1.1978,
"BB_platoon": 0.9543,
"BB_bvp": 1.0,
"SO_batter": 1.125,
"SO_platoon": 1.0158,
"SO_bvp": 1.0,
"HR_batter": 0.9802,
"HR_platoon": 0.9906,
"HR_bvp": 1.0,
"bvp_at_bats": null,
"combined": {
"H": 0.9502,
"BB": 1.1431,
"SO": 1.1428,
"HR": 0.971
}
},
{
"hitter": "Austin Riley",
"plate_appearances": 3.72,
"stand": "R",
"H_batter": 0.9409,
"H_platoon": 0.9909,
"H_bvp": 0.9991,
"BB_batter": 0.9251,
"BB_platoon": 0.9543,
"BB_bvp": 1.0,
"SO_batter": 1.3699,
"SO_platoon": 1.0158,
"SO_bvp": 1.0103,
"HR_batter": 1.0129,
"HR_platoon": 0.9906,
"HR_bvp": 0.9667,
"bvp_at_bats": 5.0,
"combined": {
"H": 0.9315,
"BB": 0.8828,
"SO": 1.4059,
"HR": 0.97
}
},
{
"hitter": "Ha-Seong Kim",
"plate_appearances": 3.174,
"stand": "R",
"H_batter": 0.8845,
"H_platoon": 0.9909,
"H_bvp": 1.0533,
"BB_batter": 1.1987,
"BB_platoon": 0.9543,
"BB_bvp": 1.0,
"SO_batter": 1.1558,
"SO_platoon": 1.0158,
"SO_bvp": 1.0048,
"HR_batter": 0.6263,
"HR_platoon": 0.9906,
"HR_bvp": 1.15,
"bvp_at_bats": 7.0,
"combined": {
"H": 0.9232,
"BB": 1.1439,
"SO": 1.1797,
"HR": 0.7135
}
}
]
},
{
"step": "kpi_run_environment",
"description": "KPI blend published; the staff line follows the published score, not a KPI rescale",
"applied": true,
"kpi_staff_exposure": {
"usage": "starter",
"batters_faced": 23.201
},
"player_attribution": {
"home_runs": {
"model_delta": -0.6627,
"weighted_stage_delta": -0.2916
},
"away_runs": {
"model_delta": -0.4307,
"weighted_stage_delta": -0.3359
},
"home_win": {
"model_delta": 0.02,
"weighted_stage_delta": 0.0
}
}
},
{
"step": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_IP": 6.2,
"predicted_ER": 3,
"predicted_H": 6,
"predicted_BB": 2,
"predicted_SO": 7,
"predicted_HR": 0
}
},
{
"step": "market_blend",
"applied": true,
"description": "Starter continuous line blended with his own props: model x (market/model) ** w; integer line stays reconciled to the club score",
"stats_blended": {
"ER": {
"model": 1.5216,
"market_implied": 1.8011,
"market_multiplier": 1.1837,
"weight": 0.4659,
"effective_multiplier": 1.0817,
"lines": [
1.5
],
"books": 2,
"props": [
{
"market": "pitcher_earned_runs",
"point": 1.5,
"books": 2,
"market_p_over": 0.5375,
"model_p_over": 0.4494,
"implied_multiplier": 1.1837
}
]
},
"H": {
"model": 3.424,
"market_implied": 4.8449,
"market_multiplier": 1.415,
"weight": 0.4659,
"effective_multiplier": 1.1755,
"lines": [
4.5
],
"books": 4,
"props": [
{
"market": "pitcher_hits_allowed",
"point": 4.5,
"books": 4,
"market_p_over": 0.5319,
"model_p_over": 0.2603,
"implied_multiplier": 1.415
}
]
},
"OUTS": {
"model": 18.498,
"market_implied": 20.3886,
"market_multiplier": 1.1022,
"weight": 0.5348,
"effective_multiplier": 1.0534,
"lines": [
17.5
],
"books": 6,
"props": [
{
"market": "pitcher_outs",
"point": 17.5,
"books": 6,
"market_p_over": 0.6472,
"model_p_over": 0.5171,
"implied_multiplier": 1.1022
}
]
},
"SO": {
"model": 6.4549,
"market_implied": 6.3631,
"market_multiplier": 0.9858,
"weight": 0.537,
"effective_multiplier": 0.9923,
"lines": [
6.5
],
"books": 6,
"props": [
{
"market": "pitcher_strikeouts",
"point": 6.5,
"books": 6,
"market_p_over": 0.4518,
"model_p_over": 0.4664,
"implied_multiplier": 0.9858
}
]
},
"BB": {
"model": 1.2686,
"market_implied": 1.4234,
"market_multiplier": 1.122,
"weight": 0.537,
"effective_multiplier": 1.0638,
"lines": [
1.5
],
"books": 2,
"props": [
{
"market": "pitcher_walks",
"point": 1.5,
"books": 2,
"market_p_over": 0.4162,
"model_p_over": 0.362,
"implied_multiplier": 1.122
}
]
}
},
"expected_before": {
"SO": 6.4549,
"H": 3.424,
"BB": 1.2686,
"ER": 1.5216,
"IP": 6.166,
"ERA": 2.221
},
"expected_after": {
"SO": 6.4054,
"H": 4.025,
"BB": 1.3495,
"ER": 1.646,
"IP": 6.4954,
"ERA": 2.281
},
"line": {
"IP": 6.2,
"H": 6,
"ER": 3,
"BB": 2,
"SO": 7,
"HR": 0
}
},
{
"step": "play_by_play_realization",
"applied": true,
"description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
"before": {
"IP": 6.2,
"H": 6,
"R": 3,
"ER": 3,
"BB": 2,
"SO": 7,
"HR": 0
},
"stats": {
"IP": 6.1,
"H": 3,
"R": 1,
"ER": 1,
"BB": 1,
"SO": 4,
"HR": 0,
"BF": 23,
"Pitches": 81
}
}
],
"prediction_impact_trace": {
"trace_version": "1.1",
"role": "pitcher",
"player_id": "808967",
"player_name": "Yoshinobu Yamamoto",
"position": "Starter",
"team": "LAD",
"steps": [
{
"index": 1,
"step": "pitcher_rate_projection",
"description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 6.6667,
"predicted_SO": 7.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 3,
"step": "team_form_adjustment",
"description": "Club form: innings, run prevention and strikeout factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 4,
"step": "savant_pitcher_quality",
"description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "opposing_lineup_context",
"description": "The nine hitters he faces: batter quality, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"H": 0.0,
"BB": 0.15,
"SO": 0.35,
"HR": 0.0
}
},
{
"index": 6,
"step": "kpi_run_environment",
"description": "KPI blend published; the staff line follows the published score, not a KPI rescale",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 7,
"step": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 6.2,
"predicted_SO": 7.0
},
"changed_metrics": [
{
"metric": "predicted_IP",
"before": 6.6667,
"after": 6.2,
"delta": -0.4667,
"percent_delta": -0.07,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 6.6667,
"after": 6.2,
"delta": -0.4667,
"percent_delta": -0.07,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 8,
"step": "market_blend",
"description": "Starter continuous line blended with his own props: model x (market/model) ** w; integer line stays reconciled to the club score",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 9,
"step": "play_by_play_realization",
"description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 6.1,
"predicted_R": 1.0,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 1.0,
"delta": -2.0,
"percent_delta": -0.6667,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 3.0,
"delta": -3.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_IP",
"before": 6.2,
"after": 6.1,
"delta": -0.1,
"percent_delta": -0.0161,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 6.0,
"after": 3.0,
"delta": -3.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
}
},
{
"index": 10,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 6.1,
"predicted_SO": 4.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
}
],
"total_change": {
"from_step": "pitcher_rate_projection",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 1.0,
"delta": -2.0,
"percent_delta": -0.6667,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 3.0,
"delta": -3.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_IP",
"before": 6.6667,
"after": 6.1,
"delta": -0.5667,
"percent_delta": -0.085,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 4.0,
"delta": -3.0,
"percent_delta": -0.4286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 6.0,
"after": 3.0,
"delta": -3.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
},
"team_form_snapshot": {
"method": "team_form_snapshot",
"role": "pitcher",
"edges": {
"quality_edge": 0.2008,
"offense_edge": 0.1012,
"opponent_offense_edge": 0.0201,
"defense_strength": 0.2123,
"opponent_defense_weakness": -0.1619,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0136,
"run_prevention": 0.9719,
"strikeout": 1.0044
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "808967",
"profile": {
"available": true,
"pitcher_id": "808967",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 656.0,
"k_percent": 25.7,
"bb_percent": 5.9,
"woba": 0.242,
"xwoba": 0.266,
"sweet_spot_percent": 29.1,
"barrel_batted_rate": 6.5,
"hard_hit_percent": 35.5,
"avg_best_speed": 76.0498,
"avg_hyper_speed": 93.7865,
"whiff_percent": 27.9,
"swing_percent": 49.6
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.9999,
"command_and_miss": 0.5314,
"regression_edge": -0.6857,
"xwoba_edge": 1.3143,
"barrel_edge": 0.1556,
"hard_hit_edge": 0.3429,
"whiff_edge": 0.3857,
"bb_edge": 0.825,
"pitch_design_score": 0.0672
},
"quality_score": 0.6349,
"sample_weight": 1.0,
"run_prevention_factor": 0.946,
"strikeout_factor": 1.036,
"walk_factor": 0.934,
"homer_factor": 0.9344,
"woba_minus_xwoba": -0.024,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "808967",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.946,
"adjusted": 2
},
"predicted_H": {
"original": 4.0,
"factor": 0.946,
"adjusted": 4
},
"predicted_BB": {
"original": 1.0,
"factor": 0.934,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 0.9344,
"adjusted": 1
},
"predicted_SO": {
"original": 7.0,
"factor": 1.036,
"adjusted": 7
}
}
},
"club_form": "game.<side>_team.predicted_performance.team_form"
},
"simulation_box_score_stats": {
"IP": 6.1,
"H": 3,
"R": 1,
"ER": 1,
"BB": 1,
"SO": 4,
"HR": 0,
"BF": 23,
"Pitches": 81,
"source": "play_by_play_realizer_v1",
"predicted_R": 1,
"predicted_ER": 1
}
},
"findings": [
{
"code": "ER_WITHIN_ONE",
"severity": "good",
"title": "Earned runs within one",
"detail": "Actual minus predicted earned runs was +0."
}
],
"provenance": {
"prediction": "output/games/20261006_LAD@ATL.json (current server JSON; no revision substitution)",
"pregame_season": "embedded season totals in the current server JSON; ESPN metrics are retained in the model context",
"prior_history": "data/all_players_stats.csv; unique real appearances strictly before the target date",
"target_game": "Official MLB Stats API live game feed",
"postgame_season": "derived from pregame season totals plus the official target-game starter line"
}
} |
| 20261006 | 20261006_LAD@ATL | home | Chris Sale | Chris Sale | True | 6.0 | 5.0 | -3 | 2 | 3 | 1 | 6/7 | 1/0 | 5/7 | Last 10 before this game (10 available){
"model_context": {
"embedded_season": {
"ERA": 2.219178082191781,
"WHIP": 0.974559686888454,
"IP": 170.1,
"games_started": null,
"games_pitched": 29,
"role_avg_IP": 6.036,
"recent_avg_IP": 6.8,
"last_start_IP": 6.1,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": 0.7139,
"sample_weight": 1.0,
"run_prevention_factor": 0.9393,
"strikeout_factor": 1.08,
"walk_factor": 0.912,
"homer_factor": 0.9277,
"regression_flag": "neutral",
"k_percent": 30.9,
"bb_percent": 4.8,
"woba": 0.259,
"xwoba": 0.267,
"barrel_percent": 6.2,
"hard_hit_percent": 35.1,
"whiff_percent": 30.4
},
"espn_rank": {
"rank": 2,
"total_ranked": null,
"metrics": null
},
"starter_workload_floor": null,
"player_form_blend": {
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 29.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8529,
"prior_weight": 0.1471
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "519242",
"report_date": "20261006",
"season_year": 2026,
"rows_used": 29,
"reference_playing_time": 6.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 26.1,
"ER": 9.0,
"R": 9.0,
"H": 18.0,
"BB": 4.0,
"SO": 35.0,
"HR": 2.0,
"BF": 102.0,
"Pitches": 410.0
},
"per_game": {
"IP": 5.1,
"ER": 1.8,
"R": 1.8,
"H": 3.6,
"BB": 0.8,
"SO": 7.0,
"HR": 0.4,
"BF": 20.4,
"Pitches": 82.0
},
"rates": {
"ERA": 3.0759,
"WHIP": 0.8354,
"ER_per_IP": 0.34177,
"H_per_IP": 0.68354,
"BB_per_IP": 0.1519,
"SO_per_IP": 1.32911,
"HR_per_IP": 0.07595
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 59.1,
"ER": 15.0,
"R": 15.0,
"H": 43.0,
"BB": 6.0,
"SO": 78.0,
"HR": 2.0,
"BF": 227.0,
"Pitches": 918.0
},
"per_game": {
"IP": 6.0,
"ER": 1.5,
"R": 1.5,
"H": 4.3,
"BB": 0.6,
"SO": 7.8,
"HR": 0.2,
"BF": 22.7,
"Pitches": 91.8
},
"rates": {
"ERA": 2.2753,
"WHIP": 0.8258,
"ER_per_IP": 0.25281,
"H_per_IP": 0.72472,
"BB_per_IP": 0.10112,
"SO_per_IP": 1.31461,
"HR_per_IP": 0.03371
}
},
"season": {
"games": 29,
"totals": {
"IP": 170.1,
"ER": 42.0,
"R": 47.0,
"H": 134.0,
"BB": 32.0,
"SO": 212.0,
"HR": 10.0,
"BF": 678.0,
"Pitches": 2690.0
},
"per_game": {
"IP": 6.0,
"ER": 1.4483,
"R": 1.6207,
"H": 4.6207,
"BB": 1.1034,
"SO": 7.3103,
"HR": 0.3448,
"BF": 23.3793,
"Pitches": 92.7586
},
"rates": {
"ERA": 2.2192,
"WHIP": 0.9746,
"ER_per_IP": 0.24658,
"H_per_IP": 0.78669,
"BB_per_IP": 0.18787,
"SO_per_IP": 1.24462,
"HR_per_IP": 0.05871
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.2,
"predicted_ER": 1.878,
"predicted_H": 4.389,
"predicted_BB": 1.023,
"predicted_SO": 7.254,
"predicted_HR": 0.411,
"predicted_ERA": 2.9175,
"predicted_WHIP": 0.9342
}
},
"model_form_blend_trace": {
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4121,
"form_weight": 0.5879,
"form_reliability": 0.8529,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 29.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8529,
"prior_weight": 0.1471
},
"applied_metrics": {
"predicted_IP": {
"model": 6.1,
"form": 5.2,
"final": 6.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 1.878,
"final": 2.3404,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 4.389,
"final": 4.2287,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.023,
"final": 1.0135,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 6.0,
"form": 7.254,
"final": 6.7372,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.411,
"final": 0.6538,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.9175,
"final": 2.9175,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9342,
"final": 0.9342,
"source": "form_only"
}
}
},
"recent_form_analysis": {
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 59.1,
"ER": 15,
"H": 43,
"BB": 6,
"SO": 78,
"HR": 2,
"ERA": 2.2752808988764044,
"WHIP": 0.8258426966292135,
"K9": 11.831460674157302,
"HR9": 0.3033707865168539,
"games_pitched": 10,
"quality_starts": 8,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-10-01T00:00:00"
},
"recent_form_boost": 0.7369807815125833,
"stat_evolution": [
{
"step": "pitcher_rate_projection",
"applied": true,
"description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
"rates_per_inning": {
"H": 0.7002,
"BB": 0.1449,
"SO": 1.2541,
"HR": 0.059
},
"source": "recent_role_blend",
"tto_penalty": 1.0069,
"role_avg_IP": 6.036,
"recent_avg_IP": 6.8
},
{
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_IP": 6.333333333333333,
"predicted_ER": 3.0,
"predicted_H": 4.0,
"predicted_BB": 1.0,
"predicted_SO": 6.0,
"predicted_HR": 1.0
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 29.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8529,
"prior_weight": 0.1471
}
},
{
"step": "team_form_adjustment",
"applied": true,
"description": "Club form: innings, run prevention and strikeout factors",
"factors": {
"ip": 0.9928,
"run_prevention": 1.01,
"strikeout": 0.9859
}
},
{
"step": "savant_pitcher_quality",
"applied": true,
"description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
"factors": {
"strikeout_factor": 1.08,
"walk_factor": 0.912,
"homer_factor": 0.9277,
"run_prevention_factor": 0.9393,
"quality_score": 0.7139
}
},
{
"step": "opposing_lineup_context",
"applied": true,
"description": "The nine hitters he faces: batter quality, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances",
"lineup_multipliers": {
"H": 1.0409,
"BB": 1.0794,
"SO": 0.8945,
"HR": 1.0715
},
"weights": {
"H": 0.0,
"BB": 0.15,
"SO": 0.35,
"HR": 0.0
},
"applied_multipliers": {
"H": 1.0,
"BB": 1.0115,
"SO": 0.9617,
"HR": 1.0
},
"earned_run_factor": 1.0017,
"before": {
"H": 4.087,
"BB": 0.846,
"SO": 7.144,
"HR": 0.347,
"ER": 1.519,
"ERA": 2.383
},
"after": {
"H": 4.087,
"BB": 0.8557,
"SO": 6.8704,
"HR": 0.347,
"ER": 1.5215,
"ERA": 2.387
},
"by_hitter": [
{
"hitter": "Mookie Betts",
"plate_appearances": 4.281,
"stand": "R",
"H_batter": 1.0343,
"H_platoon": 1.0124,
"H_bvp": 1.0604,
"BB_batter": 1.0159,
"BB_platoon": 1.0619,
"BB_bvp": 1.0,
"SO_batter": 0.5297,
"SO_platoon": 0.9786,
"SO_bvp": 0.9951,
"HR_batter": 1.2853,
"HR_platoon": 1.0127,
"HR_bvp": 1.0349,
"bvp_at_bats": 18.0,
"combined": {
"H": 1.1104,
"BB": 1.0788,
"SO": 0.5158,
"HR": 1.347
}
},
{
"hitter": "Freddie Freeman",
"plate_appearances": 4.37,
"stand": "L",
"H_batter": 1.0925,
"H_platoon": 1.0351,
"H_bvp": 1.0242,
"BB_batter": 1.1407,
"BB_platoon": 0.9055,
"BB_bvp": 1.0,
"SO_batter": 0.7981,
"SO_platoon": 1.0454,
"SO_bvp": 0.9494,
"HR_batter": 0.8877,
"HR_platoon": 0.9622,
"HR_bvp": 1.15,
"bvp_at_bats": 16.0,
"combined": {
"H": 1.1582,
"BB": 1.0329,
"SO": 0.7921,
"HR": 0.9823
}
},
{
"hitter": "Teoscar Hern\u00e1ndez",
"plate_appearances": 4.156,
"stand": "R",
"H_batter": 1.0478,
"H_platoon": 1.0124,
"H_bvp": 0.9802,
"BB_batter": 0.9635,
"BB_platoon": 1.0619,
"BB_bvp": 1.0,
"SO_batter": 1.2206,
"SO_platoon": 0.9786,
"SO_bvp": 1.0375,
"HR_batter": 1.0845,
"HR_platoon": 1.0127,
"HR_bvp": 1.0124,
"bvp_at_bats": 24.0,
"combined": {
"H": 1.0398,
"BB": 1.0231,
"SO": 1.2393,
"HR": 1.1119
}
},
{
"hitter": "Will Smith",
"plate_appearances": 4.063,
"stand": "R",
"H_batter": 0.998,
"H_platoon": 1.0124,
"H_bvp": 0.9563,
"BB_batter": 1.2143,
"BB_platoon": 1.0619,
"BB_bvp": 1.0,
"SO_batter": 0.7902,
"SO_platoon": 0.9786,
"SO_bvp": 1.0627,
"HR_batter": 1.0873,
"HR_platoon": 1.0127,
"HR_bvp": 0.9563,
"bvp_at_bats": 7.0,
"combined": {
"H": 0.9662,
"BB": 1.2895,
"SO": 0.8218,
"HR": 1.053
}
},
{
"hitter": "Shohei Ohtani",
"plate_appearances": 4.21,
"stand": "L",
"H_batter": 1.0339,
"H_platoon": 1.0351,
"H_bvp": 0.9868,
"BB_batter": 1.4201,
"BB_platoon": 0.9055,
"BB_bvp": 1.0,
"SO_batter": 1.1004,
"SO_platoon": 1.0454,
"SO_bvp": 1.0214,
"HR_batter": 1.417,
"HR_platoon": 0.9622,
"HR_bvp": 0.922,
"bvp_at_bats": 15.0,
"combined": {
"H": 1.0561,
"BB": 1.2859,
"SO": 1.175,
"HR": 1.2571
}
},
{
"hitter": "Miguel Rojas",
"plate_appearances": 3.46,
"stand": "R",
"H_batter": 1.0395,
"H_platoon": 1.0124,
"H_bvp": 0.9779,
"BB_batter": 0.7376,
"BB_platoon": 1.0619,
"BB_bvp": 1.0,
"SO_batter": 0.5807,
"SO_platoon": 0.9786,
"SO_bvp": 0.9722,
"HR_batter": 0.7691,
"HR_platoon": 1.0127,
"HR_bvp": 0.9316,
"bvp_at_bats": 13.0,
"combined": {
"H": 1.0291,
"BB": 0.7833,
"SO": 0.5525,
"HR": 0.7256
}
},
{
"hitter": "Andy Pages",
"plate_appearances": 3.832,
"stand": "R",
"H_batter": 1.0518,
"H_platoon": 1.0124,
"H_bvp": 0.9667,
"BB_batter": 0.9971,
"BB_platoon": 1.0619,
"BB_bvp": 1.0,
"SO_batter": 0.9032,
"SO_platoon": 0.9786,
"SO_bvp": 0.9667,
"HR_batter": 1.2127,
"HR_platoon": 1.0127,
"HR_bvp": 0.9667,
"bvp_at_bats": 5.0,
"combined": {
"H": 1.0294,
"BB": 1.0588,
"SO": 0.8544,
"HR": 1.1872
}
},
{
"hitter": "Kyle Tucker",
"plate_appearances": 3.888,
"stand": "L",
"H_batter": 0.9674,
"H_platoon": 1.0351,
"H_bvp": 0.9607,
"BB_batter": 1.286,
"BB_platoon": 0.9055,
"BB_bvp": 1.0,
"SO_batter": 0.7797,
"SO_platoon": 1.0454,
"SO_bvp": 1.0907,
"HR_batter": 0.9602,
"HR_platoon": 0.9622,
"HR_bvp": 0.9351,
"bvp_at_bats": 12.0,
"combined": {
"H": 0.962,
"BB": 1.1645,
"SO": 0.889,
"HR": 0.8639
}
},
{
"hitter": "Enrique Hern\u00e1ndez",
"plate_appearances": 3.454,
"stand": "R",
"H_batter": 0.9933,
"H_platoon": 1.0124,
"H_bvp": 0.985,
"BB_batter": 0.8776,
"BB_platoon": 1.0619,
"BB_bvp": 1.0,
"SO_batter": 1.1987,
"SO_platoon": 0.9786,
"SO_bvp": 1.0363,
"HR_batter": 1.1001,
"HR_platoon": 1.0127,
"HR_bvp": 0.9351,
"bvp_at_bats": 12.0,
"combined": {
"H": 0.9905,
"BB": 0.9319,
"SO": 1.2156,
"HR": 1.0418
}
}
]
},
{
"step": "kpi_run_environment",
"description": "KPI blend published; the staff line follows the published score, not a KPI rescale",
"applied": true,
"kpi_staff_exposure": {
"usage": "starter",
"batters_faced": 22.141
},
"player_attribution": {
"home_runs": {
"model_delta": -0.3334,
"weighted_stage_delta": -0.1467
},
"away_runs": {
"model_delta": -0.7691,
"weighted_stage_delta": -0.5999
},
"home_win": {
"model_delta": 0.0888,
"weighted_stage_delta": 0.0
}
}
},
{
"step": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_IP": 6.1,
"predicted_ER": 2,
"predicted_H": 4,
"predicted_BB": 1,
"predicted_SO": 7,
"predicted_HR": 1
}
},
{
"step": "market_blend",
"applied": true,
"description": "Starter continuous line blended with his own props: model x (market/model) ** w; integer line stays reconciled to the club score",
"stats_blended": {
"ER": {
"model": 1.5215,
"market_implied": 1.7109,
"market_multiplier": 1.1245,
"weight": 0.4659,
"effective_multiplier": 1.0562,
"lines": [
1.5
],
"books": 3,
"props": [
{
"market": "pitcher_earned_runs",
"point": 1.5,
"books": 3,
"market_p_over": 0.5101,
"model_p_over": 0.4493,
"implied_multiplier": 1.1245
}
]
},
"H": {
"model": 4.087,
"market_implied": 4.5693,
"market_multiplier": 1.118,
"weight": 0.4659,
"effective_multiplier": 1.0533,
"lines": [
4.5
],
"books": 3,
"props": [
{
"market": "pitcher_hits_allowed",
"point": 4.5,
"books": 3,
"market_p_over": 0.481,
"model_p_over": 0.3882,
"implied_multiplier": 1.118
}
]
},
"OUTS": {
"model": 17.208,
"market_implied": 18.5244,
"market_multiplier": 1.0765,
"weight": 0.5348,
"effective_multiplier": 1.0402,
"lines": [
17.5,
18.5
],
"books": 7,
"props": [
{
"market": "pitcher_outs",
"point": 17.5,
"books": 3,
"market_p_over": 0.5885,
"model_p_over": 0.4149,
"implied_multiplier": 1.1322
},
{
"market": "pitcher_outs",
"point": 18.5,
"books": 4,
"market_p_over": 0.3624,
"model_p_over": 0.3161,
"implied_multiplier": 1.0365
}
]
},
"SO": {
"model": 6.8704,
"market_implied": 7.1409,
"market_multiplier": 1.0394,
"weight": 0.537,
"effective_multiplier": 1.021,
"lines": [
6.5,
7.5
],
"books": 7,
"props": [
{
"market": "pitcher_strikeouts",
"point": 6.5,
"books": 3,
"market_p_over": 0.5576,
"model_p_over": 0.5308,
"implied_multiplier": 1.0261
},
{
"market": "pitcher_strikeouts",
"point": 7.5,
"books": 4,
"market_p_over": 0.4326,
"model_p_over": 0.382,
"implied_multiplier": 1.0495
}
]
},
"BB": {
"model": 0.8557,
"market_implied": 1.4282,
"market_multiplier": 1.6691,
"weight": 0.537,
"effective_multiplier": 1.3166,
"lines": [
1.5
],
"books": 2,
"props": [
{
"market": "pitcher_walks",
"point": 1.5,
"books": 2,
"market_p_over": 0.4179,
"model_p_over": 0.2114,
"implied_multiplier": 1.6691
}
]
}
},
"expected_before": {
"SO": 6.8704,
"H": 4.087,
"BB": 0.8557,
"ER": 1.5215,
"IP": 5.736,
"ERA": 2.387
},
"expected_after": {
"SO": 7.0144,
"H": 4.305,
"BB": 1.1266,
"ER": 1.607,
"IP": 5.9666,
"ERA": 2.424
},
"line": {
"IP": 6.1,
"H": 4,
"ER": 3,
"BB": 1,
"SO": 6,
"HR": 1
}
},
{
"step": "play_by_play_realization",
"applied": true,
"description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
"before": {
"IP": 6.1,
"H": 4,
"R": 2,
"ER": 2,
"BB": 1,
"SO": 7,
"HR": 1
},
"stats": {
"IP": 6.0,
"H": 6,
"R": 3,
"ER": 2,
"BB": 1,
"SO": 5,
"HR": 1,
"BF": 28,
"Pitches": 99
}
}
],
"prediction_impact_trace": {
"trace_version": "1.1",
"role": "pitcher",
"player_id": "519242",
"player_name": "Chris Sale",
"position": "Starter",
"team": "ATL",
"steps": [
{
"index": 1,
"step": "pitcher_rate_projection",
"description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 3.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 6.3333,
"predicted_SO": 6.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 3,
"step": "team_form_adjustment",
"description": "Club form: innings, run prevention and strikeout factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 4,
"step": "savant_pitcher_quality",
"description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "opposing_lineup_context",
"description": "The nine hitters he faces: batter quality, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"H": 0.0,
"BB": 0.15,
"SO": 0.35,
"HR": 0.0
}
},
{
"index": 6,
"step": "kpi_run_environment",
"description": "KPI blend published; the staff line follows the published score, not a KPI rescale",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 7,
"step": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 2.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 6.1,
"predicted_SO": 7.0
},
"changed_metrics": [
{
"metric": "predicted_ER",
"before": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_IP",
"before": 6.3333,
"after": 6.1,
"delta": -0.2333,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 7.0,
"delta": 1.0,
"percent_delta": 0.1667,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 6.0,
"after": 7.0,
"delta": 1.0,
"percent_delta": 0.1667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_ER",
"before": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
}
},
{
"index": 8,
"step": "market_blend",
"description": "Starter continuous line blended with his own props: model x (market/model) ** w; integer line stays reconciled to the club score",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 9,
"step": "play_by_play_realization",
"description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 2.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 6.0,
"predicted_R": 3.0,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_H",
"before": 4.0,
"after": 6.0,
"delta": 2.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 5.0,
"delta": -2.0,
"percent_delta": -0.2857,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 4.0,
"after": 6.0,
"delta": 2.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 7.0,
"after": 5.0,
"delta": -2.0,
"percent_delta": -0.2857,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 10,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 2.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 6.0,
"predicted_SO": 5.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
}
],
"total_change": {
"from_step": "pitcher_rate_projection",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_ER",
"before": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 6.0,
"delta": 2.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_IP",
"before": 6.3333,
"after": 6.0,
"delta": -0.3333,
"percent_delta": -0.0526,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 5.0,
"delta": -1.0,
"percent_delta": -0.1667,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_H",
"before": 4.0,
"after": 6.0,
"delta": 2.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_ER",
"before": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
},
"team_form_snapshot": {
"method": "team_form_snapshot",
"role": "pitcher",
"edges": {
"quality_edge": -0.2008,
"offense_edge": 0.0201,
"opponent_offense_edge": 0.1012,
"defense_strength": 0.1619,
"opponent_defense_weakness": -0.2123,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9928,
"run_prevention": 1.01,
"strikeout": 0.9859
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "519242",
"profile": {
"available": true,
"pitcher_id": "519242",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 601.0,
"k_percent": 30.9,
"bb_percent": 4.8,
"woba": 0.259,
"xwoba": 0.267,
"sweet_spot_percent": 34.3,
"barrel_batted_rate": 6.2,
"hard_hit_percent": 35.1,
"avg_best_speed": 76.8972,
"avg_hyper_speed": 93.4361,
"whiff_percent": 30.4,
"swing_percent": 50.7
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.8395,
"command_and_miss": 1.0457,
"regression_edge": -0.2286,
"xwoba_edge": 1.2857,
"barrel_edge": 0.2222,
"hard_hit_edge": 0.4,
"whiff_edge": 0.7429,
"bb_edge": 1.1,
"pitch_design_score": -0.0655
},
"quality_score": 0.7139,
"sample_weight": 1.0,
"run_prevention_factor": 0.9393,
"strikeout_factor": 1.08,
"walk_factor": 0.912,
"homer_factor": 0.9277,
"woba_minus_xwoba": -0.008,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "519242",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.9393,
"adjusted": 2
},
"predicted_H": {
"original": 4.0,
"factor": 0.9393,
"adjusted": 4
},
"predicted_BB": {
"original": 1.0,
"factor": 0.912,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9277,
"adjusted": 0
},
"predicted_SO": {
"original": 8.0,
"factor": 1.08,
"adjusted": 9
}
}
},
"club_form": "game.<side>_team.predicted_performance.team_form"
},
"simulation_box_score_stats": {
"IP": 6.0,
"H": 6,
"R": 3,
"ER": 2,
"BB": 1,
"SO": 5,
"HR": 1,
"BF": 28,
"Pitches": 99,
"source": "play_by_play_realizer_v1",
"predicted_R": 3,
"predicted_ER": 2
}
},
"findings": [
{
"code": "ER_WITHIN_ONE",
"severity": "good",
"title": "Earned runs within one",
"detail": "Actual minus predicted earned runs was +1."
},
{
"code": "QUALITY_START_CLASSIFICATION_MISS",
"severity": "warning",
"title": "Quality-start classification was wrong",
"detail": "Projected quality start: True; actual quality start: False."
}
],
"provenance": {
"prediction": "output/games/20261006_LAD@ATL.json (current server JSON; no revision substitution)",
"pregame_season": "embedded season totals in the current server JSON; ESPN metrics are retained in the model context",
"prior_history": "data/all_players_stats.csv; unique real appearances strictly before the target date",
"target_game": "Official MLB Stats API live game feed",
"postgame_season": "derived from pregame season totals plus the official target-game starter line"
}
} |
| 20261006 | 20261006_MIL@SD | away | Dustin May | Dustin May | True | 4.0 | 3.0 | -3 | 5 | 2 | -3 | 8/3 | 2/2 | 4/3 | Last 10 before this game (10 available){
"model_context": {
"embedded_season": {
"ERA": 4.695652173913044,
"WHIP": 1.3180778032036613,
"IP": 145.2,
"games_started": null,
"games_pitched": 31,
"role_avg_IP": 4.699,
"recent_avg_IP": 3.4,
"last_start_IP": 3.0,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": -0.172,
"sample_weight": 1.0,
"run_prevention_factor": 1.0146,
"strikeout_factor": 0.9937,
"walk_factor": 0.978,
"homer_factor": 1.0567,
"regression_flag": "neutral",
"k_percent": 23.2,
"bb_percent": 8.1,
"woba": 0.317,
"xwoba": 0.323,
"barrel_percent": 7.8,
"hard_hit_percent": 44.3,
"whiff_percent": 23.0
},
"espn_rank": {
"rank": null,
"total_ranked": null,
"metrics": null
},
"starter_workload_floor": null,
"player_form_blend": {
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 31.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8611,
"prior_weight": 0.1389
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "669160",
"report_date": "20261006",
"season_year": 2026,
"rows_used": 31,
"reference_playing_time": 4.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 17.0,
"ER": 9.0,
"R": 9.0,
"H": 17.0,
"BB": 5.0,
"SO": 22.0,
"HR": 4.0,
"BF": 74.0,
"Pitches": 304.0
},
"per_game": {
"IP": 3.1,
"ER": 1.8,
"R": 1.8,
"H": 3.4,
"BB": 1.0,
"SO": 4.4,
"HR": 0.8,
"BF": 14.8,
"Pitches": 60.8
},
"rates": {
"ERA": 4.7647,
"WHIP": 1.2941,
"ER_per_IP": 0.52941,
"H_per_IP": 1.0,
"BB_per_IP": 0.29412,
"SO_per_IP": 1.29412,
"HR_per_IP": 0.23529
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 36.2,
"ER": 23.0,
"R": 23.0,
"H": 37.0,
"BB": 15.0,
"SO": 38.0,
"HR": 7.0,
"BF": 162.0,
"Pitches": 648.0
},
"per_game": {
"IP": 3.2,
"ER": 2.3,
"R": 2.3,
"H": 3.7,
"BB": 1.5,
"SO": 3.8,
"HR": 0.7,
"BF": 16.2,
"Pitches": 64.8
},
"rates": {
"ERA": 5.6455,
"WHIP": 1.4182,
"ER_per_IP": 0.62727,
"H_per_IP": 1.00909,
"BB_per_IP": 0.40909,
"SO_per_IP": 1.03636,
"HR_per_IP": 0.19091
}
},
"season": {
"games": 31,
"totals": {
"IP": 145.2,
"ER": 76.0,
"R": 79.0,
"H": 142.0,
"BB": 50.0,
"SO": 144.0,
"HR": 14.0,
"BF": 621.0,
"Pitches": 2399.0
},
"per_game": {
"IP": 4.2,
"ER": 2.4516,
"R": 2.5484,
"H": 4.5806,
"BB": 1.6129,
"SO": 4.6452,
"HR": 0.4516,
"BF": 20.0323,
"Pitches": 77.3871
},
"rates": {
"ERA": 4.6957,
"WHIP": 1.3181,
"ER_per_IP": 0.52174,
"H_per_IP": 0.97483,
"BB_per_IP": 0.34325,
"SO_per_IP": 0.98856,
"HR_per_IP": 0.09611
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 3.2,
"predicted_ER": 2.111,
"predicted_H": 3.788,
"predicted_BB": 1.328,
"predicted_SO": 4.235,
"predicted_HR": 0.706,
"predicted_ERA": 4.9978,
"predicted_WHIP": 1.3455
}
},
"model_form_blend_trace": {
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4087,
"form_weight": 0.5913,
"form_reliability": 0.8611,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 31.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8611,
"prior_weight": 0.1389
},
"applied_metrics": {
"predicted_IP": {
"model": 4.1,
"form": 3.2,
"final": 4.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 2.111,
"final": 2.883,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 3.788,
"final": 3.8746,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.328,
"final": 1.6026,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 4.235,
"final": 2.9129,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.706,
"final": 0.8262,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.9978,
"final": 4.9978,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3455,
"final": 1.3455,
"source": "form_only"
}
}
},
"recent_form_analysis": {
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 36.2,
"ER": 23,
"H": 37,
"BB": 15,
"SO": 38,
"HR": 7,
"ERA": 5.645454545454545,
"WHIP": 1.418181818181818,
"K9": 9.327272727272726,
"HR9": 1.718181818181818,
"games_pitched": 10,
"quality_starts": 3,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-09-26T00:00:00"
},
"recent_form_boost": 1.1309337947914393,
"stat_evolution": [
{
"step": "pitcher_rate_projection",
"applied": true,
"description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
"rates_per_inning": {
"H": 0.9871,
"BB": 0.3194,
"SO": 1.137,
"HR": 0.1637
},
"source": "recent_role_blend",
"tto_penalty": 0.9965,
"role_avg_IP": 4.699,
"recent_avg_IP": 3.4
},
{
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_IP": 4.333333333333333,
"predicted_ER": 4.0,
"predicted_H": 4.0,
"predicted_BB": 2.0,
"predicted_SO": 1.0,
"predicted_HR": 1.0
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 31.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8611,
"prior_weight": 0.1389
}
},
{
"step": "team_form_adjustment",
"applied": true,
"description": "Club form: innings, run prevention and strikeout factors",
"factors": {
"ip": 1.0133,
"run_prevention": 0.9715,
"strikeout": 1.0064
}
},
{
"step": "savant_pitcher_quality",
"applied": true,
"description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
"factors": {
"strikeout_factor": 0.9937,
"walk_factor": 0.978,
"homer_factor": 1.0567,
"run_prevention_factor": 1.0146,
"quality_score": -0.172
}
},
{
"step": "opposing_lineup_context",
"applied": true,
"description": "The nine hitters he faces: batter quality, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances",
"lineup_multipliers": {
"H": 1.0089,
"BB": 0.9815,
"SO": 0.9569,
"HR": 1.011
},
"weights": {
"H": 0.0,
"BB": 0.15,
"SO": 0.35,
"HR": 0.0
},
"applied_multipliers": {
"H": 1.0,
"BB": 0.9972,
"SO": 0.9847,
"HR": 1.0
},
"earned_run_factor": 0.9995,
"before": {
"H": 3.791,
"BB": 1.227,
"SO": 4.525,
"HR": 0.627,
"ER": 2.011,
"ERA": 4.517
},
"after": {
"H": 3.791,
"BB": 1.2236,
"SO": 4.4558,
"HR": 0.627,
"ER": 2.01,
"ERA": 4.516
},
"by_hitter": [
{
"hitter": "Fernando Tatis Jr.",
"plate_appearances": 4.504,
"stand": "R",
"H_batter": 1.0967,
"H_platoon": 0.9909,
"H_bvp": 0.987,
"BB_batter": 1.0076,
"BB_platoon": 0.9543,
"BB_bvp": 1.0,
"SO_batter": 0.8544,
"SO_platoon": 1.0158,
"SO_bvp": 1.013,
"HR_batter": 1.138,
"HR_platoon": 0.9906,
"HR_bvp": 0.9855,
"bvp_at_bats": 29.0,
"combined": {
"H": 1.0726,
"BB": 0.9616,
"SO": 0.8792,
"HR": 1.111
}
},
{
"hitter": "Jackson Merrill",
"plate_appearances": 4.454,
"stand": "L",
"H_batter": 1.0482,
"H_platoon": 0.9905,
"H_bvp": 0.9389,
"BB_batter": 0.7579,
"BB_platoon": 1.0256,
"BB_bvp": 1.0,
"SO_batter": 1.0867,
"SO_platoon": 0.9877,
"SO_bvp": 1.0306,
"HR_batter": 1.1881,
"HR_platoon": 1.0102,
"HR_bvp": 0.9389,
"bvp_at_bats": 10.0,
"combined": {
"H": 0.9748,
"BB": 0.7773,
"SO": 1.1062,
"HR": 1.1269
}
},
{
"hitter": "Manny Machado",
"plate_appearances": 4.24,
"stand": "R",
"H_batter": 0.9334,
"H_platoon": 0.9909,
"H_bvp": 1.0146,
"BB_batter": 1.2775,
"BB_platoon": 0.9543,
"BB_bvp": 1.0,
"SO_batter": 0.9492,
"SO_platoon": 1.0158,
"SO_bvp": 0.9821,
"HR_batter": 1.341,
"HR_platoon": 0.9906,
"HR_bvp": 1.0142,
"bvp_at_bats": 42.0,
"combined": {
"H": 0.9384,
"BB": 1.2191,
"SO": 0.9469,
"HR": 1.3473
}
},
{
"hitter": "Ty France",
"plate_appearances": 4.286,
"stand": "R",
"H_batter": 1.1035,
"H_platoon": 0.9909,
"H_bvp": 1.0248,
"BB_batter": 0.86,
"BB_platoon": 0.9543,
"BB_bvp": 1.0,
"SO_batter": 0.9702,
"SO_platoon": 1.0158,
"SO_bvp": 1.0101,
"HR_batter": 1.2252,
"HR_platoon": 0.9906,
"HR_bvp": 1.0798,
"bvp_at_bats": 12.0,
"combined": {
"H": 1.1206,
"BB": 0.8207,
"SO": 0.9955,
"HR": 1.3105
}
},
{
"hitter": "Ethan Salas",
"plate_appearances": 3.614,
"stand": "L",
"H_batter": 1.0087,
"H_platoon": 0.9905,
"H_bvp": 1.0,
"BB_batter": 0.8026,
"BB_platoon": 1.0256,
"BB_bvp": 1.0,
"SO_batter": 1.0444,
"SO_platoon": 0.9877,
"SO_bvp": 1.0,
"HR_batter": 1.0686,
"HR_platoon": 1.0102,
"HR_bvp": 1.0,
"bvp_at_bats": null,
"combined": {
"H": 0.9991,
"BB": 0.8231,
"SO": 1.0316,
"HR": 1.0795
}
},
{
"hitter": "Xander Bogaerts",
"plate_appearances": 3.851,
"stand": "R",
"H_batter": 0.9583,
"H_platoon": 0.9909,
"H_bvp": 0.9873,
"BB_batter": 1.3835,
"BB_platoon": 0.9543,
"BB_bvp": 1.0,
"SO_batter": 0.823,
"SO_platoon": 1.0158,
"SO_bvp": 0.9969,
"HR_batter": 0.814,
"HR_platoon": 0.9906,
"HR_bvp": 1.1108,
"bvp_at_bats": 16.0,
"combined": {
"H": 0.9375,
"BB": 1.3203,
"SO": 0.8334,
"HR": 0.8957
}
},
{
"hitter": "Dustin Harris",
"plate_appearances": 4.084,
"stand": "L",
"H_batter": 1.0317,
"H_platoon": 0.9905,
"H_bvp": 1.0,
"BB_batter": 0.8419,
"BB_platoon": 1.0256,
"BB_bvp": 1.0,
"SO_batter": 0.6914,
"SO_platoon": 0.9877,
"SO_bvp": 1.0,
"HR_batter": 0.6142,
"HR_platoon": 1.0102,
"HR_bvp": 1.0,
"bvp_at_bats": null,
"combined": {
"H": 1.0219,
"BB": 0.8635,
"SO": 0.6829,
"HR": 0.6205
}
},
{
"hitter": "Samad Taylor",
"plate_appearances": 3.636,
"stand": "R",
"H_batter": 1.0648,
"H_platoon": 0.9909,
"H_bvp": 1.0,
"BB_batter": 1.103,
"BB_platoon": 0.9543,
"BB_bvp": 1.0,
"SO_batter": 1.1522,
"SO_platoon": 1.0158,
"SO_bvp": 1.0,
"HR_batter": 0.7436,
"HR_platoon": 0.9906,
"HR_bvp": 1.0,
"bvp_at_bats": null,
"combined": {
"H": 1.0551,
"BB": 1.0526,
"SO": 1.1704,
"HR": 0.7366
}
},
{
"hitter": "Jake Cronenworth",
"plate_appearances": 3.733,
"stand": "L",
"H_batter": 0.958,
"H_platoon": 0.9905,
"H_bvp": 0.9996,
"BB_batter": 1.0017,
"BB_platoon": 1.0256,
"BB_bvp": 1.0,
"SO_batter": 1.0259,
"SO_platoon": 0.9877,
"SO_bvp": 0.9734,
"HR_batter": 0.701,
"HR_platoon": 1.0102,
"HR_bvp": 1.0929,
"bvp_at_bats": 21.0,
"combined": {
"H": 0.9485,
"BB": 1.0273,
"SO": 0.9863,
"HR": 0.7739
}
}
]
},
{
"step": "kpi_run_environment",
"description": "KPI blend published; the staff line follows the published score, not a KPI rescale",
"applied": true,
"kpi_staff_exposure": {
"usage": "starter",
"batters_faced": 17.036
},
"player_attribution": {
"home_runs": {
"model_delta": 0.1451,
"weighted_stage_delta": 0.0638
},
"away_runs": {
"model_delta": -0.0943,
"weighted_stage_delta": -0.0736
},
"home_win": {
"model_delta": 0.0252,
"weighted_stage_delta": 0.0
}
}
},
{
"step": "play_by_play_realization",
"applied": true,
"description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
"before": {
"IP": 4.1,
"H": 4,
"R": 4,
"ER": 4,
"BB": 2,
"SO": 1,
"HR": 1
},
"stats": {
"IP": 4.0,
"H": 8,
"R": 5,
"ER": 5,
"BB": 2,
"SO": 4,
"HR": 0,
"BF": 22,
"Pitches": 89
}
}
],
"prediction_impact_trace": {
"trace_version": "1.1",
"role": "pitcher",
"player_id": "669160",
"player_name": "Dustin May",
"position": "Starter",
"team": "MIL",
"steps": [
{
"index": 1,
"step": "pitcher_rate_projection",
"description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 4.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 4.3333,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 3,
"step": "team_form_adjustment",
"description": "Club form: innings, run prevention and strikeout factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 4,
"step": "savant_pitcher_quality",
"description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "opposing_lineup_context",
"description": "The nine hitters he faces: batter quality, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"H": 0.0,
"BB": 0.15,
"SO": 0.35,
"HR": 0.0
}
},
{
"index": 6,
"step": "kpi_run_environment",
"description": "KPI blend published; the staff line follows the published score, not a KPI rescale",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 7,
"step": "play_by_play_realization",
"description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 5.0,
"predicted_H": 8.0,
"predicted_HR": 0.0,
"predicted_IP": 4.0,
"predicted_R": 5.0,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_ER",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 8.0,
"delta": 4.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_IP",
"before": 4.3333,
"after": 4.0,
"delta": -0.3333,
"percent_delta": -0.0769,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 4.0,
"delta": 3.0,
"percent_delta": 3.0,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_H",
"before": 4.0,
"after": 8.0,
"delta": 4.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
}
},
{
"index": 8,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 5.0,
"predicted_H": 8.0,
"predicted_HR": 0.0,
"predicted_IP": 4.0,
"predicted_SO": 4.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
}
],
"total_change": {
"from_step": "pitcher_rate_projection",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_ER",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 8.0,
"delta": 4.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_IP",
"before": 4.3333,
"after": 4.0,
"delta": -0.3333,
"percent_delta": -0.0769,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 4.0,
"delta": 3.0,
"percent_delta": 3.0,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_H",
"before": 4.0,
"after": 8.0,
"delta": 4.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
},
"team_form_snapshot": {
"method": "team_form_snapshot",
"role": "pitcher",
"edges": {
"quality_edge": 0.1938,
"offense_edge": 0.1441,
"opponent_offense_edge": -0.0072,
"defense_strength": 0.1767,
"opponent_defense_weakness": -0.0679,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0133,
"run_prevention": 0.9715,
"strikeout": 1.0064
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "669160",
"profile": {
"available": true,
"pitcher_id": "669160",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 581.0,
"k_percent": 23.2,
"bb_percent": 8.1,
"woba": 0.317,
"xwoba": 0.323,
"sweet_spot_percent": 36.1,
"barrel_batted_rate": 7.8,
"hard_hit_percent": 44.3,
"avg_best_speed": 79.2854,
"avg_hyper_speed": 94.6495,
"whiff_percent": 23.0,
"swing_percent": 47.6
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.3062,
"command_and_miss": 0.0157,
"regression_edge": -0.1714,
"xwoba_edge": -0.3143,
"barrel_edge": -0.1333,
"hard_hit_edge": -0.9143,
"whiff_edge": -0.3143,
"bb_edge": 0.275,
"pitch_design_score": 0.1569
},
"quality_score": -0.172,
"sample_weight": 1.0,
"run_prevention_factor": 1.0146,
"strikeout_factor": 0.9937,
"walk_factor": 0.978,
"homer_factor": 1.0567,
"woba_minus_xwoba": -0.006,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "669160",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0146,
"adjusted": 2
},
"predicted_H": {
"original": 4.0,
"factor": 1.0146,
"adjusted": 4
},
"predicted_BB": {
"original": 1.0,
"factor": 0.978,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0567,
"adjusted": 1
},
"predicted_SO": {
"original": 5.0,
"factor": 0.9937,
"adjusted": 5
}
}
},
"club_form": "game.<side>_team.predicted_performance.team_form"
},
"simulation_box_score_stats": {
"IP": 4.0,
"H": 8,
"R": 5,
"ER": 5,
"BB": 2,
"SO": 4,
"HR": 0,
"BF": 22,
"Pitches": 89,
"source": "play_by_play_realizer_v1",
"predicted_R": 5,
"predicted_ER": 5
}
},
"findings": [
{
"code": "DIRECT_ER_MISS",
"severity": "error",
"title": "Earned-run miss of 3",
"detail": "Actual minus predicted earned runs was -3."
},
{
"code": "HIT_COMPONENT_MISS",
"severity": "warning",
"title": "Hits missed by 5",
"detail": "Actual minus predicted hits was -5."
}
],
"provenance": {
"prediction": "output/games/20261006_MIL@SD.json (current server JSON; no revision substitution)",
"pregame_season": "embedded season totals in the current server JSON; ESPN metrics are retained in the model context",
"prior_history": "data/all_players_stats.csv; unique real appearances strictly before the target date",
"target_game": "Official MLB Stats API live game feed",
"postgame_season": "derived from pregame season totals plus the official target-game starter line"
}
} |
| 20261006 | 20261006_MIL@SD | home | Nick Pivetta | Nick Pivetta | True | 4.0 | 4.1 | 1 | 3 | 2 | -1 | 4/5 | 1/0 | 2/4 | Last 10 before this game (9 available){
"model_context": {
"embedded_season": {
"ERA": 2.8421052631578947,
"WHIP": 1.0526315789473684,
"IP": 38.0,
"games_started": null,
"games_pitched": 9,
"role_avg_IP": 4.222,
"recent_avg_IP": 4.4,
"last_start_IP": 3.1,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": 0.1561,
"sample_weight": 0.45,
"run_prevention_factor": 0.9867,
"strikeout_factor": 1.0141,
"walk_factor": 0.9685,
"homer_factor": 1.0105,
"regression_flag": "neutral",
"k_percent": 30.0,
"bb_percent": 5.7,
"woba": 0.249,
"xwoba": 0.277,
"barrel_percent": 10.1,
"hard_hit_percent": 38.2,
"whiff_percent": 22.8
},
"espn_rank": {
"rank": 28,
"total_ranked": null,
"metrics": null
},
"starter_workload_floor": {
"applied": true,
"floor_IP": 5.0,
"season_IP": 38.0,
"season_ERA": 2.842,
"season_WHIP": 1.053,
"reason": "credible starter season workload and run-prevention profile"
},
"player_form_blend": {
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.6164383561643836,
"last_10": 0.3835616438356164
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6429,
"prior_weight": 0.3571
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "601713",
"report_date": "20261006",
"season_year": 2026,
"rows_used": 9,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 22.0,
"ER": 4.0,
"R": 4.0,
"H": 18.0,
"BB": 4.0,
"SO": 22.0,
"HR": 2.0,
"BF": 89.0,
"Pitches": 361.0
},
"per_game": {
"IP": 4.1,
"ER": 0.8,
"R": 0.8,
"H": 3.6,
"BB": 0.8,
"SO": 4.4,
"HR": 0.4,
"BF": 17.8,
"Pitches": 72.2
},
"rates": {
"ERA": 1.6364,
"WHIP": 1.0,
"ER_per_IP": 0.18182,
"H_per_IP": 0.81818,
"BB_per_IP": 0.18182,
"SO_per_IP": 1.0,
"HR_per_IP": 0.09091
}
},
"last_10": {
"games": 9,
"totals": {
"IP": 38.0,
"ER": 12.0,
"R": 12.0,
"H": 30.0,
"BB": 10.0,
"SO": 46.0,
"HR": 2.0,
"BF": 155.0,
"Pitches": 644.0
},
"per_game": {
"IP": 4.1,
"ER": 1.3333,
"R": 1.3333,
"H": 3.3333,
"BB": 1.1111,
"SO": 5.1111,
"HR": 0.2222,
"BF": 17.2222,
"Pitches": 71.5556
},
"rates": {
"ERA": 2.8421,
"WHIP": 1.0526,
"ER_per_IP": 0.31579,
"H_per_IP": 0.78947,
"BB_per_IP": 0.26316,
"SO_per_IP": 1.21053,
"HR_per_IP": 0.05263
}
},
"season": {
"games": 9,
"totals": {
"IP": 38.0,
"ER": 12.0,
"R": 12.0,
"H": 30.0,
"BB": 10.0,
"SO": 46.0,
"HR": 2.0,
"BF": 155.0,
"Pitches": 644.0
},
"per_game": {
"IP": 4.1,
"ER": 1.3333,
"R": 1.3333,
"H": 3.3333,
"BB": 1.1111,
"SO": 5.1111,
"HR": 0.2222,
"BF": 17.2222,
"Pitches": 71.5556
},
"rates": {
"ERA": 2.8421,
"WHIP": 1.0526,
"ER_per_IP": 0.31579,
"H_per_IP": 0.78947,
"BB_per_IP": 0.26316,
"SO_per_IP": 1.21053,
"HR_per_IP": 0.05263
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 4.2,
"predicted_ER": 1.523,
"predicted_H": 3.979,
"predicted_BB": 1.247,
"predicted_SO": 4.7,
"predicted_HR": 0.465,
"predicted_ERA": 2.9981,
"predicted_WHIP": 1.1433
}
},
"model_form_blend_trace": {
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5009,
"form_weight": 0.4991,
"form_reliability": 0.6429,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6429,
"prior_weight": 0.3571
},
"applied_metrics": {
"predicted_IP": {
"model": 5.0,
"form": 4.2,
"final": 5.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 1.523,
"final": 1.7619,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 3.979,
"final": 3.4886,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.247,
"final": 1.1233,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 7.0,
"form": 4.7,
"final": 5.852,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.465,
"final": 0.2321,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.9981,
"final": 2.9981,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1433,
"final": 1.1433,
"source": "form_only"
}
}
},
"recent_form_analysis": {
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 38.0,
"ER": 12,
"H": 30,
"BB": 10,
"SO": 46,
"HR": 2,
"ERA": 2.8421052631578947,
"WHIP": 1.0526315789473684,
"K9": 10.894736842105264,
"HR9": 0.47368421052631576,
"games_pitched": 9,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 9,
"error_prone": false
},
"games_count": 9,
"latest_game_date": "2026-09-30T00:00:00"
},
"recent_form_boost": 0.8064182445522049,
"stat_evolution": [
{
"step": "pitcher_rate_projection",
"applied": true,
"description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
"rates_per_inning": {
"H": 0.8053,
"BB": 0.2184,
"SO": 1.0947,
"HR": 0.0737
},
"source": "recent_role_blend",
"tto_penalty": 0.9965,
"role_avg_IP": 4.222,
"recent_avg_IP": 4.4
},
{
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_IP": 5.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_BB": 1.0,
"predicted_SO": 7.0,
"predicted_HR": 0.0
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6429,
"prior_weight": 0.3571
}
},
{
"step": "team_form_adjustment",
"applied": true,
"description": "Club form: innings, run prevention and strikeout factors",
"factors": {
"ip": 0.9885,
"run_prevention": 1.026,
"strikeout": 0.9827
}
},
{
"step": "savant_pitcher_quality",
"applied": true,
"description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
"factors": {
"strikeout_factor": 1.0141,
"walk_factor": 0.9685,
"homer_factor": 1.0105,
"run_prevention_factor": 0.9867,
"quality_score": 0.1561
}
},
{
"step": "opposing_lineup_context",
"applied": true,
"description": "The nine hitters he faces: batter quality, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances",
"lineup_multipliers": {
"H": 1.0251,
"BB": 1.1521,
"SO": 1.0041,
"HR": 0.9442
},
"weights": {
"H": 0.0,
"BB": 0.15,
"SO": 0.35,
"HR": 0.0
},
"applied_multipliers": {
"H": 1.0,
"BB": 1.0215,
"SO": 1.0014,
"HR": 1.0
},
"earned_run_factor": 1.0039,
"before": {
"H": 3.266,
"BB": 0.886,
"SO": 4.254,
"HR": 0.297,
"ER": 0.978,
"ERA": 2.253
},
"after": {
"H": 3.266,
"BB": 0.905,
"SO": 4.26,
"HR": 0.297,
"ER": 0.9818,
"ERA": 2.261
},
"by_hitter": [
{
"hitter": "Jackson Chourio",
"plate_appearances": 4.56,
"stand": "R",
"H_batter": 1.1127,
"H_platoon": 0.9909,
"H_bvp": 1.0,
"BB_batter": 0.9492,
"BB_platoon": 0.9543,
"BB_bvp": 1.0,
"SO_batter": 1.0401,
"SO_platoon": 1.0158,
"SO_bvp": 1.0,
"HR_batter": 1.3325,
"HR_platoon": 0.9906,
"HR_bvp": 1.0,
"bvp_at_bats": null,
"combined": {
"H": 1.1026,
"BB": 0.9058,
"SO": 1.0565,
"HR": 1.32
}
},
{
"hitter": "Jake Bauers",
"plate_appearances": 4.09,
"stand": "L",
"H_batter": 1.0043,
"H_platoon": 0.9905,
"H_bvp": 1.0,
"BB_batter": 1.6479,
"BB_platoon": 1.0256,
"BB_bvp": 1.0,
"SO_batter": 1.2047,
"SO_platoon": 0.9877,
"SO_bvp": 1.0,
"HR_batter": 1.2993,
"HR_platoon": 1.0102,
"HR_bvp": 1.0,
"bvp_at_bats": null,
"combined": {
"H": 0.9948,
"BB": 1.6901,
"SO": 1.1899,
"HR": 1.3126
}
},
{
"hitter": "William Contreras",
"plate_appearances": 4.268,
"stand": "R",
"H_batter": 1.0445,
"H_platoon": 0.9909,
"H_bvp": 0.9956,
"BB_batter": 1.0775,
"BB_platoon": 0.9543,
"BB_bvp": 1.0,
"SO_batter": 0.6832,
"SO_platoon": 1.0158,
"SO_bvp": 1.1303,
"HR_batter": 0.9786,
"HR_platoon": 0.9906,
"HR_bvp": 0.9282,
"bvp_at_bats": 13.0,
"combined": {
"H": 1.0304,
"BB": 1.0283,
"SO": 0.7844,
"HR": 0.8998
}
},
{
"hitter": "Brice Turang",
"plate_appearances": 4.091,
"stand": "L",
"H_batter": 1.0411,
"H_platoon": 0.9905,
"H_bvp": 0.9782,
"BB_batter": 1.4193,
"BB_platoon": 1.0256,
"BB_bvp": 1.0,
"SO_batter": 1.1127,
"SO_platoon": 0.9877,
"SO_bvp": 1.0248,
"HR_batter": 1.0221,
"HR_platoon": 1.0102,
"HR_bvp": 0.9515,
"bvp_at_bats": 6.0,
"combined": {
"H": 1.0087,
"BB": 1.4556,
"SO": 1.1263,
"HR": 0.9824
}
},
{
"hitter": "Christian Yelich",
"plate_appearances": 4.098,
"stand": "L",
"H_batter": 0.9687,
"H_platoon": 0.9905,
"H_bvp": 1.0525,
"BB_batter": 1.1363,
"BB_platoon": 1.0256,
"BB_bvp": 1.0,
"SO_batter": 1.1861,
"SO_platoon": 0.9877,
"SO_bvp": 0.958,
"HR_batter": 0.8691,
"HR_platoon": 1.0102,
"HR_bvp": 1.15,
"bvp_at_bats": 18.0,
"combined": {
"H": 1.0099,
"BB": 1.1654,
"SO": 1.1223,
"HR": 1.0097
}
},
{
"hitter": "Garrett Mitchell",
"plate_appearances": 3.907,
"stand": "L",
"H_batter": 1.0186,
"H_platoon": 0.9905,
"H_bvp": 1.0,
"BB_batter": 1.1922,
"BB_platoon": 1.0256,
"BB_bvp": 1.0,
"SO_batter": 1.3844,
"SO_platoon": 0.9877,
"SO_bvp": 1.0,
"HR_batter": 0.7519,
"HR_platoon": 1.0102,
"HR_bvp": 1.0,
"bvp_at_bats": null,
"combined": {
"H": 1.0089,
"BB": 1.2227,
"SO": 1.3674,
"HR": 0.7596
}
},
{
"hitter": "Cooper Pratt",
"plate_appearances": 3.804,
"stand": "R",
"H_batter": 1.0318,
"H_platoon": 0.9909,
"H_bvp": 1.0,
"BB_batter": 1.0361,
"BB_platoon": 0.9543,
"BB_bvp": 1.0,
"SO_batter": 0.852,
"SO_platoon": 1.0158,
"SO_bvp": 1.0,
"HR_batter": 0.6833,
"HR_platoon": 0.9906,
"HR_bvp": 1.0,
"bvp_at_bats": null,
"combined": {
"H": 1.0224,
"BB": 0.9888,
"SO": 0.8655,
"HR": 0.6769
}
},
{
"hitter": "Sal Frelick",
"plate_appearances": 3.72,
"stand": "L",
"H_batter": 0.9884,
"H_platoon": 0.9905,
"H_bvp": 1.0284,
"BB_batter": 0.9532,
"BB_platoon": 1.0256,
"BB_bvp": 1.0,
"SO_batter": 0.531,
"SO_platoon": 0.9877,
"SO_bvp": 1.023,
"HR_batter": 0.6196,
"HR_platoon": 1.0102,
"HR_bvp": 0.9667,
"bvp_at_bats": 5.0,
"combined": {
"H": 1.0068,
"BB": 0.9776,
"SO": 0.5365,
"HR": 0.6051
}
},
{
"hitter": "Joey Ortiz",
"plate_appearances": 3.789,
"stand": "R",
"H_batter": 1.0391,
"H_platoon": 0.9909,
"H_bvp": 1.0,
"BB_batter": 0.9716,
"BB_platoon": 0.9543,
"BB_bvp": 1.0,
"SO_batter": 0.9366,
"SO_platoon": 1.0158,
"SO_bvp": 1.0,
"HR_batter": 0.832,
"HR_platoon": 0.9906,
"HR_bvp": 1.0,
"bvp_at_bats": null,
"combined": {
"H": 1.0296,
"BB": 0.9272,
"SO": 0.9514,
"HR": 0.8242
}
}
]
},
{
"step": "kpi_run_environment",
"description": "KPI blend published; the staff line follows the published score, not a KPI rescale",
"applied": true,
"kpi_staff_exposure": {
"usage": "starter",
"batters_faced": 15.876
},
"player_attribution": {
"home_runs": {
"model_delta": 0.2092,
"weighted_stage_delta": 0.092
},
"away_runs": {
"model_delta": -0.2083,
"weighted_stage_delta": -0.1624
},
"home_win": {
"model_delta": 0.0038,
"weighted_stage_delta": 0.0
}
}
},
{
"step": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_IP": 5.0,
"predicted_ER": 2,
"predicted_H": 3,
"predicted_BB": 1,
"predicted_SO": 7,
"predicted_HR": 0
}
},
{
"step": "play_by_play_realization",
"applied": true,
"description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
"before": {
"IP": 5.0,
"H": 3,
"R": 2,
"ER": 2,
"BB": 1,
"SO": 7,
"HR": 0
},
"stats": {
"IP": 4.0,
"H": 4,
"R": 3,
"ER": 3,
"BB": 1,
"SO": 2,
"HR": 0,
"BF": 19,
"Pitches": 69
}
}
],
"prediction_impact_trace": {
"trace_version": "1.1",
"role": "pitcher",
"player_id": "601713",
"player_name": "Nick Pivetta",
"position": "Starter",
"team": "SD",
"steps": [
{
"index": 1,
"step": "pitcher_rate_projection",
"description": "Own per-inning rates from his recent and season work in this role, projected innings, times-through-the-order penalty",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 2,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_SO": 7.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 3,
"step": "team_form_adjustment",
"description": "Club form: innings, run prevention and strikeout factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 4,
"step": "savant_pitcher_quality",
"description": "Statcast pitch quality: strikeout, walk, home-run and run-prevention factors",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 5,
"step": "opposing_lineup_context",
"description": "The nine hitters he faces: batter quality, platoon split against his hand, batter-versus-pitcher history, weighted by plate appearances",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"H": 0.0,
"BB": 0.15,
"SO": 0.35,
"HR": 0.0
}
},
{
"index": 6,
"step": "kpi_run_environment",
"description": "KPI blend published; the staff line follows the published score, not a KPI rescale",
"stats": {},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 7,
"step": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_SO": 7.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
},
{
"index": 8,
"step": "play_by_play_realization",
"description": "Integer line taken from the realized game: every out, hit, walk and run he is charged with is a play",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 3.0,
"predicted_H": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 4.0,
"predicted_R": 3.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_ER",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 2.0,
"delta": -5.0,
"percent_delta": -0.7143,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_ER",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 7.0,
"after": 2.0,
"delta": -5.0,
"percent_delta": -0.7143,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
}
},
{
"index": 9,
"step": "current_json_final",
"description": "Published player line stored in the game JSON (model predictions and finalized integer line)",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 3.0,
"predicted_H": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 4.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
}
}
],
"total_change": {
"from_step": "pitcher_rate_projection",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_ER",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 2.0,
"delta": -5.0,
"percent_delta": -0.7143,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_ER",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 7.0,
"after": 2.0,
"delta": -5.0,
"percent_delta": -0.7143,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
},
"team_form_snapshot": {
"method": "team_form_snapshot",
"role": "pitcher",
"edges": {
"quality_edge": -0.1938,
"offense_edge": -0.0072,
"opponent_offense_edge": 0.1441,
"defense_strength": 0.0679,
"opponent_defense_weakness": -0.1767,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 0.9885,
"run_prevention": 1.026,
"strikeout": 0.9827
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "601713",
"profile": {
"available": true,
"pitcher_id": "601713",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 100.0,
"k_percent": 30.0,
"bb_percent": 5.7,
"woba": 0.249,
"xwoba": 0.277,
"sweet_spot_percent": 34.8,
"barrel_batted_rate": 10.1,
"hard_hit_percent": 38.2,
"avg_best_speed": 80.1978,
"avg_hyper_speed": 93.7991,
"whiff_percent": 22.8,
"swing_percent": 47.8
},
"league_medians": {
"pa": 134.0,
"k_percent": 22.1,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6432,
"avg_hyper_speed": 93.9005,
"whiff_percent": 25.2,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.5062,
"command_and_miss": 0.5629,
"regression_edge": -0.8,
"xwoba_edge": 1.0,
"barrel_edge": -0.6444,
"hard_hit_edge": -0.0429,
"whiff_edge": -0.3429,
"bb_edge": 0.875,
"pitch_design_score": -0.0365
},
"quality_score": 0.1561,
"sample_weight": 0.45,
"run_prevention_factor": 0.9867,
"strikeout_factor": 1.0141,
"walk_factor": 0.9685,
"homer_factor": 1.0105,
"woba_minus_xwoba": -0.028,
"regression_flag": "neutral",
"espn_rank": {
"available": false,
"player_id": "601713",
"espn_rank": null
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.994,
"adjusted": 1
},
"predicted_H": {
"original": 3.0,
"factor": 0.994,
"adjusted": 3
},
"predicted_BB": {
"original": 1.0,
"factor": 0.9858,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0047,
"adjusted": 0
},
"predicted_SO": {
"original": 5.0,
"factor": 1.0063,
"adjusted": 5
}
}
},
"club_form": "game.<side>_team.predicted_performance.team_form"
},
"simulation_box_score_stats": {
"IP": 4.0,
"H": 4,
"R": 3,
"ER": 3,
"BB": 1,
"SO": 2,
"HR": 0,
"BF": 19,
"Pitches": 69,
"source": "play_by_play_realizer_v1",
"predicted_R": 3,
"predicted_ER": 3
}
},
"findings": [
{
"code": "PARTIAL_PRIOR_HISTORY",
"severity": "warning",
"title": "Only 9 prior appearances available",
"detail": "The requested last-10 window is incomplete, so recent-form averages have a smaller and less stable sample."
},
{
"code": "ER_WITHIN_ONE",
"severity": "good",
"title": "Earned runs within one",
"detail": "Actual minus predicted earned runs was -1."
}
],
"provenance": {
"prediction": "output/games/20261006_MIL@SD.json (current server JSON; no revision substitution)",
"pregame_season": "embedded season totals in the current server JSON; ESPN metrics are retained in the model context",
"prior_history": "data/all_players_stats.csv; unique real appearances strictly before the target date",
"target_game": "Official MLB Stats API live game feed",
"postgame_season": "derived from pregame season totals plus the official target-game starter line"
}
} |