| 20260914 | 20260914_ATL@CHC | away | Reynaldo López | Reynaldo López | True | 4.2 | 3.0 | -5 | 3 | 5 | 2 | 5/6 | 2/2 | 4/2 | Last 10 before this game (10 available){
"model_context": {
"embedded_season": {
"ERA": 4.1266375545851535,
"WHIP": 1.3886462882096071,
"IP": 76.1,
"games_started": null,
"games_pitched": 25,
"role_avg_IP": 4.528,
"recent_avg_IP": 4.933,
"last_start_IP": 4.2,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": -0.2631,
"sample_weight": 1.0,
"run_prevention_factor": 1.0224,
"strikeout_factor": 0.9823,
"walk_factor": 1.01,
"homer_factor": 1.0189,
"regression_flag": "neutral",
"k_percent": 21.6,
"bb_percent": 9.7,
"woba": 0.329,
"xwoba": 0.335,
"barrel_percent": 7.6,
"hard_hit_percent": 36.2,
"whiff_percent": 22.3
},
"espn_rank": {
"rank": 254,
"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": 25.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8333,
"prior_weight": 0.1667
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "625643",
"report_date": "20260914",
"season_year": 2026,
"rows_used": 25,
"reference_playing_time": 4.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 24.2,
"ER": 16.0,
"R": 16.0,
"H": 29.0,
"BB": 10.0,
"SO": 25.0,
"HR": 5.0,
"BF": 110.0,
"Pitches": 419.0
},
"per_game": {
"IP": 5.0,
"ER": 3.2,
"R": 3.2,
"H": 5.8,
"BB": 2.0,
"SO": 5.0,
"HR": 1.0,
"BF": 22.0,
"Pitches": 83.8
},
"rates": {
"ERA": 5.8378,
"WHIP": 1.5811,
"ER_per_IP": 0.64865,
"H_per_IP": 1.17568,
"BB_per_IP": 0.40541,
"SO_per_IP": 1.01351,
"HR_per_IP": 0.2027
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 38.2,
"ER": 18.0,
"R": 19.0,
"H": 37.0,
"BB": 14.0,
"SO": 37.0,
"HR": 5.0,
"BF": 163.0,
"Pitches": 657.0
},
"per_game": {
"IP": 4.0,
"ER": 1.8,
"R": 1.9,
"H": 3.7,
"BB": 1.4,
"SO": 3.7,
"HR": 0.5,
"BF": 16.3,
"Pitches": 65.7
},
"rates": {
"ERA": 4.1897,
"WHIP": 1.319,
"ER_per_IP": 0.46552,
"H_per_IP": 0.9569,
"BB_per_IP": 0.36207,
"SO_per_IP": 0.9569,
"HR_per_IP": 0.12931
}
},
"season": {
"games": 25,
"totals": {
"IP": 76.1,
"ER": 35.0,
"R": 39.0,
"H": 74.0,
"BB": 32.0,
"SO": 71.0,
"HR": 11.0,
"BF": 329.0,
"Pitches": 1306.0
},
"per_game": {
"IP": 3.0,
"ER": 1.4,
"R": 1.56,
"H": 2.96,
"BB": 1.28,
"SO": 2.84,
"HR": 0.44,
"BF": 13.16,
"Pitches": 52.24
},
"rates": {
"ERA": 4.1266,
"WHIP": 1.3886,
"ER_per_IP": 0.45852,
"H_per_IP": 0.96943,
"BB_per_IP": 0.41921,
"SO_per_IP": 0.93013,
"HR_per_IP": 0.1441
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 4.1,
"predicted_ER": 2.332,
"predicted_H": 4.51,
"predicted_BB": 1.683,
"predicted_SO": 4.193,
"predicted_HR": 0.701,
"predicted_ERA": 4.8584,
"predicted_WHIP": 1.4337
}
},
"model_form_blend_trace": {
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4204,
"form_weight": 0.5796,
"form_reliability": 0.8333,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 25.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8333,
"prior_weight": 0.1667
},
"applied_metrics": {
"predicted_IP": {
"model": 4.2,
"form": 4.1,
"final": 4.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 2.332,
"final": 2.6128,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 4.51,
"final": 4.716,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.683,
"final": 1.8163,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 4.193,
"final": 4.1119,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 3.0,
"form": 0.701,
"final": 1.6676,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.8584,
"final": 4.8584,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4337,
"final": 1.4337,
"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.2,
"ER": 18,
"H": 37,
"BB": 14,
"SO": 37,
"HR": 5,
"ERA": 4.189655172413794,
"WHIP": 1.3189655172413794,
"K9": 8.612068965517242,
"HR9": 1.163793103448276,
"games_pitched": 10,
"quality_starts": 0,
"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-09T00:00:00"
},
"recent_form_boost": 0.9711639946522388,
"stat_evolution": [
{
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_IP": 4.666666666666667,
"predicted_ER": 3.0,
"predicted_H": 5.0,
"predicted_BB": 2.0,
"predicted_SO": 4.0,
"predicted_HR": 3.0
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 25.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8333,
"prior_weight": 0.1667
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "625643",
"player_name": "Reynaldo L\u00f3pez",
"position": "Starter",
"team": "ATL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"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": 5.0,
"predicted_HR": 3.0,
"predicted_IP": 4.6667,
"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
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 3.0,
"predicted_H": 5.0,
"predicted_HR": 3.0,
"predicted_IP": 4.2,
"predicted_R": 3.0,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.2,
"delta": -0.4667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"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": 4.6667,
"after": 4.2,
"delta": -0.4667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.2,
"delta": -0.4667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"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": 4.6667,
"after": 4.2,
"delta": -0.4667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
},
"team_form_snapshot": {
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ATL",
"games": 150,
"wins": 88,
"losses": 62,
"win_pct": 0.5867,
"runs_scored": 693.0,
"runs_allowed": 577.0,
"run_differential": 116.0,
"run_differential_per_game": 0.7733,
"avg_runs_scored": 4.62,
"avg_runs_allowed": 3.8467,
"offense_index": 1.0279,
"defense_index": 1.1685,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.2,
"run_differential": -2.0
},
"available": true,
"quality_score": 0.1683
},
"opponent": {
"team": "CHC",
"games": 150,
"wins": 83,
"losses": 67,
"win_pct": 0.5533,
"runs_scored": 799.0,
"runs_allowed": 661.0,
"run_differential": 138.0,
"run_differential_per_game": 0.92,
"avg_runs_scored": 5.3267,
"avg_runs_allowed": 4.4067,
"offense_index": 1.1851,
"defense_index": 1.02,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 4.2,
"run_differential": 6.0
},
"available": true,
"quality_score": 0.1579
},
"edges": {
"quality_edge": 0.0104,
"offense_edge": 0.0279,
"opponent_offense_edge": 0.1851,
"defense_strength": 0.1685,
"opponent_defense_weakness": -0.02,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 0.9981,
"run_prevention": 1.0122,
"strikeout": 0.9855
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "625643",
"profile": {
"available": true,
"pitcher_id": "625643",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 298.0,
"k_percent": 21.6,
"bb_percent": 9.7,
"woba": 0.329,
"xwoba": 0.335,
"sweet_spot_percent": 38.4,
"barrel_batted_rate": 7.6,
"hard_hit_percent": 36.2,
"avg_best_speed": 76.3154,
"avg_hyper_speed": 93.6902,
"whiff_percent": 22.3,
"swing_percent": 45.7
},
"league_medians": {
"pa": 130.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6536,
"avg_hyper_speed": 93.9166,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.3454,
"command_and_miss": -0.1857,
"regression_edge": -0.1714,
"xwoba_edge": -0.6571,
"barrel_edge": -0.1111,
"hard_hit_edge": 0.2429,
"whiff_edge": -0.3857,
"bb_edge": -0.125,
"pitch_design_score": -0.0526
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "625643",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 81,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 81,
"pitch_usage": 0.0,
"release_speed": 88.90966948030467,
"release_spin_rate": 2158.430839119507,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 81,
"pitch_usage": 0.0,
"release_speed": 88.90966948030467,
"release_spin_rate": 2158.430839119507,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.9097,
"release_spin_rate": 2158.4308,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0526,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.3757,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.2631,
"sample_weight": 1.0,
"run_prevention_factor": 1.0224,
"strikeout_factor": 0.9823,
"walk_factor": 1.01,
"homer_factor": 1.0189,
"woba_minus_xwoba": -0.006,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "625643",
"espn_id": 33860,
"player_name": "Reynaldo Lopez",
"team": "ATL",
"role": "pitcher",
"espn_rank": 254,
"espn_total_ranked": 861,
"metrics": {
"espn_rank": 254,
"gp_value": 25.0,
"gp_rank": "329",
"gs_value": 12.0,
"gs_rank": "159",
"qs_value": 1.0,
"qs_rank": "178",
"era_value": 4.1266,
"era_rank": null,
"w_value": 4.0,
"w_rank": "192",
"l_value": 4.0,
"l_rank": "190",
"sv_value": 0.0,
"sv_rank": "251",
"hld_value": 1.0,
"hld_rank": "272",
"ip_value": 76.1,
"ip_rank": "171",
"h_value": 74.0,
"h_rank": "157",
"er_value": 35.0,
"er_rank": "168",
"hr_value": 11.0,
"hr_rank": "150",
"bb_value": 32.0,
"bb_rank": "151",
"k_value": 71.0,
"k_rank": "183",
"k_per_9_value": 8.371179,
"k_per_9_rank": 28.0,
"whip_value": 1.3886,
"whip_rank": null,
"war_value": 0.54,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0224,
"adjusted": 3
},
"predicted_H": {
"original": 5.0,
"factor": 1.0224,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 1.01,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0189,
"adjusted": 1
},
"predicted_SO": {
"original": 5.0,
"factor": 0.9823,
"adjusted": 5
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 4.2,
"predicted_H": 5,
"predicted_R": 3,
"predicted_ER": 3,
"predicted_BB": 2,
"predicted_SO": 4,
"predicted_HR": 3,
"box_score_synced": true,
"BF": 21,
"Pitches": 91,
"published_line_source": "scoring_simulation.box_score"
}
},
"findings": [
{
"code": "MATERIAL_ER_MISS",
"severity": "warning",
"title": "Earned-run miss of 2",
"detail": "Actual minus predicted earned runs was +2."
},
{
"code": "HOMER_COMPONENT_MISS",
"severity": "warning",
"title": "Home-run component missed",
"detail": "Actual minus predicted home runs was -3."
}
],
"provenance": {
"prediction": "output/games/20260914_ATL@CHC.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"
}
} |
| 20260914 | 20260914_ATL@CHC | home | David Peterson | David Peterson | True | 4.1 | 6.0 | 5 | 4 | 1 | -3 | 6/3 | 3/3 | 6/7 | Last 10 before this game (10 available){
"model_context": {
"embedded_season": {
"ERA": 5.276649746192893,
"WHIP": 1.5761421319796953,
"IP": 131.1,
"games_started": null,
"games_pitched": 29,
"role_avg_IP": 4.967,
"recent_avg_IP": 4.8,
"last_start_IP": 4.1,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": -0.3554,
"sample_weight": 1.0,
"run_prevention_factor": 1.0302,
"strikeout_factor": 0.9691,
"walk_factor": 1.012,
"homer_factor": 1.0261,
"regression_flag": "neutral",
"k_percent": 19.5,
"bb_percent": 9.8,
"woba": 0.341,
"xwoba": 0.341,
"barrel_percent": 6.3,
"hard_hit_percent": 40.6,
"whiff_percent": 22.1
},
"espn_rank": {
"rank": 831,
"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": "656849",
"report_date": "20260914",
"season_year": 2026,
"rows_used": 29,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 20.1,
"ER": 11.0,
"R": 11.0,
"H": 23.0,
"BB": 13.0,
"SO": 23.0,
"HR": 3.0,
"BF": 96.0,
"Pitches": 387.0
},
"per_game": {
"IP": 4.0,
"ER": 2.2,
"R": 2.2,
"H": 4.6,
"BB": 2.6,
"SO": 4.6,
"HR": 0.6,
"BF": 19.2,
"Pitches": 77.4
},
"rates": {
"ERA": 4.8689,
"WHIP": 1.7705,
"ER_per_IP": 0.54098,
"H_per_IP": 1.13115,
"BB_per_IP": 0.63934,
"SO_per_IP": 1.13115,
"HR_per_IP": 0.14754
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 49.0,
"ER": 18.0,
"R": 20.0,
"H": 50.0,
"BB": 22.0,
"SO": 47.0,
"HR": 5.0,
"BF": 217.0,
"Pitches": 843.0
},
"per_game": {
"IP": 5.0,
"ER": 1.8,
"R": 2.0,
"H": 5.0,
"BB": 2.2,
"SO": 4.7,
"HR": 0.5,
"BF": 21.7,
"Pitches": 84.3
},
"rates": {
"ERA": 3.3061,
"WHIP": 1.4694,
"ER_per_IP": 0.36735,
"H_per_IP": 1.02041,
"BB_per_IP": 0.44898,
"SO_per_IP": 0.95918,
"HR_per_IP": 0.10204
}
},
"season": {
"games": 29,
"totals": {
"IP": 131.1,
"ER": 77.0,
"R": 84.0,
"H": 148.0,
"BB": 59.0,
"SO": 117.0,
"HR": 14.0,
"BF": 599.0,
"Pitches": 2217.0
},
"per_game": {
"IP": 4.2,
"ER": 2.6552,
"R": 2.8966,
"H": 5.1034,
"BB": 2.0345,
"SO": 4.0345,
"HR": 0.4828,
"BF": 20.6552,
"Pitches": 76.4483
},
"rates": {
"ERA": 5.2766,
"WHIP": 1.5761,
"ER_per_IP": 0.58629,
"H_per_IP": 1.1269,
"BB_per_IP": 0.44924,
"SO_per_IP": 0.89086,
"HR_per_IP": 0.1066
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 4.2,
"predicted_ER": 2.242,
"predicted_H": 4.899,
"predicted_BB": 2.329,
"predicted_SO": 4.607,
"predicted_HR": 0.579,
"predicted_ERA": 4.426,
"predicted_WHIP": 1.5853
}
},
"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": 5.0,
"form": 4.2,
"final": 4.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 2.242,
"final": 2.9666,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 4.899,
"final": 5.3528,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 2.329,
"final": 2.6056,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 6.0,
"form": 4.607,
"final": 5.1811,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.579,
"final": 0.3404,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.426,
"final": 4.426,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5853,
"final": 1.5853,
"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": 49.0,
"ER": 18,
"H": 50,
"BB": 22,
"SO": 47,
"HR": 5,
"ERA": 3.3061224489795924,
"WHIP": 1.4693877551020411,
"K9": 8.632653061224492,
"HR9": 0.9183673469387756,
"games_pitched": 10,
"quality_starts": 3,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-09-08T00:00:00"
},
"recent_form_boost": 0.8755271192124077,
"stat_evolution": [
{
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_IP": 5.0,
"predicted_ER": 4.0,
"predicted_H": 6.0,
"predicted_BB": 3.0,
"predicted_SO": 6.0,
"predicted_HR": 0.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": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_IP": 4.1,
"predicted_ER": 4,
"predicted_H": 6,
"predicted_BB": 3,
"predicted_SO": 6,
"predicted_HR": 0
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "656849",
"player_name": "David Peterson",
"position": "Starter",
"team": "CHC",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 4.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"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
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 4.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 4.1,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 4.1,
"delta": -0.9,
"percent_delta": -0.18,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"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": 5.0,
"after": 4.1,
"delta": -0.9,
"percent_delta": -0.18,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 4.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 4.1,
"predicted_R": 4.0,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.1,
"after": 4.1,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 4.1,
"delta": -0.9,
"percent_delta": -0.18,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"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": 5.0,
"after": 4.1,
"delta": -0.9,
"percent_delta": -0.18,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
},
"team_form_snapshot": {
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHC",
"games": 150,
"wins": 83,
"losses": 67,
"win_pct": 0.5533,
"runs_scored": 799.0,
"runs_allowed": 661.0,
"run_differential": 138.0,
"run_differential_per_game": 0.92,
"avg_runs_scored": 5.3267,
"avg_runs_allowed": 4.4067,
"offense_index": 1.1851,
"defense_index": 1.02,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 4.2,
"run_differential": 6.0
},
"available": true,
"quality_score": 0.1579
},
"opponent": {
"team": "ATL",
"games": 150,
"wins": 88,
"losses": 62,
"win_pct": 0.5867,
"runs_scored": 693.0,
"runs_allowed": 577.0,
"run_differential": 116.0,
"run_differential_per_game": 0.7733,
"avg_runs_scored": 4.62,
"avg_runs_allowed": 3.8467,
"offense_index": 1.0279,
"defense_index": 1.1685,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.0,
"avg_runs_allowed": 4.2,
"run_differential": -2.0
},
"available": true,
"quality_score": 0.1683
},
"edges": {
"quality_edge": -0.0104,
"offense_edge": 0.1851,
"opponent_offense_edge": 0.0279,
"defense_strength": 0.02,
"opponent_defense_weakness": -0.1685,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 0.9991,
"run_prevention": 1.003,
"strikeout": 0.9975
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656849",
"profile": {
"available": true,
"pitcher_id": "656849",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 574.0,
"k_percent": 19.5,
"bb_percent": 9.8,
"woba": 0.341,
"xwoba": 0.341,
"sweet_spot_percent": 34.8,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 40.6,
"avg_best_speed": 78.04,
"avg_hyper_speed": 94.4307,
"whiff_percent": 22.1,
"swing_percent": 46.0
},
"league_medians": {
"pa": 130.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6536,
"avg_hyper_speed": 93.9166,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.4709,
"command_and_miss": -0.3357,
"regression_edge": 0.0,
"xwoba_edge": -0.8286,
"barrel_edge": 0.1778,
"hard_hit_edge": -0.3857,
"whiff_edge": -0.4143,
"bb_edge": -0.15,
"pitch_design_score": -0.0546
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "656849",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 78,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 78,
"pitch_usage": 0.0,
"release_speed": 88.87458474625387,
"release_spin_rate": 2121.7196924176556,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 78,
"pitch_usage": 0.0,
"release_speed": 88.87458474625387,
"release_spin_rate": 2121.7196924176556,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.8746,
"release_spin_rate": 2121.7197,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0546,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.3897,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.3554,
"sample_weight": 1.0,
"run_prevention_factor": 1.0302,
"strikeout_factor": 0.9691,
"walk_factor": 1.012,
"homer_factor": 1.0261,
"woba_minus_xwoba": 0.0,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656849",
"espn_id": 40921,
"player_name": "David Peterson",
"team": "CHC",
"role": "pitcher",
"espn_rank": 831,
"espn_total_ranked": 861,
"metrics": {
"espn_rank": 831,
"gp_value": 29.0,
"gp_rank": "244",
"gs_value": 20.0,
"gs_rank": "100",
"qs_value": 3.0,
"qs_rank": "141",
"era_value": 5.2766,
"era_rank": null,
"w_value": 7.0,
"w_rank": "87",
"l_value": 8.0,
"l_rank": "64",
"sv_value": 1.0,
"sv_rank": "140",
"hld_value": 1.0,
"hld_rank": "272",
"ip_value": 131.1,
"ip_rank": "84",
"h_value": 148.0,
"h_rank": "25",
"er_value": 77.0,
"er_rank": "18",
"hr_value": 14.0,
"hr_rank": "109",
"bb_value": 59.0,
"bb_rank": "18",
"k_value": 117.0,
"k_rank": "78",
"k_per_9_value": 8.017767,
"k_per_9_rank": 25.0,
"whip_value": 1.5761,
"whip_rank": null,
"war_value": -0.82,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0302,
"adjusted": 3
},
"predicted_H": {
"original": 6.0,
"factor": 1.0302,
"adjusted": 6
},
"predicted_BB": {
"original": 3.0,
"factor": 1.012,
"adjusted": 3
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0261,
"adjusted": 1
},
"predicted_SO": {
"original": 5.0,
"factor": 0.9691,
"adjusted": 5
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 4.1,
"predicted_H": 6,
"predicted_R": 4,
"predicted_ER": 4,
"predicted_BB": 3,
"predicted_SO": 6,
"predicted_HR": 0,
"box_score_synced": true,
"BF": 22,
"Pitches": 91,
"published_line_source": "scoring_simulation.box_score"
}
},
"findings": [
{
"code": "DIRECT_ER_MISS",
"severity": "error",
"title": "Earned-run miss of 3",
"detail": "Actual minus predicted earned runs was -3."
},
{
"code": "QUALITY_START_CLASSIFICATION_MISS",
"severity": "warning",
"title": "Quality-start classification was wrong",
"detail": "Projected quality start: False; actual quality start: True."
}
],
"provenance": {
"prediction": "output/games/20260914_ATL@CHC.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"
}
} |
| 20260914 | 20260914_BAL@NYM | away | Brandon Young | Brandon Young | True | 5.1 | 5.0 | -1 | 3 | 1 | -2 | 6/5 | 1/5 | 8/6 | Last 10 before this game (10 available){
"model_context": {
"embedded_season": {
"ERA": 3.7109004739336497,
"WHIP": 1.3507109004739337,
"IP": 140.2,
"games_started": null,
"games_pitched": 25,
"role_avg_IP": 5.627,
"recent_avg_IP": 5.4,
"last_start_IP": 3.2,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": -0.1743,
"sample_weight": 1.0,
"run_prevention_factor": 1.0148,
"strikeout_factor": 0.9697,
"walk_factor": 0.982,
"homer_factor": 1.0083,
"regression_flag": "neutral",
"k_percent": 18.5,
"bb_percent": 8.3,
"woba": 0.325,
"xwoba": 0.322,
"barrel_percent": 6.7,
"hard_hit_percent": 39.1,
"whiff_percent": 23.2
},
"espn_rank": {
"rank": 93,
"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": 25.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8333,
"prior_weight": 0.1667
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "687064",
"report_date": "20260914",
"season_year": 2026,
"rows_used": 25,
"reference_playing_time": 5.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 27.0,
"ER": 16.0,
"R": 16.0,
"H": 31.0,
"BB": 9.0,
"SO": 19.0,
"HR": 8.0,
"BF": 118.0,
"Pitches": 441.0
},
"per_game": {
"IP": 5.1,
"ER": 3.2,
"R": 3.2,
"H": 6.2,
"BB": 1.8,
"SO": 3.8,
"HR": 1.6,
"BF": 23.6,
"Pitches": 88.2
},
"rates": {
"ERA": 5.3333,
"WHIP": 1.4815,
"ER_per_IP": 0.59259,
"H_per_IP": 1.14815,
"BB_per_IP": 0.33333,
"SO_per_IP": 0.7037,
"HR_per_IP": 0.2963
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 56.1,
"ER": 26.0,
"R": 27.0,
"H": 57.0,
"BB": 19.0,
"SO": 45.0,
"HR": 11.0,
"BF": 242.0,
"Pitches": 926.0
},
"per_game": {
"IP": 5.2,
"ER": 2.6,
"R": 2.7,
"H": 5.7,
"BB": 1.9,
"SO": 4.5,
"HR": 1.1,
"BF": 24.2,
"Pitches": 92.6
},
"rates": {
"ERA": 4.1538,
"WHIP": 1.3491,
"ER_per_IP": 0.46154,
"H_per_IP": 1.01183,
"BB_per_IP": 0.33728,
"SO_per_IP": 0.79882,
"HR_per_IP": 0.19527
}
},
"season": {
"games": 25,
"totals": {
"IP": 140.2,
"ER": 58.0,
"R": 67.0,
"H": 140.0,
"BB": 50.0,
"SO": 112.0,
"HR": 20.0,
"BF": 605.0,
"Pitches": 2258.0
},
"per_game": {
"IP": 5.2,
"ER": 2.32,
"R": 2.68,
"H": 5.6,
"BB": 2.0,
"SO": 4.48,
"HR": 0.8,
"BF": 24.2,
"Pitches": 90.32
},
"rates": {
"ERA": 3.7109,
"WHIP": 1.3507,
"ER_per_IP": 0.41232,
"H_per_IP": 0.99526,
"BB_per_IP": 0.35545,
"SO_per_IP": 0.79621,
"HR_per_IP": 0.14218
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.1,
"predicted_ER": 2.798,
"predicted_H": 5.783,
"predicted_BB": 1.891,
"predicted_SO": 4.313,
"predicted_HR": 1.187,
"predicted_ERA": 4.5894,
"predicted_WHIP": 1.3988
}
},
"model_form_blend_trace": {
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4204,
"form_weight": 0.5796,
"form_reliability": 0.8333,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 25.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8333,
"prior_weight": 0.1667
},
"applied_metrics": {
"predicted_IP": {
"model": 5.1,
"form": 5.1,
"final": 5.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 2.798,
"final": 2.8829,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 5.783,
"final": 5.8742,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.891,
"final": 1.5164,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 6.0,
"form": 4.313,
"final": 5.0223,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 2.0,
"form": 1.187,
"final": 1.5288,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.5894,
"final": 4.5894,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3988,
"final": 1.3988,
"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": 56.1,
"ER": 26,
"H": 57,
"BB": 19,
"SO": 45,
"HR": 11,
"ERA": 4.153846153846153,
"WHIP": 1.349112426035503,
"K9": 7.189349112426036,
"HR9": 1.7573964497041419,
"games_pitched": 10,
"quality_starts": 5,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-09-08T00:00:00"
},
"recent_form_boost": 0.9678891527832324,
"stat_evolution": [
{
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_IP": 5.333333333333333,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_BB": 1.0,
"predicted_SO": 6.0,
"predicted_HR": 2.0
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 25.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8333,
"prior_weight": 0.1667
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "687064",
"player_name": "Brandon Young",
"position": "Starter",
"team": "BAL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"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": 6.0,
"predicted_HR": 2.0,
"predicted_IP": 5.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
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_HR": 2.0,
"predicted_IP": 5.1,
"predicted_R": 3.0,
"predicted_SO": 8.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 8.0,
"delta": 2.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 6.0,
"after": 8.0,
"delta": 2.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 8.0,
"delta": 2.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 6.0,
"after": 8.0,
"delta": 2.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "neutral"
}
}
},
"team_form_snapshot": {
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "BAL",
"games": 150,
"wins": 72,
"losses": 78,
"win_pct": 0.48,
"runs_scored": 672.0,
"runs_allowed": 707.0,
"run_differential": -35.0,
"run_differential_per_game": -0.2333,
"avg_runs_scored": 4.48,
"avg_runs_allowed": 4.7133,
"offense_index": 0.9959,
"defense_index": 0.9544,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 5.2,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.1155
},
"opponent": {
"team": "NYM",
"games": 149,
"wins": 69,
"losses": 80,
"win_pct": 0.4631,
"runs_scored": 643.0,
"runs_allowed": 677.0,
"run_differential": -34.0,
"run_differential_per_game": -0.2282,
"avg_runs_scored": 4.3154,
"avg_runs_allowed": 4.5436,
"offense_index": 0.9593,
"defense_index": 0.99,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 7.6,
"avg_runs_allowed": 5.4,
"run_differential": 22.0
},
"available": true,
"quality_score": 0.0107
},
"edges": {
"quality_edge": -0.1262,
"offense_edge": -0.0041,
"opponent_offense_edge": -0.0407,
"defense_strength": -0.0456,
"opponent_defense_weakness": 0.01,
"recent_win_pct_edge": -0.4
},
"player_factors": {
"ip": 0.9952,
"run_prevention": 1.0044,
"strikeout": 0.9995
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "687064",
"profile": {
"available": true,
"pitcher_id": "687064",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 579.0,
"k_percent": 18.5,
"bb_percent": 8.3,
"woba": 0.325,
"xwoba": 0.322,
"sweet_spot_percent": 34.6,
"barrel_batted_rate": 6.7,
"hard_hit_percent": 39.1,
"avg_best_speed": 78.5669,
"avg_hyper_speed": 94.1501,
"whiff_percent": 23.2,
"swing_percent": 49.7
},
"league_medians": {
"pa": 130.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6536,
"avg_hyper_speed": 93.9166,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.191,
"command_and_miss": -0.27,
"regression_edge": 0.0857,
"xwoba_edge": -0.2857,
"barrel_edge": 0.0889,
"hard_hit_edge": -0.1714,
"whiff_edge": -0.2571,
"bb_edge": 0.225,
"pitch_design_score": -0.0707
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "687064",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 91,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 91,
"pitch_usage": 0.0,
"release_speed": 88.58655548816917,
"release_spin_rate": 2064.3292733692897,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 91,
"pitch_usage": 0.0,
"release_speed": 88.58655548816917,
"release_spin_rate": 2064.3292733692897,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.5866,
"release_spin_rate": 2064.3293,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0707,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.5049,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.1743,
"sample_weight": 1.0,
"run_prevention_factor": 1.0148,
"strikeout_factor": 0.9697,
"walk_factor": 0.982,
"homer_factor": 1.0083,
"woba_minus_xwoba": 0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687064",
"espn_id": 4414339,
"player_name": "Brandon Young",
"team": "BAL",
"role": "pitcher",
"espn_rank": 93,
"espn_total_ranked": 861,
"metrics": {
"espn_rank": 93,
"gp_value": 25.0,
"gp_rank": "329",
"gs_value": 25.0,
"gs_rank": "66",
"qs_value": 12.0,
"qs_rank": "37",
"era_value": 3.7109,
"era_rank": null,
"w_value": 9.0,
"w_rank": "44",
"l_value": 4.0,
"l_rank": "190",
"sv_value": 0.0,
"sv_rank": "251",
"hld_value": 0.0,
"hld_rank": "354",
"ip_value": 140.2,
"ip_rank": "60",
"h_value": 140.0,
"h_rank": "39",
"er_value": 58.0,
"er_rank": "78",
"hr_value": 20.0,
"hr_rank": "40",
"bb_value": 50.0,
"bb_rank": "45",
"k_value": 112.0,
"k_rank": "84",
"k_per_9_value": 7.1658764,
"k_per_9_rank": 37.0,
"whip_value": 1.3507,
"whip_rank": null,
"war_value": 1.78,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0148,
"adjusted": 3
},
"predicted_H": {
"original": 6.0,
"factor": 1.0148,
"adjusted": 6
},
"predicted_BB": {
"original": 2.0,
"factor": 0.982,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0083,
"adjusted": 1
},
"predicted_SO": {
"original": 4.0,
"factor": 0.9697,
"adjusted": 4
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 5.1,
"predicted_H": 6,
"predicted_R": 3,
"predicted_ER": 3,
"predicted_BB": 1,
"predicted_SO": 8,
"predicted_HR": 2,
"box_score_synced": true,
"BF": 24,
"Pitches": 101,
"published_line_source": "scoring_simulation.box_score"
}
},
"findings": [
{
"code": "MATERIAL_ER_MISS",
"severity": "warning",
"title": "Earned-run miss of 2",
"detail": "Actual minus predicted earned runs was -2."
},
{
"code": "WALK_COMPONENT_MISS",
"severity": "warning",
"title": "Walk component missed",
"detail": "Actual minus predicted walks was +4."
}
],
"provenance": {
"prediction": "output/games/20260914_BAL@NYM.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"
}
} |
| 20260914 | 20260914_BAL@NYM | home | Jonah Tong | Jonah Tong | True | 5.0 | 6.0 | 3 | 1 | 0 | -1 | 6/4 | 2/1 | 5/6 | Last 10 before this game (4 available){
"model_context": {
"embedded_season": {
"ERA": 4.8,
"WHIP": 1.3333333333333333,
"IP": 15.0,
"games_started": null,
"games_pitched": 4,
"role_avg_IP": 5.0,
"recent_avg_IP": 5.0,
"last_start_IP": 5.0,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": 0.0566,
"sample_weight": 0.45,
"run_prevention_factor": 0.9952,
"strikeout_factor": 1.0023,
"walk_factor": 1.0234,
"homer_factor": 0.9735,
"regression_flag": "neutral",
"k_percent": 20.6,
"bb_percent": 11.8,
"woba": 0.294,
"xwoba": 0.297,
"barrel_percent": 6.7,
"hard_hit_percent": 31.1,
"whiff_percent": 27.3
},
"espn_rank": {
"rank": 625,
"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": 1.0
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4444,
"prior_weight": 0.5556
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "804636",
"report_date": "20260914",
"season_year": 2026,
"rows_used": 4,
"reference_playing_time": 5.333,
"windows": {
"last_5": {
"games": 4,
"totals": {
"IP": 15.0,
"ER": 8.0,
"R": 10.0,
"H": 12.0,
"BB": 8.0,
"SO": 14.0,
"HR": 2.0,
"BF": 68.0,
"Pitches": 274.0
},
"per_game": {
"IP": 3.2,
"ER": 2.0,
"R": 2.5,
"H": 3.0,
"BB": 2.0,
"SO": 3.5,
"HR": 0.5,
"BF": 17.0,
"Pitches": 68.5
},
"rates": {
"ERA": 4.8,
"WHIP": 1.3333,
"ER_per_IP": 0.53333,
"H_per_IP": 0.8,
"BB_per_IP": 0.53333,
"SO_per_IP": 0.93333,
"HR_per_IP": 0.13333
}
},
"last_10": {
"games": 4,
"totals": {
"IP": 15.0,
"ER": 8.0,
"R": 10.0,
"H": 12.0,
"BB": 8.0,
"SO": 14.0,
"HR": 2.0,
"BF": 68.0,
"Pitches": 274.0
},
"per_game": {
"IP": 3.2,
"ER": 2.0,
"R": 2.5,
"H": 3.0,
"BB": 2.0,
"SO": 3.5,
"HR": 0.5,
"BF": 17.0,
"Pitches": 68.5
},
"rates": {
"ERA": 4.8,
"WHIP": 1.3333,
"ER_per_IP": 0.53333,
"H_per_IP": 0.8,
"BB_per_IP": 0.53333,
"SO_per_IP": 0.93333,
"HR_per_IP": 0.13333
}
},
"season": {
"games": 4,
"totals": {
"IP": 15.0,
"ER": 8.0,
"R": 10.0,
"H": 12.0,
"BB": 8.0,
"SO": 14.0,
"HR": 2.0,
"BF": 68.0,
"Pitches": 274.0
},
"per_game": {
"IP": 3.2,
"ER": 2.0,
"R": 2.5,
"H": 3.0,
"BB": 2.0,
"SO": 3.5,
"HR": 0.5,
"BF": 17.0,
"Pitches": 68.5
},
"rates": {
"ERA": 4.8,
"WHIP": 1.3333,
"ER_per_IP": 0.53333,
"H_per_IP": 0.8,
"BB_per_IP": 0.53333,
"SO_per_IP": 0.93333,
"HR_per_IP": 0.13333
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 4.2,
"predicted_ER": 2.38,
"predicted_H": 4.121,
"predicted_BB": 2.039,
"predicted_SO": 4.301,
"predicted_HR": 0.649,
"predicted_ERA": 4.6648,
"predicted_WHIP": 1.3413
}
},
"model_form_blend_trace": {
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5847,
"form_weight": 0.4153,
"form_reliability": 0.4444,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4444,
"prior_weight": 0.5556
},
"applied_metrics": {
"predicted_IP": {
"model": 5.1,
"form": 4.2,
"final": 5.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 2.38,
"final": 1.5731,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 4.121,
"final": 5.2197,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 2.039,
"final": 2.0162,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 4.301,
"final": 4.7097,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.649,
"final": 0.2695,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.6648,
"final": 4.6648,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3413,
"final": 1.3413,
"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": "insufficient_data"
},
"pitching": {
"IP": 15.0,
"ER": 8,
"H": 12,
"BB": 8,
"SO": 14,
"HR": 2,
"ERA": 4.8,
"WHIP": 1.3333333333333333,
"K9": 8.4,
"HR9": 1.2,
"games_pitched": 4,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 4,
"error_prone": false
},
"games_count": 4,
"latest_game_date": "2026-09-07T00:00:00"
},
"recent_form_boost": 1.019838375485754,
"stat_evolution": [
{
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_IP": 5.333333333333333,
"predicted_ER": 1.0,
"predicted_H": 6.0,
"predicted_BB": 2.0,
"predicted_SO": 5.0,
"predicted_HR": 0.0
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4444,
"prior_weight": 0.5556
}
},
{
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_IP": 5.0,
"predicted_ER": 1,
"predicted_H": 6,
"predicted_BB": 2,
"predicted_SO": 5,
"predicted_HR": 0
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "804636",
"player_name": "Jonah Tong",
"position": "Starter",
"team": "NYM",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 1.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 5.3333,
"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
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 1.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.0,
"delta": -0.3333,
"percent_delta": -0.0625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"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": 5.3333,
"after": 5.0,
"delta": -0.3333,
"percent_delta": -0.0625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 1.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_R": 1.0,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.0,
"delta": -0.3333,
"percent_delta": -0.0625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"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": 5.3333,
"after": 5.0,
"delta": -0.3333,
"percent_delta": -0.0625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
},
"team_form_snapshot": {
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYM",
"games": 149,
"wins": 69,
"losses": 80,
"win_pct": 0.4631,
"runs_scored": 643.0,
"runs_allowed": 677.0,
"run_differential": -34.0,
"run_differential_per_game": -0.2282,
"avg_runs_scored": 4.3154,
"avg_runs_allowed": 4.5436,
"offense_index": 0.9593,
"defense_index": 0.99,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 7.6,
"avg_runs_allowed": 5.4,
"run_differential": 22.0
},
"available": true,
"quality_score": 0.0107
},
"opponent": {
"team": "BAL",
"games": 150,
"wins": 72,
"losses": 78,
"win_pct": 0.48,
"runs_scored": 672.0,
"runs_allowed": 707.0,
"run_differential": -35.0,
"run_differential_per_game": -0.2333,
"avg_runs_scored": 4.48,
"avg_runs_allowed": 4.7133,
"offense_index": 0.9959,
"defense_index": 0.9544,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 5.2,
"run_differential": -15.0
},
"available": true,
"quality_score": -0.1155
},
"edges": {
"quality_edge": 0.1262,
"offense_edge": -0.0407,
"opponent_offense_edge": -0.0041,
"defense_strength": -0.01,
"opponent_defense_weakness": 0.0456,
"recent_win_pct_edge": 0.4
},
"player_factors": {
"ip": 1.0049,
"run_prevention": 0.994,
"strikeout": 1.0041
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "804636",
"profile": {
"available": true,
"pitcher_id": "804636",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 46.0,
"k_percent": 20.6,
"bb_percent": 11.8,
"woba": 0.294,
"xwoba": 0.297,
"sweet_spot_percent": 31.1,
"barrel_batted_rate": 6.7,
"hard_hit_percent": 31.1,
"avg_best_speed": 83.1395,
"avg_hyper_speed": 93.4934,
"whiff_percent": 27.3,
"swing_percent": 50.7
},
"league_medians": {
"pa": 130.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6536,
"avg_hyper_speed": 93.9166,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.274,
"command_and_miss": -0.105,
"regression_edge": -0.0857,
"xwoba_edge": 0.4286,
"barrel_edge": 0.0889,
"hard_hit_edge": 0.9714,
"whiff_edge": 0.3286,
"bb_edge": -0.65,
"pitch_design_score": 0.1032
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "804636",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 62,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 62,
"pitch_usage": 0.0,
"release_speed": 91.6914062264094,
"release_spin_rate": 2121.2409940513935,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 62,
"pitch_usage": 0.0,
"release_speed": 91.6914062264094,
"release_spin_rate": 2121.2409940513935,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.6914,
"release_spin_rate": 2121.241,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1032,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.737,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.0566,
"sample_weight": 0.45,
"run_prevention_factor": 0.9952,
"strikeout_factor": 1.0023,
"walk_factor": 1.0234,
"homer_factor": 0.9735,
"woba_minus_xwoba": -0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "804636",
"espn_id": 5214984,
"player_name": "Jonah Tong",
"team": "NYM",
"role": "pitcher",
"espn_rank": 625,
"espn_total_ranked": 861,
"metrics": {
"espn_rank": 625,
"gp_value": 4.0,
"gp_rank": "671",
"gs_value": 1.0,
"gs_rank": "299",
"qs_value": 0.0,
"qs_rank": "210",
"era_value": 4.8,
"era_rank": null,
"w_value": 2.0,
"w_rank": "317",
"l_value": 1.0,
"l_rank": "429",
"sv_value": 0.0,
"sv_rank": "251",
"hld_value": 0.0,
"hld_rank": "354",
"ip_value": 15.0,
"ip_rank": "570",
"h_value": 12.0,
"h_rank": "610",
"er_value": 8.0,
"er_rank": "588",
"hr_value": 2.0,
"hr_rank": "530",
"bb_value": 8.0,
"bb_rank": "528",
"k_value": 14.0,
"k_rank": "547",
"k_per_9_value": 8.400001,
"k_per_9_rank": 25.0,
"whip_value": 1.3333,
"whip_rank": null,
"war_value": -0.15,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 4.0,
"factor": 0.9978,
"adjusted": 4
},
"predicted_H": {
"original": 4.0,
"factor": 0.9978,
"adjusted": 4
},
"predicted_BB": {
"original": 1.0,
"factor": 1.0105,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 0.9881,
"adjusted": 1
},
"predicted_SO": {
"original": 7.0,
"factor": 1.001,
"adjusted": 7
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 5.0,
"predicted_H": 6,
"predicted_R": 1,
"predicted_ER": 1,
"predicted_BB": 2,
"predicted_SO": 5,
"predicted_HR": 0,
"box_score_synced": true,
"BF": 25,
"Pitches": 96,
"published_line_source": "scoring_simulation.box_score"
}
},
"findings": [
{
"code": "PARTIAL_PRIOR_HISTORY",
"severity": "warning",
"title": "Only 4 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."
},
{
"code": "QUALITY_START_CLASSIFICATION_MISS",
"severity": "warning",
"title": "Quality-start classification was wrong",
"detail": "Projected quality start: False; actual quality start: True."
}
],
"provenance": {
"prediction": "output/games/20260914_BAL@NYM.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"
}
} |
| 20260914 | 20260914_CHW@CLE | away | Sean Newcomb | Sean Newcomb | True | 5.0 | 1.0 | -12 | 3 | 0 | -3 | 6/1 | 0/0 | 3/0 | Last 10 before this game (10 available){
"model_context": {
"embedded_season": {
"ERA": 2.774703557312253,
"WHIP": 1.1146245059288538,
"IP": 84.1,
"games_started": null,
"games_pitched": 53,
"role_avg_IP": 1.933,
"recent_avg_IP": 1.933,
"last_start_IP": 1.1,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": 0.1229,
"sample_weight": 1.0,
"run_prevention_factor": 0.9896,
"strikeout_factor": 0.9937,
"walk_factor": 0.99,
"homer_factor": 0.9514,
"regression_flag": "negative_pitcher_regression",
"k_percent": 22.6,
"bb_percent": 8.7,
"woba": 0.27,
"xwoba": 0.304,
"barrel_percent": 5.2,
"hard_hit_percent": 36.5,
"whiff_percent": 23.3
},
"espn_rank": {
"rank": 59,
"total_ranked": null,
"metrics": null
},
"starter_workload_floor": {
"applied": true,
"floor_IP": 5.2,
"season_IP": 84.1,
"season_ERA": 2.775,
"season_WHIP": 1.115,
"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.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 17.064,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7734,
"prior_weight": 0.2266
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "656794",
"report_date": "20260914",
"season_year": 2026,
"rows_used": 53,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 9.1,
"ER": 7.0,
"R": 7.0,
"H": 12.0,
"BB": 3.0,
"SO": 10.0,
"HR": 0.0,
"BF": 43.0,
"Pitches": 176.0
},
"per_game": {
"IP": 2.0,
"ER": 1.4,
"R": 1.4,
"H": 2.4,
"BB": 0.6,
"SO": 2.0,
"HR": 0.0,
"BF": 8.6,
"Pitches": 35.2
},
"rates": {
"ERA": 6.75,
"WHIP": 1.6071,
"ER_per_IP": 0.75,
"H_per_IP": 1.28571,
"BB_per_IP": 0.32143,
"SO_per_IP": 1.07143,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 20.0,
"ER": 7.0,
"R": 7.0,
"H": 16.0,
"BB": 7.0,
"SO": 18.0,
"HR": 0.0,
"BF": 82.0,
"Pitches": 345.0
},
"per_game": {
"IP": 2.0,
"ER": 0.7,
"R": 0.7,
"H": 1.6,
"BB": 0.7,
"SO": 1.8,
"HR": 0.0,
"BF": 8.2,
"Pitches": 34.5
},
"rates": {
"ERA": 3.15,
"WHIP": 1.15,
"ER_per_IP": 0.35,
"H_per_IP": 0.8,
"BB_per_IP": 0.35,
"SO_per_IP": 0.9,
"HR_per_IP": 0.0
}
},
"season": {
"games": 53,
"totals": {
"IP": 84.1,
"ER": 26.0,
"R": 29.0,
"H": 64.0,
"BB": 30.0,
"SO": 78.0,
"HR": 2.0,
"BF": 343.0,
"Pitches": 1342.0
},
"per_game": {
"IP": 1.2,
"ER": 0.4906,
"R": 0.5472,
"H": 1.2075,
"BB": 0.566,
"SO": 1.4717,
"HR": 0.0377,
"BF": 6.4717,
"Pitches": 25.3208
},
"rates": {
"ERA": 2.7747,
"WHIP": 1.1146,
"ER_per_IP": 0.3083,
"H_per_IP": 0.75889,
"BB_per_IP": 0.35573,
"SO_per_IP": 0.9249,
"HR_per_IP": 0.02372
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 2.2,
"predicted_ER": 1.44,
"predicted_H": 2.786,
"predicted_BB": 0.962,
"predicted_SO": 2.702,
"predicted_HR": 0.103,
"predicted_ERA": 4.6636,
"predicted_WHIP": 1.3484
}
},
"model_form_blend_trace": {
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4457,
"form_weight": 0.5543,
"form_reliability": 0.7734,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 17.064,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7734,
"prior_weight": 0.2266
},
"applied_metrics": {
"predicted_IP": {
"model": 5.2,
"form": 2.2,
"final": 4.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 1.44,
"final": 2.1354,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 2.786,
"final": 4.2186,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.962,
"final": 0.5332,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 2.702,
"final": 2.8348,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.103,
"final": 0.0571,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.6636,
"final": 4.6636,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3484,
"final": 1.3484,
"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": 20.0,
"ER": 7,
"H": 16,
"BB": 7,
"SO": 18,
"HR": 0,
"ERA": 3.15,
"WHIP": 1.15,
"K9": 8.1,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"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-12T00:00:00"
},
"recent_form_boost": 0.9012555926726102,
"stat_evolution": [
{
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_IP": 5.666666666666667,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_BB": 0.0,
"predicted_SO": 3.0,
"predicted_HR": 0.0
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 17.064,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7734,
"prior_weight": 0.2266
}
},
{
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_IP": 5.0,
"predicted_ER": 3,
"predicted_H": 6,
"predicted_BB": 0,
"predicted_SO": 3,
"predicted_HR": 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": 3,
"predicted_H": 6,
"predicted_BB": 0,
"predicted_SO": 3,
"predicted_HR": 0
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "656794",
"player_name": "Sean Newcomb",
"position": "Starter",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 5.6667,
"predicted_SO": 3.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
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.0,
"delta": -0.6667,
"percent_delta": -0.1176,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"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": 5.6667,
"after": 5.0,
"delta": -0.6667,
"percent_delta": -0.1176,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"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": 0.0,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_R": 3.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.0,
"delta": -0.6667,
"percent_delta": -0.1177,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"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": 5.6667,
"after": 5.0,
"delta": -0.6667,
"percent_delta": -0.1177,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
},
"team_form_snapshot": {
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHW",
"games": 149,
"wins": 76,
"losses": 73,
"win_pct": 0.5101,
"runs_scored": 695.0,
"runs_allowed": 661.0,
"run_differential": 34.0,
"run_differential_per_game": 0.2282,
"avg_runs_scored": 4.6644,
"avg_runs_allowed": 4.4362,
"offense_index": 1.0369,
"defense_index": 1.014,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 4.4,
"run_differential": -9.0
},
"available": true,
"quality_score": -0.0335
},
"opponent": {
"team": "CLE",
"games": 150,
"wins": 76,
"losses": 74,
"win_pct": 0.5067,
"runs_scored": 615.0,
"runs_allowed": 622.0,
"run_differential": -7.0,
"run_differential_per_game": -0.0467,
"avg_runs_scored": 4.1,
"avg_runs_allowed": 4.1467,
"offense_index": 0.9115,
"defense_index": 1.0848,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.9,
"avg_runs_allowed": 4.5,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.035
},
"edges": {
"quality_edge": -0.0685,
"offense_edge": 0.0369,
"opponent_offense_edge": -0.0885,
"defense_strength": 0.014,
"opponent_defense_weakness": -0.0848,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 1.0012,
"run_prevention": 0.9879,
"strikeout": 1.005
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656794",
"profile": {
"available": true,
"pitcher_id": "656794",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 326.0,
"k_percent": 22.6,
"bb_percent": 8.7,
"woba": 0.27,
"xwoba": 0.304,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 5.2,
"hard_hit_percent": 36.5,
"avg_best_speed": 77.1166,
"avg_hyper_speed": 93.7322,
"whiff_percent": 23.3,
"swing_percent": 45.5
},
"league_medians": {
"pa": 130.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6536,
"avg_hyper_speed": 93.9166,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.4039,
"command_and_miss": -0.0214,
"regression_edge": -0.9714,
"xwoba_edge": 0.2286,
"barrel_edge": 0.4222,
"hard_hit_edge": 0.2,
"whiff_edge": -0.2429,
"bb_edge": 0.125,
"pitch_design_score": -0.007
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "656794",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 37,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 37,
"pitch_usage": 0.0,
"release_speed": 89.72425840830473,
"release_spin_rate": 2442.3557937668493,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 37,
"pitch_usage": 0.0,
"release_speed": 89.72425840830473,
"release_spin_rate": 2442.3557937668493,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.7243,
"release_spin_rate": 2442.3558,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.007,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0498,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.1229,
"sample_weight": 1.0,
"run_prevention_factor": 0.9896,
"strikeout_factor": 0.9937,
"walk_factor": 0.99,
"homer_factor": 0.9514,
"woba_minus_xwoba": -0.034,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "656794",
"espn_id": 33856,
"player_name": "Sean Newcomb",
"team": "CHW",
"role": "pitcher",
"espn_rank": 59,
"espn_total_ranked": 861,
"metrics": {
"espn_rank": 59,
"gp_value": 54.0,
"gp_rank": "86",
"gs_value": 5.0,
"gs_rank": "221",
"qs_value": 0.0,
"qs_rank": "210",
"era_value": 2.7747,
"era_rank": null,
"w_value": 2.0,
"w_rank": "317",
"l_value": 4.0,
"l_rank": "190",
"sv_value": 4.0,
"sv_rank": "54",
"hld_value": 11.0,
"hld_rank": "77",
"ip_value": 84.1,
"ip_rank": "155",
"h_value": 66.0,
"h_rank": "182",
"er_value": 26.0,
"er_rank": "236",
"hr_value": 2.0,
"hr_rank": "530",
"bb_value": 30.0,
"bb_rank": "176",
"k_value": 78.0,
"k_rank": "159",
"k_per_9_value": 8.324111,
"k_per_9_rank": 27.0,
"whip_value": 1.1383,
"whip_rank": null,
"war_value": 2.41,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9896,
"adjusted": 0
},
"predicted_H": {
"original": 1.0,
"factor": 0.9896,
"adjusted": 1
},
"predicted_BB": {
"original": 2.0,
"factor": 0.99,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9514,
"adjusted": 0
},
"predicted_SO": {
"original": 5.0,
"factor": 0.9937,
"adjusted": 5
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 5.0,
"predicted_H": 6,
"predicted_R": 3,
"predicted_ER": 3,
"predicted_BB": 0,
"predicted_SO": 3,
"predicted_HR": 0,
"box_score_synced": true,
"BF": 21,
"Pitches": 81,
"published_line_source": "scoring_simulation.box_score"
}
},
"findings": [
{
"code": "DIRECT_ER_MISS",
"severity": "error",
"title": "Earned-run miss of 3",
"detail": "Actual minus predicted earned runs was -3."
},
{
"code": "WORKLOAD_MISS",
"severity": "error",
"title": "Workload missed by at least three innings",
"detail": "The actual outing differed by -12 outs from the projected workload."
},
{
"code": "HIT_COMPONENT_MISS",
"severity": "warning",
"title": "Hits missed by 5",
"detail": "Actual minus predicted hits was -5."
},
{
"code": "MISSED_SHUTDOWN",
"severity": "error",
"title": "Model missed a shutdown outing",
"detail": "The pitcher allowed zero earned runs after a projection of 3 ER."
}
],
"provenance": {
"prediction": "output/games/20260914_CHW@CLE.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"
}
} |
| 20260914 | 20260914_CHW@CLE | home | Gavin Williams | Gavin Williams | True | 5.1 | 5.0 | -1 | 1 | 2 | 1 | 2/4 | 4/3 | 7/7 | Last 10 before this game (10 available){
"model_context": {
"embedded_season": {
"ERA": 3.7810650887573964,
"WHIP": 1.0946745562130178,
"IP": 169.0,
"games_started": null,
"games_pitched": 29,
"role_avg_IP": 5.828,
"recent_avg_IP": 4.867,
"last_start_IP": 6.0,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": 0.2301,
"sample_weight": 1.0,
"run_prevention_factor": 0.9804,
"strikeout_factor": 1.1086,
"walk_factor": 0.972,
"homer_factor": 1.1249,
"regression_flag": "neutral",
"k_percent": 33.5,
"bb_percent": 7.8,
"woba": 0.293,
"xwoba": 0.301,
"barrel_percent": 11.6,
"hard_hit_percent": 47.4,
"whiff_percent": 32.5
},
"espn_rank": {
"rank": 51,
"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": "668909",
"report_date": "20260914",
"season_year": 2026,
"rows_used": 29,
"reference_playing_time": 5.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 24.1,
"ER": 14.0,
"R": 15.0,
"H": 23.0,
"BB": 12.0,
"SO": 43.0,
"HR": 5.0,
"BF": 108.0,
"Pitches": 445.0
},
"per_game": {
"IP": 5.0,
"ER": 2.8,
"R": 3.0,
"H": 4.6,
"BB": 2.4,
"SO": 8.6,
"HR": 1.0,
"BF": 21.6,
"Pitches": 89.0
},
"rates": {
"ERA": 5.1781,
"WHIP": 1.4384,
"ER_per_IP": 0.57534,
"H_per_IP": 0.94521,
"BB_per_IP": 0.49315,
"SO_per_IP": 1.76712,
"HR_per_IP": 0.20548
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 55.2,
"ER": 23.0,
"R": 24.0,
"H": 39.0,
"BB": 16.0,
"SO": 94.0,
"HR": 10.0,
"BF": 221.0,
"Pitches": 918.0
},
"per_game": {
"IP": 5.2,
"ER": 2.3,
"R": 2.4,
"H": 3.9,
"BB": 1.6,
"SO": 9.4,
"HR": 1.0,
"BF": 22.1,
"Pitches": 91.8
},
"rates": {
"ERA": 3.7186,
"WHIP": 0.988,
"ER_per_IP": 0.41317,
"H_per_IP": 0.7006,
"BB_per_IP": 0.28743,
"SO_per_IP": 1.68862,
"HR_per_IP": 0.17964
}
},
"season": {
"games": 29,
"totals": {
"IP": 169.0,
"ER": 71.0,
"R": 75.0,
"H": 132.0,
"BB": 53.0,
"SO": 228.0,
"HR": 27.0,
"BF": 681.0,
"Pitches": 2715.0
},
"per_game": {
"IP": 5.2,
"ER": 2.4483,
"R": 2.5862,
"H": 4.5517,
"BB": 1.8276,
"SO": 7.8621,
"HR": 0.931,
"BF": 23.4828,
"Pitches": 93.6207
},
"rates": {
"ERA": 3.7811,
"WHIP": 1.0947,
"ER_per_IP": 0.42012,
"H_per_IP": 0.78107,
"BB_per_IP": 0.31361,
"SO_per_IP": 1.34911,
"HR_per_IP": 0.15976
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.1,
"predicted_ER": 2.629,
"predicted_H": 4.55,
"predicted_BB": 2.056,
"predicted_SO": 8.314,
"predicted_HR": 0.973,
"predicted_ERA": 4.4127,
"predicted_WHIP": 1.232
}
},
"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": 5.1,
"form": 5.1,
"final": 5.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 2.629,
"final": 1.9576,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 4.55,
"final": 3.499,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 4.0,
"form": 2.056,
"final": 2.8572,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 8.314,
"final": 5.7117,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.973,
"final": 0.572,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.4127,
"final": 4.4127,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.232,
"final": 1.232,
"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": 55.2,
"ER": 23,
"H": 39,
"BB": 16,
"SO": 94,
"HR": 10,
"ERA": 3.718562874251497,
"WHIP": 0.9880239520958083,
"K9": 15.19760479041916,
"HR9": 1.6167664670658681,
"games_pitched": 10,
"quality_starts": 4,
"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-06T00:00:00"
},
"recent_form_boost": 0.9098925719803411,
"stat_evolution": [
{
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_IP": 5.333333333333333,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_BB": 4.0,
"predicted_SO": 2.0,
"predicted_HR": 0.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": "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.1,
"predicted_ER": 1,
"predicted_H": 2,
"predicted_BB": 4,
"predicted_SO": 8,
"predicted_HR": 0
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "668909",
"player_name": "Gavin Williams",
"position": "Starter",
"team": "CLE",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 4.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 5.3333,
"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
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"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": 4.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 5.1,
"predicted_SO": 8.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 8.0,
"delta": 6.0,
"percent_delta": 3.0,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 8.0,
"delta": 6.0,
"percent_delta": 3.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 4.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 5.1,
"predicted_R": 1.0,
"predicted_SO": 7.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.1,
"after": 5.1,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 8.0,
"after": 7.0,
"delta": -1.0,
"percent_delta": -0.125,
"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_SO",
"before": 8.0,
"after": 7.0,
"delta": -1.0,
"percent_delta": -0.125,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 7.0,
"delta": 5.0,
"percent_delta": 2.5,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 7.0,
"delta": 5.0,
"percent_delta": 2.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "neutral"
}
}
},
"team_form_snapshot": {
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CLE",
"games": 150,
"wins": 76,
"losses": 74,
"win_pct": 0.5067,
"runs_scored": 615.0,
"runs_allowed": 622.0,
"run_differential": -7.0,
"run_differential_per_game": -0.0467,
"avg_runs_scored": 4.1,
"avg_runs_allowed": 4.1467,
"offense_index": 0.9115,
"defense_index": 1.0848,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.9,
"avg_runs_allowed": 4.5,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.035
},
"opponent": {
"team": "CHW",
"games": 149,
"wins": 76,
"losses": 73,
"win_pct": 0.5101,
"runs_scored": 695.0,
"runs_allowed": 661.0,
"run_differential": 34.0,
"run_differential_per_game": 0.2282,
"avg_runs_scored": 4.6644,
"avg_runs_allowed": 4.4362,
"offense_index": 1.0369,
"defense_index": 1.014,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 4.4,
"run_differential": -9.0
},
"available": true,
"quality_score": -0.0335
},
"edges": {
"quality_edge": 0.0685,
"offense_edge": -0.0885,
"opponent_offense_edge": 0.0369,
"defense_strength": 0.0848,
"opponent_defense_weakness": -0.014,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0038,
"run_prevention": 0.994,
"strikeout": 0.9991
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "668909",
"profile": {
"available": true,
"pitcher_id": "668909",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 652.0,
"k_percent": 33.5,
"bb_percent": 7.8,
"woba": 0.293,
"xwoba": 0.301,
"sweet_spot_percent": 35.6,
"barrel_batted_rate": 11.6,
"hard_hit_percent": 47.4,
"avg_best_speed": 79.1162,
"avg_hyper_speed": 95.0574,
"whiff_percent": 32.5,
"swing_percent": 49.0
},
"league_medians": {
"pa": 130.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6536,
"avg_hyper_speed": 93.9166,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.1071,
"command_and_miss": 1.1843,
"regression_edge": -0.2286,
"xwoba_edge": 0.3143,
"barrel_edge": -1.0,
"hard_hit_edge": -1.3571,
"whiff_edge": 1.0714,
"bb_edge": 0.35,
"pitch_design_score": 0.0628
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "668909",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 89,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 89,
"pitch_usage": 0.0,
"release_speed": 90.96950013612465,
"release_spin_rate": 2287.4904922044934,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 89,
"pitch_usage": 0.0,
"release_speed": 90.96950013612465,
"release_spin_rate": 2287.4904922044934,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 90.9695,
"release_spin_rate": 2287.4905,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0628,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.4483,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.2301,
"sample_weight": 1.0,
"run_prevention_factor": 0.9804,
"strikeout_factor": 1.1086,
"walk_factor": 0.972,
"homer_factor": 1.1249,
"woba_minus_xwoba": -0.008,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668909",
"espn_id": 4345076,
"player_name": "Gavin Williams",
"team": "CLE",
"role": "pitcher",
"espn_rank": 51,
"espn_total_ranked": 861,
"metrics": {
"espn_rank": 51,
"gp_value": 29.0,
"gp_rank": "244",
"gs_value": 29.0,
"gs_rank": "14",
"qs_value": 11.0,
"qs_rank": "47",
"era_value": 3.781,
"era_rank": 27.0,
"w_value": 13.0,
"w_rank": "12",
"l_value": 7.0,
"l_rank": "86",
"sv_value": 0.0,
"sv_rank": "251",
"hld_value": 0.0,
"hld_rank": "354",
"ip_value": 169.0,
"ip_rank": "12",
"h_value": 132.0,
"h_rank": "58",
"er_value": 71.0,
"er_rank": "27",
"hr_value": 27.0,
"hr_rank": "7",
"bb_value": 53.0,
"bb_rank": "32",
"k_value": 228.0,
"k_rank": "2",
"k_per_9_value": 12.142012,
"k_per_9_rank": 4.0,
"whip_value": 1.0946,
"whip_rank": 15.0,
"war_value": 2.6,
"war_rank": 28.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 0.9804,
"adjusted": 3
},
"predicted_H": {
"original": 5.0,
"factor": 0.9804,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 0.972,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.1249,
"adjusted": 1
},
"predicted_SO": {
"original": 8.0,
"factor": 1.1086,
"adjusted": 9
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 5.1,
"predicted_H": 2,
"predicted_R": 1,
"predicted_ER": 1,
"predicted_BB": 4,
"predicted_SO": 7,
"predicted_HR": 0,
"box_score_synced": true,
"BF": 22,
"Pitches": 101,
"published_line_source": "scoring_simulation.box_score"
}
},
"findings": [
{
"code": "ER_WITHIN_ONE",
"severity": "good",
"title": "Earned runs within one",
"detail": "Actual minus predicted earned runs was +1."
}
],
"provenance": {
"prediction": "output/games/20260914_CHW@CLE.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"
}
} |
| 20260914 | 20260914_DET@TOR | away | Troy Melton | Troy Melton | True | 6.0 | 2.2 | -10 | 3 | 2 | -1 | 7/5 | 2/4 | 6/3 | Last 10 before this game (10 available){
"model_context": {
"embedded_season": {
"ERA": 2.4166666666666665,
"WHIP": 1.0462962962962963,
"IP": 108.0,
"games_started": null,
"games_pitched": 18,
"role_avg_IP": 6.0,
"recent_avg_IP": 5.6,
"last_start_IP": 5.2,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": 0.146,
"sample_weight": 1.0,
"run_prevention_factor": 0.9876,
"strikeout_factor": 0.9834,
"walk_factor": 0.954,
"homer_factor": 0.9747,
"regression_flag": "neutral",
"k_percent": 20.0,
"bb_percent": 6.9,
"woba": 0.284,
"xwoba": 0.297,
"barrel_percent": 6.4,
"hard_hit_percent": 37.9,
"whiff_percent": 24.1
},
"espn_rank": {
"rank": 33,
"total_ranked": null,
"metrics": null
},
"starter_workload_floor": {
"applied": true,
"floor_IP": 6.0,
"season_IP": 108.0,
"season_ERA": 2.417,
"season_WHIP": 1.046,
"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.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 18.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7826,
"prior_weight": 0.2174
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "675512",
"report_date": "20260914",
"season_year": 2026,
"rows_used": 18,
"reference_playing_time": 6.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 28.0,
"ER": 16.0,
"R": 20.0,
"H": 35.0,
"BB": 6.0,
"SO": 18.0,
"HR": 5.0,
"BF": 127.0,
"Pitches": 452.0
},
"per_game": {
"IP": 5.2,
"ER": 3.2,
"R": 4.0,
"H": 7.0,
"BB": 1.2,
"SO": 3.6,
"HR": 1.0,
"BF": 25.4,
"Pitches": 90.4
},
"rates": {
"ERA": 5.1429,
"WHIP": 1.4643,
"ER_per_IP": 0.57143,
"H_per_IP": 1.25,
"BB_per_IP": 0.21429,
"SO_per_IP": 0.64286,
"HR_per_IP": 0.17857
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 58.2,
"ER": 19.0,
"R": 24.0,
"H": 54.0,
"BB": 19.0,
"SO": 46.0,
"HR": 6.0,
"BF": 245.0,
"Pitches": 917.0
},
"per_game": {
"IP": 6.0,
"ER": 1.9,
"R": 2.4,
"H": 5.4,
"BB": 1.9,
"SO": 4.6,
"HR": 0.6,
"BF": 24.5,
"Pitches": 91.7
},
"rates": {
"ERA": 2.9148,
"WHIP": 1.2443,
"ER_per_IP": 0.32386,
"H_per_IP": 0.92045,
"BB_per_IP": 0.32386,
"SO_per_IP": 0.78409,
"HR_per_IP": 0.10227
}
},
"season": {
"games": 18,
"totals": {
"IP": 108.0,
"ER": 29.0,
"R": 35.0,
"H": 83.0,
"BB": 30.0,
"SO": 87.0,
"HR": 13.0,
"BF": 434.0,
"Pitches": 1614.0
},
"per_game": {
"IP": 6.0,
"ER": 1.6111,
"R": 1.9444,
"H": 4.6111,
"BB": 1.6667,
"SO": 4.8333,
"HR": 0.7222,
"BF": 24.1111,
"Pitches": 89.6667
},
"rates": {
"ERA": 2.4167,
"WHIP": 1.0463,
"ER_per_IP": 0.26852,
"H_per_IP": 0.76852,
"BB_per_IP": 0.27778,
"SO_per_IP": 0.80556,
"HR_per_IP": 0.12037
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 6.0,
"predicted_ER": 2.6,
"predicted_H": 6.027,
"predicted_BB": 1.698,
"predicted_SO": 4.538,
"predicted_HR": 0.834,
"predicted_ERA": 3.9784,
"predicted_WHIP": 1.3133
}
},
"model_form_blend_trace": {
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4419,
"form_weight": 0.5581,
"form_reliability": 0.7826,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 18.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7826,
"prior_weight": 0.2174
},
"applied_metrics": {
"predicted_IP": {
"model": 6.0,
"form": 6.0,
"final": 6.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 2.6,
"final": 3.2186,
"source": "model_form_blend"
},
"predicted_H": {
"model": 7.0,
"form": 6.027,
"final": 6.4569,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.698,
"final": 1.8314,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 6.0,
"form": 4.538,
"final": 5.184,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.834,
"final": 0.9073,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.9784,
"final": 3.9784,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3133,
"final": 1.3133,
"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": 58.2,
"ER": 19,
"H": 54,
"BB": 19,
"SO": 46,
"HR": 6,
"ERA": 2.9147727272727275,
"WHIP": 1.2443181818181819,
"K9": 7.0568181818181825,
"HR9": 0.9204545454545455,
"games_pitched": 10,
"quality_starts": 4,
"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-07T00:00:00"
},
"recent_form_boost": 0.8258735361882888,
"stat_evolution": [
{
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_IP": 6.0,
"predicted_ER": 4.0,
"predicted_H": 7.0,
"predicted_BB": 2.0,
"predicted_SO": 6.0,
"predicted_HR": 1.0
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 18.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7826,
"prior_weight": 0.2174
}
},
{
"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.0,
"predicted_ER": 3,
"predicted_H": 7,
"predicted_BB": 2,
"predicted_SO": 6,
"predicted_HR": 1
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "675512",
"player_name": "Troy Melton",
"position": "Starter",
"team": "DET",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"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": 7.0,
"predicted_HR": 1.0,
"predicted_IP": 6.0,
"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
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"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": 7.0,
"predicted_HR": 1.0,
"predicted_IP": 6.0,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_ER",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 3.0,
"predicted_H": 7.0,
"predicted_HR": 1.0,
"predicted_IP": 6.0,
"predicted_R": 3.0,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_ER",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
},
"team_form_snapshot": {
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "DET",
"games": 149,
"wins": 70,
"losses": 79,
"win_pct": 0.4698,
"runs_scored": 666.0,
"runs_allowed": 596.0,
"run_differential": 70.0,
"run_differential_per_game": 0.4698,
"avg_runs_scored": 4.4698,
"avg_runs_allowed": 4.0,
"offense_index": 0.9937,
"defense_index": 1.1246,
"current_streak": "W4",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.6,
"avg_runs_allowed": 3.3,
"run_differential": 23.0
},
"available": true,
"quality_score": 0.0668
},
"opponent": {
"team": "TOR",
"games": 150,
"wins": 75,
"losses": 75,
"win_pct": 0.5,
"runs_scored": 608.0,
"runs_allowed": 639.0,
"run_differential": -31.0,
"run_differential_per_game": -0.2067,
"avg_runs_scored": 4.0533,
"avg_runs_allowed": 4.26,
"offense_index": 0.9011,
"defense_index": 1.0559,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 3.5,
"run_differential": 13.0
},
"available": true,
"quality_score": 0.0097
},
"edges": {
"quality_edge": 0.0571,
"offense_edge": -0.0063,
"opponent_offense_edge": -0.0989,
"defense_strength": 0.1246,
"opponent_defense_weakness": -0.0559,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.01,
"run_prevention": 0.9689,
"strikeout": 1.0096
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "675512",
"profile": {
"available": true,
"pitcher_id": "675512",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 406.0,
"k_percent": 20.0,
"bb_percent": 6.9,
"woba": 0.284,
"xwoba": 0.297,
"sweet_spot_percent": 30.9,
"barrel_batted_rate": 6.4,
"hard_hit_percent": 37.9,
"avg_best_speed": 78.6562,
"avg_hyper_speed": 93.7731,
"whiff_percent": 24.1,
"swing_percent": 50.4
},
"league_medians": {
"pa": 130.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6536,
"avg_hyper_speed": 93.9166,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.3404,
"command_and_miss": -0.0586,
"regression_edge": -0.3714,
"xwoba_edge": 0.4286,
"barrel_edge": 0.1556,
"hard_hit_edge": 0.0,
"whiff_edge": -0.1286,
"bb_edge": 0.575,
"pitch_design_score": 0.0965
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "675512",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 90,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 90,
"pitch_usage": 0.0,
"release_speed": 91.57165284880485,
"release_spin_rate": 2200.081003185649,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 90,
"pitch_usage": 0.0,
"release_speed": 91.57165284880485,
"release_spin_rate": 2200.081003185649,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 91.5717,
"release_spin_rate": 2200.081,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0965,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.6891,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.146,
"sample_weight": 1.0,
"run_prevention_factor": 0.9876,
"strikeout_factor": 0.9834,
"walk_factor": 0.954,
"homer_factor": 0.9747,
"woba_minus_xwoba": -0.013,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "675512",
"espn_id": 5294127,
"player_name": "Troy Melton",
"team": "DET",
"role": "pitcher",
"espn_rank": 33,
"espn_total_ranked": 861,
"metrics": {
"espn_rank": 33,
"gp_value": 18.0,
"gp_rank": "418",
"gs_value": 18.0,
"gs_rank": "114",
"qs_value": 9.0,
"qs_rank": "66",
"era_value": 2.4166,
"era_rank": null,
"w_value": 8.0,
"w_rank": "67",
"l_value": 4.0,
"l_rank": "190",
"sv_value": 0.0,
"sv_rank": "251",
"hld_value": 0.0,
"hld_rank": "354",
"ip_value": 108.0,
"ip_rank": "116",
"h_value": 83.0,
"h_rank": "145",
"er_value": 29.0,
"er_rank": "199",
"hr_value": 13.0,
"hr_rank": "127",
"bb_value": 30.0,
"bb_rank": "176",
"k_value": 87.0,
"k_rank": "140",
"k_per_9_value": 7.25,
"k_per_9_rank": 32.0,
"whip_value": 1.0462,
"whip_rank": null,
"war_value": 3.1,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 0.9876,
"adjusted": 3
},
"predicted_H": {
"original": 6.0,
"factor": 0.9876,
"adjusted": 6
},
"predicted_BB": {
"original": 1.0,
"factor": 0.954,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 0.9747,
"adjusted": 1
},
"predicted_SO": {
"original": 4.0,
"factor": 0.9834,
"adjusted": 4
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 6.0,
"predicted_H": 7,
"predicted_R": 3,
"predicted_ER": 3,
"predicted_BB": 2,
"predicted_SO": 6,
"predicted_HR": 1,
"box_score_synced": true,
"BF": 28,
"Pitches": 117,
"published_line_source": "scoring_simulation.box_score"
}
},
"findings": [
{
"code": "ER_WITHIN_ONE",
"severity": "good",
"title": "Earned runs within one",
"detail": "Actual minus predicted earned runs was -1."
},
{
"code": "WORKLOAD_MISS",
"severity": "error",
"title": "Workload missed by at least three innings",
"detail": "The actual outing differed by -10 outs from the projected workload."
},
{
"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/20260914_DET@TOR.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"
}
} |
| 20260914 | 20260914_DET@TOR | home | José Soriano | José Soriano | True | 5.2 | 6.1 | 2 | 5 | 4 | -1 | 4/5 | 4/1 | 7/5 | Last 10 before this game (10 available){
"model_context": {
"embedded_season": {
"ERA": 3.478527607361963,
"WHIP": 1.2822085889570551,
"IP": 163.0,
"games_started": null,
"games_pitched": 29,
"role_avg_IP": 5.621,
"recent_avg_IP": 5.867,
"last_start_IP": 7.0,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": -0.0335,
"sample_weight": 1.0,
"run_prevention_factor": 1.0028,
"strikeout_factor": 1.0257,
"walk_factor": 1.024,
"homer_factor": 1.0163,
"regression_flag": "neutral",
"k_percent": 22.6,
"bb_percent": 10.4,
"woba": 0.297,
"xwoba": 0.324,
"barrel_percent": 7.6,
"hard_hit_percent": 37.4,
"whiff_percent": 28.9
},
"espn_rank": {
"rank": 30,
"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": "667755",
"report_date": "20260914",
"season_year": 2026,
"rows_used": 29,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 29.1,
"ER": 16.0,
"R": 16.0,
"H": 33.0,
"BB": 9.0,
"SO": 20.0,
"HR": 3.0,
"BF": 128.0,
"Pitches": 472.0
},
"per_game": {
"IP": 6.0,
"ER": 3.2,
"R": 3.2,
"H": 6.6,
"BB": 1.8,
"SO": 4.0,
"HR": 0.6,
"BF": 25.6,
"Pitches": 94.4
},
"rates": {
"ERA": 4.9091,
"WHIP": 1.4318,
"ER_per_IP": 0.54545,
"H_per_IP": 1.125,
"BB_per_IP": 0.30682,
"SO_per_IP": 0.68182,
"HR_per_IP": 0.10227
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 57.0,
"ER": 23.0,
"R": 25.0,
"H": 53.0,
"BB": 20.0,
"SO": 39.0,
"HR": 4.0,
"BF": 235.0,
"Pitches": 913.0
},
"per_game": {
"IP": 5.2,
"ER": 2.3,
"R": 2.5,
"H": 5.3,
"BB": 2.0,
"SO": 3.9,
"HR": 0.4,
"BF": 23.5,
"Pitches": 91.3
},
"rates": {
"ERA": 3.6316,
"WHIP": 1.2807,
"ER_per_IP": 0.40351,
"H_per_IP": 0.92982,
"BB_per_IP": 0.35088,
"SO_per_IP": 0.68421,
"HR_per_IP": 0.07018
}
},
"season": {
"games": 29,
"totals": {
"IP": 163.0,
"ER": 63.0,
"R": 68.0,
"H": 138.0,
"BB": 71.0,
"SO": 154.0,
"HR": 16.0,
"BF": 681.0,
"Pitches": 2698.0
},
"per_game": {
"IP": 5.2,
"ER": 2.1724,
"R": 2.3448,
"H": 4.7586,
"BB": 2.4483,
"SO": 5.3103,
"HR": 0.5517,
"BF": 23.4828,
"Pitches": 93.0345
},
"rates": {
"ERA": 3.4785,
"WHIP": 1.2822,
"ER_per_IP": 0.3865,
"H_per_IP": 0.84663,
"BB_per_IP": 0.43558,
"SO_per_IP": 0.94479,
"HR_per_IP": 0.09816
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.2,
"predicted_ER": 2.725,
"predicted_H": 5.778,
"predicted_BB": 2.037,
"predicted_SO": 4.434,
"predicted_HR": 0.572,
"predicted_ERA": 4.2319,
"predicted_WHIP": 1.3488
}
},
"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": 5.2,
"form": 5.2,
"final": 5.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 2.725,
"final": 3.2505,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 5.778,
"final": 5.0452,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 4.0,
"form": 2.037,
"final": 2.846,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 4.434,
"final": 4.2551,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.572,
"final": 0.7484,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.2319,
"final": 4.2319,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3488,
"final": 1.3488,
"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": 57.0,
"ER": 23,
"H": 53,
"BB": 20,
"SO": 39,
"HR": 4,
"ERA": 3.6315789473684212,
"WHIP": 1.280701754385965,
"K9": 6.157894736842105,
"HR9": 0.631578947368421,
"games_pitched": 10,
"quality_starts": 4,
"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-08T00:00:00"
},
"recent_form_boost": 0.9074238252632489,
"stat_evolution": [
{
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_IP": 5.666666666666667,
"predicted_ER": 4.0,
"predicted_H": 4.0,
"predicted_BB": 4.0,
"predicted_SO": 4.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
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "667755",
"player_name": "Jos\u00e9 Soriano",
"position": "Starter",
"team": "TOR",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 4.0,
"predicted_ER": 4.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 5.6667,
"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
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 4.0,
"predicted_ER": 4.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 5.2,
"predicted_R": 4.0,
"predicted_SO": 7.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 7.0,
"delta": 3.0,
"percent_delta": 0.75,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 4.0,
"after": 7.0,
"delta": 3.0,
"percent_delta": 0.75,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 7.0,
"delta": 3.0,
"percent_delta": 0.75,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 4.0,
"after": 7.0,
"delta": 3.0,
"percent_delta": 0.75,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "neutral"
}
}
},
"team_form_snapshot": {
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TOR",
"games": 150,
"wins": 75,
"losses": 75,
"win_pct": 0.5,
"runs_scored": 608.0,
"runs_allowed": 639.0,
"run_differential": -31.0,
"run_differential_per_game": -0.2067,
"avg_runs_scored": 4.0533,
"avg_runs_allowed": 4.26,
"offense_index": 0.9011,
"defense_index": 1.0559,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 3.5,
"run_differential": 13.0
},
"available": true,
"quality_score": 0.0097
},
"opponent": {
"team": "DET",
"games": 149,
"wins": 70,
"losses": 79,
"win_pct": 0.4698,
"runs_scored": 666.0,
"runs_allowed": 596.0,
"run_differential": 70.0,
"run_differential_per_game": 0.4698,
"avg_runs_scored": 4.4698,
"avg_runs_allowed": 4.0,
"offense_index": 0.9937,
"defense_index": 1.1246,
"current_streak": "W4",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 5.6,
"avg_runs_allowed": 3.3,
"run_differential": 23.0
},
"available": true,
"quality_score": 0.0668
},
"edges": {
"quality_edge": -0.0571,
"offense_edge": -0.0989,
"opponent_offense_edge": -0.0063,
"defense_strength": 0.0559,
"opponent_defense_weakness": -0.1246,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 0.9996,
"run_prevention": 0.9963,
"strikeout": 0.9988
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "667755",
"profile": {
"available": true,
"pitcher_id": "667755",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 648.0,
"k_percent": 22.6,
"bb_percent": 10.4,
"woba": 0.297,
"xwoba": 0.324,
"sweet_spot_percent": 30.7,
"barrel_batted_rate": 7.6,
"hard_hit_percent": 37.4,
"avg_best_speed": 77.4538,
"avg_hyper_speed": 94.0281,
"whiff_percent": 28.9,
"swing_percent": 46.8
},
"league_medians": {
"pa": 130.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6536,
"avg_hyper_speed": 93.9166,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.0247,
"command_and_miss": 0.1736,
"regression_edge": -0.7714,
"xwoba_edge": -0.3429,
"barrel_edge": -0.1111,
"hard_hit_edge": 0.0714,
"whiff_edge": 0.5571,
"bb_edge": -0.3,
"pitch_design_score": 0.1541
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "667755",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 94,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 94,
"pitch_usage": 0.0,
"release_speed": 92.59983471757974,
"release_spin_rate": 2057.6066009587034,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 94,
"pitch_usage": 0.0,
"release_speed": 92.59983471757974,
"release_spin_rate": 2057.6066009587034,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 92.5998,
"release_spin_rate": 2057.6066,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1541,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.1004,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.0335,
"sample_weight": 1.0,
"run_prevention_factor": 1.0028,
"strikeout_factor": 1.0257,
"walk_factor": 1.024,
"homer_factor": 1.0163,
"woba_minus_xwoba": -0.027,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "667755",
"espn_id": 40973,
"player_name": "Jose Soriano",
"team": "TOR",
"role": "pitcher",
"espn_rank": 30,
"espn_total_ranked": 861,
"metrics": {
"espn_rank": 30,
"gp_value": 29.0,
"gp_rank": "244",
"gs_value": 29.0,
"gs_rank": "14",
"qs_value": 11.0,
"qs_rank": "47",
"era_value": 3.4785,
"era_rank": 19.0,
"w_value": 12.0,
"w_rank": "17",
"l_value": 7.0,
"l_rank": "86",
"sv_value": 0.0,
"sv_rank": "251",
"hld_value": 0.0,
"hld_rank": "354",
"ip_value": 163.0,
"ip_rank": "24",
"h_value": 138.0,
"h_rank": "43",
"er_value": 63.0,
"er_rank": "57",
"hr_value": 16.0,
"hr_rank": "87",
"bb_value": 71.0,
"bb_rank": "5",
"k_value": 154.0,
"k_rank": "30",
"k_per_9_value": 8.503068,
"k_per_9_rank": 33.0,
"whip_value": 1.2822,
"whip_rank": 37.0,
"war_value": 3.16,
"war_rank": 22.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0028,
"adjusted": 3
},
"predicted_H": {
"original": 6.0,
"factor": 1.0028,
"adjusted": 6
},
"predicted_BB": {
"original": 2.0,
"factor": 1.024,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0163,
"adjusted": 1
},
"predicted_SO": {
"original": 4.0,
"factor": 1.0257,
"adjusted": 4
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 5.2,
"predicted_H": 4,
"predicted_R": 4,
"predicted_ER": 4,
"predicted_BB": 4,
"predicted_SO": 7,
"predicted_HR": 1,
"box_score_synced": true,
"BF": 25,
"Pitches": 111,
"published_line_source": "scoring_simulation.box_score"
}
},
"findings": [
{
"code": "ER_WITHIN_ONE",
"severity": "good",
"title": "Earned runs within one",
"detail": "Actual minus predicted earned runs was -1."
},
{
"code": "WALK_COMPONENT_MISS",
"severity": "warning",
"title": "Walk component missed",
"detail": "Actual minus predicted walks was -3."
}
],
"provenance": {
"prediction": "output/games/20260914_DET@TOR.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"
}
} |
| 20260914 | 20260914_LAD@CIN | away | Tarik Skubal | Tarik Skubal | True | 6.2 | 7.0 | 1 | 3 | 0 | -3 | 5/3 | 1/1 | 7/9 | Last 10 before this game (10 available){
"model_context": {
"embedded_season": {
"ERA": 2.8353221957040575,
"WHIP": 0.973747016706444,
"IP": 139.2,
"games_started": null,
"games_pitched": 23,
"role_avg_IP": 6.072,
"recent_avg_IP": 6.4,
"last_start_IP": 7.1,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": 0.7147,
"sample_weight": 1.0,
"run_prevention_factor": 0.9392,
"strikeout_factor": 1.0811,
"walk_factor": 0.904,
"homer_factor": 0.9531,
"regression_flag": "neutral",
"k_percent": 29.9,
"bb_percent": 4.4,
"woba": 0.267,
"xwoba": 0.27,
"barrel_percent": 7.0,
"hard_hit_percent": 36.3,
"whiff_percent": 31.3
},
"espn_rank": {
"rank": 15,
"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": 23.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8214,
"prior_weight": 0.1786
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "669373",
"report_date": "20260914",
"season_year": 2026,
"rows_used": 23,
"reference_playing_time": 6.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 32.0,
"ER": 9.0,
"R": 10.0,
"H": 30.0,
"BB": 6.0,
"SO": 36.0,
"HR": 1.0,
"BF": 129.0,
"Pitches": 494.0
},
"per_game": {
"IP": 6.1,
"ER": 1.8,
"R": 2.0,
"H": 6.0,
"BB": 1.2,
"SO": 7.2,
"HR": 0.2,
"BF": 25.8,
"Pitches": 98.8
},
"rates": {
"ERA": 2.5312,
"WHIP": 1.125,
"ER_per_IP": 0.28125,
"H_per_IP": 0.9375,
"BB_per_IP": 0.1875,
"SO_per_IP": 1.125,
"HR_per_IP": 0.03125
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 64.0,
"ER": 18.0,
"R": 19.0,
"H": 51.0,
"BB": 13.0,
"SO": 75.0,
"HR": 3.0,
"BF": 251.0,
"Pitches": 944.0
},
"per_game": {
"IP": 6.1,
"ER": 1.8,
"R": 1.9,
"H": 5.1,
"BB": 1.3,
"SO": 7.5,
"HR": 0.3,
"BF": 25.1,
"Pitches": 94.4
},
"rates": {
"ERA": 2.5312,
"WHIP": 1.0,
"ER_per_IP": 0.28125,
"H_per_IP": 0.79688,
"BB_per_IP": 0.20312,
"SO_per_IP": 1.17188,
"HR_per_IP": 0.04688
}
},
"season": {
"games": 23,
"totals": {
"IP": 139.2,
"ER": 44.0,
"R": 48.0,
"H": 112.0,
"BB": 24.0,
"SO": 164.0,
"HR": 13.0,
"BF": 548.0,
"Pitches": 2105.0
},
"per_game": {
"IP": 6.0,
"ER": 1.913,
"R": 2.087,
"H": 4.8696,
"BB": 1.0435,
"SO": 7.1304,
"HR": 0.5652,
"BF": 23.8261,
"Pitches": 91.5217
},
"rates": {
"ERA": 2.8353,
"WHIP": 0.9737,
"ER_per_IP": 0.31504,
"H_per_IP": 0.80191,
"BB_per_IP": 0.17184,
"SO_per_IP": 1.17422,
"HR_per_IP": 0.09308
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 6.1,
"predicted_ER": 2.073,
"predicted_H": 5.587,
"predicted_BB": 1.41,
"predicted_SO": 7.057,
"predicted_HR": 0.423,
"predicted_ERA": 2.9429,
"predicted_WHIP": 1.104
}
},
"model_form_blend_trace": {
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4255,
"form_weight": 0.5745,
"form_reliability": 0.8214,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 23.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8214,
"prior_weight": 0.1786
},
"applied_metrics": {
"predicted_IP": {
"model": 6.2,
"form": 6.1,
"final": 6.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 2.073,
"final": 2.4674,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 5.587,
"final": 5.3373,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.41,
"final": 1.2356,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 7.057,
"final": 4.9055,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.423,
"final": 0.6685,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.9429,
"final": 2.9429,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.104,
"final": 1.104,
"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": 64.0,
"ER": 18,
"H": 51,
"BB": 13,
"SO": 75,
"HR": 3,
"ERA": 2.53125,
"WHIP": 1.0,
"K9": 10.546875,
"HR9": 0.421875,
"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-09-08T00:00:00"
},
"recent_form_boost": 0.7766192748246525,
"stat_evolution": [
{
"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": 5.0,
"predicted_BB": 1.0,
"predicted_SO": 2.0,
"predicted_HR": 1.0
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 23.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8214,
"prior_weight": 0.1786
}
},
{
"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": 5,
"predicted_BB": 1,
"predicted_SO": 7,
"predicted_HR": 1
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "669373",
"player_name": "Tarik Skubal",
"position": "Starter",
"team": "LAD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"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": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 6.6667,
"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
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"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": 3.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 6.2,
"predicted_SO": 7.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.6667,
"after": 6.2,
"delta": -0.4667,
"percent_delta": -0.07,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 7.0,
"delta": 5.0,
"percent_delta": 2.5,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 7.0,
"delta": 5.0,
"percent_delta": 2.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"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
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 3.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 6.2,
"predicted_R": 3.0,
"predicted_SO": 7.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.2,
"after": 6.2,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.6667,
"after": 6.2,
"delta": -0.4667,
"percent_delta": -0.07,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 7.0,
"delta": 5.0,
"percent_delta": 2.5,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 7.0,
"delta": 5.0,
"percent_delta": 2.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"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
},
"has_material_change": true,
"dominant_effect": "neutral"
}
}
},
"team_form_snapshot": {
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAD",
"games": 149,
"wins": 90,
"losses": 59,
"win_pct": 0.604,
"runs_scored": 741.0,
"runs_allowed": 571.0,
"run_differential": 170.0,
"run_differential_per_game": 1.1409,
"avg_runs_scored": 4.9732,
"avg_runs_allowed": 3.8322,
"offense_index": 1.1056,
"defense_index": 1.1738,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.7,
"avg_runs_allowed": 3.3,
"run_differential": 24.0
},
"available": true,
"quality_score": 0.3329
},
"opponent": {
"team": "CIN",
"games": 149,
"wins": 70,
"losses": 79,
"win_pct": 0.4698,
"runs_scored": 624.0,
"runs_allowed": 769.0,
"run_differential": -145.0,
"run_differential_per_game": -0.9732,
"avg_runs_scored": 4.1879,
"avg_runs_allowed": 5.1611,
"offense_index": 0.931,
"defense_index": 0.8716,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 8.3,
"run_differential": -33.0
},
"available": true,
"quality_score": -0.1797
},
"edges": {
"quality_edge": 0.5126,
"offense_edge": 0.1056,
"opponent_offense_edge": -0.069,
"defense_strength": 0.1738,
"opponent_defense_weakness": 0.1284,
"recent_win_pct_edge": 0.4
},
"player_factors": {
"ip": 1.0285,
"run_prevention": 0.946,
"strikeout": 1.0209
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "669373",
"profile": {
"available": true,
"pitcher_id": "669373",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 518.0,
"k_percent": 29.9,
"bb_percent": 4.4,
"woba": 0.267,
"xwoba": 0.27,
"sweet_spot_percent": 33.8,
"barrel_batted_rate": 7.0,
"hard_hit_percent": 36.3,
"avg_best_speed": 75.1829,
"avg_hyper_speed": 93.5974,
"whiff_percent": 31.3,
"swing_percent": 53.3
},
"league_medians": {
"pa": 130.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6536,
"avg_hyper_speed": 93.9166,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.7765,
"command_and_miss": 1.0629,
"regression_edge": -0.0857,
"xwoba_edge": 1.2,
"barrel_edge": 0.0222,
"hard_hit_edge": 0.2286,
"whiff_edge": 0.9,
"bb_edge": 1.2,
"pitch_design_score": 0.1519
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669373",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 99,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 99,
"pitch_usage": 0.0,
"release_speed": 92.56213996024702,
"release_spin_rate": 2170.3216754965833,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 99,
"pitch_usage": 0.0,
"release_speed": 92.56213996024702,
"release_spin_rate": 2170.3216754965833,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 92.5621,
"release_spin_rate": 2170.3217,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1519,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.0853,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.7147,
"sample_weight": 1.0,
"run_prevention_factor": 0.9392,
"strikeout_factor": 1.0811,
"walk_factor": 0.904,
"homer_factor": 0.9531,
"woba_minus_xwoba": -0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669373",
"espn_id": 42409,
"player_name": "Tarik Skubal",
"team": "LAD",
"role": "pitcher",
"espn_rank": 15,
"espn_total_ranked": 861,
"metrics": {
"espn_rank": 15,
"gp_value": 23.0,
"gp_rank": "353",
"gs_value": 23.0,
"gs_rank": "81",
"qs_value": 14.0,
"qs_rank": "25",
"era_value": 2.8353,
"era_rank": null,
"w_value": 9.0,
"w_rank": "44",
"l_value": 7.0,
"l_rank": "86",
"sv_value": 0.0,
"sv_rank": "251",
"hld_value": 0.0,
"hld_rank": "354",
"ip_value": 139.2,
"ip_rank": "61",
"h_value": 112.0,
"h_rank": "99",
"er_value": 44.0,
"er_rank": "137",
"hr_value": 13.0,
"hr_rank": "127",
"bb_value": 24.0,
"bb_rank": "234",
"k_value": 164.0,
"k_rank": "24",
"k_per_9_value": 10.568019,
"k_per_9_rank": 10.0,
"whip_value": 0.9737,
"whip_rank": null,
"war_value": 3.89,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.9392,
"adjusted": 2
},
"predicted_H": {
"original": 6.0,
"factor": 0.9392,
"adjusted": 6
},
"predicted_BB": {
"original": 1.0,
"factor": 0.904,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9531,
"adjusted": 0
},
"predicted_SO": {
"original": 7.0,
"factor": 1.0811,
"adjusted": 8
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 6.2,
"predicted_H": 5,
"predicted_R": 3,
"predicted_ER": 3,
"predicted_BB": 1,
"predicted_SO": 7,
"predicted_HR": 1,
"box_score_synced": true,
"BF": 26,
"Pitches": 115,
"published_line_source": "scoring_simulation.box_score"
}
},
"findings": [
{
"code": "DIRECT_ER_MISS",
"severity": "error",
"title": "Earned-run miss of 3",
"detail": "Actual minus predicted earned runs was -3."
},
{
"code": "MISSED_SHUTDOWN",
"severity": "error",
"title": "Model missed a shutdown outing",
"detail": "The pitcher allowed zero earned runs after a projection of 3 ER."
}
],
"provenance": {
"prediction": "output/games/20260914_LAD@CIN.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"
}
} |
| 20260914 | 20260914_LAD@CIN | home | Nick Lodolo | Nick Lodolo | True | 4.1 | 7.0 | 8 | 7 | 4 | -3 | 9/3 | 3/4 | 3/4 | Last 10 before this game (10 available){
"model_context": {
"embedded_season": {
"ERA": 5.118959107806691,
"WHIP": 1.5278810408921932,
"IP": 89.2,
"games_started": null,
"games_pitched": 18,
"role_avg_IP": 4.981,
"recent_avg_IP": 4.6,
"last_start_IP": 4.2,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": -0.8309,
"sample_weight": 1.0,
"run_prevention_factor": 1.0706,
"strikeout_factor": 0.9646,
"walk_factor": 1.004,
"homer_factor": 1.1252,
"regression_flag": "neutral",
"k_percent": 18.5,
"bb_percent": 9.4,
"woba": 0.38,
"xwoba": 0.38,
"barrel_percent": 9.9,
"hard_hit_percent": 40.9,
"whiff_percent": 22.3
},
"espn_rank": {
"rank": 197,
"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": 18.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7826,
"prior_weight": 0.2174
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "666157",
"report_date": "20260914",
"season_year": 2026,
"rows_used": 18,
"reference_playing_time": 4.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 23.0,
"ER": 15.0,
"R": 15.0,
"H": 29.0,
"BB": 11.0,
"SO": 20.0,
"HR": 5.0,
"BF": 109.0,
"Pitches": 456.0
},
"per_game": {
"IP": 4.2,
"ER": 3.0,
"R": 3.0,
"H": 5.8,
"BB": 2.2,
"SO": 4.0,
"HR": 1.0,
"BF": 21.8,
"Pitches": 91.2
},
"rates": {
"ERA": 5.8696,
"WHIP": 1.7391,
"ER_per_IP": 0.65217,
"H_per_IP": 1.26087,
"BB_per_IP": 0.47826,
"SO_per_IP": 0.86957,
"HR_per_IP": 0.21739
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 47.0,
"ER": 22.0,
"R": 22.0,
"H": 48.0,
"BB": 21.0,
"SO": 43.0,
"HR": 9.0,
"BF": 210.0,
"Pitches": 872.0
},
"per_game": {
"IP": 4.2,
"ER": 2.2,
"R": 2.2,
"H": 4.8,
"BB": 2.1,
"SO": 4.3,
"HR": 0.9,
"BF": 21.0,
"Pitches": 87.2
},
"rates": {
"ERA": 4.2128,
"WHIP": 1.4681,
"ER_per_IP": 0.46809,
"H_per_IP": 1.02128,
"BB_per_IP": 0.44681,
"SO_per_IP": 0.91489,
"HR_per_IP": 0.19149
}
},
"season": {
"games": 18,
"totals": {
"IP": 89.2,
"ER": 51.0,
"R": 51.0,
"H": 99.0,
"BB": 38.0,
"SO": 75.0,
"HR": 17.0,
"BF": 406.0,
"Pitches": 1613.0
},
"per_game": {
"IP": 5.0,
"ER": 2.8333,
"R": 2.8333,
"H": 5.5,
"BB": 2.1111,
"SO": 4.1667,
"HR": 0.9444,
"BF": 22.5556,
"Pitches": 89.6111
},
"rates": {
"ERA": 5.119,
"WHIP": 1.5279,
"ER_per_IP": 0.56877,
"H_per_IP": 1.10409,
"BB_per_IP": 0.42379,
"SO_per_IP": 0.83643,
"HR_per_IP": 0.18959
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 4.2,
"predicted_ER": 2.628,
"predicted_H": 5.231,
"predicted_BB": 2.067,
"predicted_SO": 4.209,
"predicted_HR": 0.9,
"predicted_ERA": 5.0129,
"predicted_WHIP": 1.5467
}
},
"model_form_blend_trace": {
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4419,
"form_weight": 0.5581,
"form_reliability": 0.7826,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 18.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7826,
"prior_weight": 0.2174
},
"applied_metrics": {
"predicted_IP": {
"model": 4.2,
"form": 4.2,
"final": 4.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 8.0,
"form": 2.628,
"final": 5.0016,
"source": "model_form_blend"
},
"predicted_H": {
"model": 9.0,
"form": 5.231,
"final": 6.8963,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 2.067,
"final": 2.4792,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 4.209,
"final": 3.6748,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.9,
"final": 0.9442,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.0129,
"final": 5.0129,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5467,
"final": 1.5467,
"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": 47.0,
"ER": 22,
"H": 48,
"BB": 21,
"SO": 43,
"HR": 9,
"ERA": 4.212765957446808,
"WHIP": 1.4680851063829787,
"K9": 8.23404255319149,
"HR9": 1.7234042553191489,
"games_pitched": 10,
"quality_starts": 2,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-09-08T00:00:00"
},
"recent_form_boost": 0.9774919476969929,
"stat_evolution": [
{
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_IP": 4.666666666666667,
"predicted_ER": 8.0,
"predicted_H": 9.0,
"predicted_BB": 3.0,
"predicted_SO": 3.0,
"predicted_HR": 1.0
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 18.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7826,
"prior_weight": 0.2174
}
},
{
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_IP": 4.1,
"predicted_ER": 8,
"predicted_H": 9,
"predicted_BB": 3,
"predicted_SO": 3,
"predicted_HR": 1
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "666157",
"player_name": "Nick Lodolo",
"position": "Starter",
"team": "CIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 8.0,
"predicted_H": 9.0,
"predicted_HR": 1.0,
"predicted_IP": 4.6667,
"predicted_SO": 3.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
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 8.0,
"predicted_H": 9.0,
"predicted_HR": 1.0,
"predicted_IP": 4.1,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 9.0,
"after": 9.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.1,
"delta": -0.5667,
"percent_delta": -0.1214,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"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": 4.6667,
"after": 4.1,
"delta": -0.5667,
"percent_delta": -0.1214,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 8.0,
"predicted_H": 9.0,
"predicted_HR": 1.0,
"predicted_IP": 4.1,
"predicted_R": 8.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 9.0,
"after": 9.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.1,
"after": 4.1,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 8.0,
"after": 8.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 9.0,
"after": 9.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.6667,
"after": 4.1,
"delta": -0.5667,
"percent_delta": -0.1214,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"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": 4.6667,
"after": 4.1,
"delta": -0.5667,
"percent_delta": -0.1214,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
},
"team_form_snapshot": {
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CIN",
"games": 149,
"wins": 70,
"losses": 79,
"win_pct": 0.4698,
"runs_scored": 624.0,
"runs_allowed": 769.0,
"run_differential": -145.0,
"run_differential_per_game": -0.9732,
"avg_runs_scored": 4.1879,
"avg_runs_allowed": 5.1611,
"offense_index": 0.931,
"defense_index": 0.8716,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 8.3,
"run_differential": -33.0
},
"available": true,
"quality_score": -0.1797
},
"opponent": {
"team": "LAD",
"games": 149,
"wins": 90,
"losses": 59,
"win_pct": 0.604,
"runs_scored": 741.0,
"runs_allowed": 571.0,
"run_differential": 170.0,
"run_differential_per_game": 1.1409,
"avg_runs_scored": 4.9732,
"avg_runs_allowed": 3.8322,
"offense_index": 1.1056,
"defense_index": 1.1738,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.7,
"avg_runs_allowed": 3.3,
"run_differential": 24.0
},
"available": true,
"quality_score": 0.3329
},
"edges": {
"quality_edge": -0.5126,
"offense_edge": -0.069,
"opponent_offense_edge": 0.1056,
"defense_strength": -0.1284,
"opponent_defense_weakness": -0.1738,
"recent_win_pct_edge": -0.4
},
"player_factors": {
"ip": 0.9714,
"run_prevention": 1.0554,
"strikeout": 0.9762
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "666157",
"profile": {
"available": true,
"pitcher_id": "666157",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 374.0,
"k_percent": 18.5,
"bb_percent": 9.4,
"woba": 0.38,
"xwoba": 0.38,
"sweet_spot_percent": 38.4,
"barrel_batted_rate": 9.9,
"hard_hit_percent": 40.9,
"avg_best_speed": 80.0509,
"avg_hyper_speed": 94.7096,
"whiff_percent": 22.3,
"swing_percent": 45.5
},
"league_medians": {
"pa": 130.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6536,
"avg_hyper_speed": 93.9166,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": -1.3111,
"command_and_miss": -0.37,
"regression_edge": 0.0,
"xwoba_edge": -1.9429,
"barrel_edge": -0.6222,
"hard_hit_edge": -0.4286,
"whiff_edge": -0.3857,
"bb_edge": -0.05,
"pitch_design_score": -0.0064
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "666157",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 85,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 85,
"pitch_usage": 0.0,
"release_speed": 89.73486726760473,
"release_spin_rate": 2271.3468770408163,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 85,
"pitch_usage": 0.0,
"release_speed": 89.73486726760473,
"release_spin_rate": 2271.3468770408163,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.7349,
"release_spin_rate": 2271.3469,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0064,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0456,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.8309,
"sample_weight": 1.0,
"run_prevention_factor": 1.0706,
"strikeout_factor": 0.9646,
"walk_factor": 1.004,
"homer_factor": 1.1252,
"woba_minus_xwoba": 0.0,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "666157",
"espn_id": 42433,
"player_name": "Nick Lodolo",
"team": "CIN",
"role": "pitcher",
"espn_rank": 197,
"espn_total_ranked": 861,
"metrics": {
"espn_rank": 197,
"gp_value": 18.0,
"gp_rank": "418",
"gs_value": 18.0,
"gs_rank": "114",
"qs_value": 4.0,
"qs_rank": "125",
"era_value": 5.1189,
"era_rank": null,
"w_value": 3.0,
"w_rank": "248",
"l_value": 4.0,
"l_rank": "190",
"sv_value": 0.0,
"sv_rank": "251",
"hld_value": 0.0,
"hld_rank": "354",
"ip_value": 89.2,
"ip_rank": "146",
"h_value": 99.0,
"h_rank": "121",
"er_value": 51.0,
"er_rank": "104",
"hr_value": 17.0,
"hr_rank": "74",
"bb_value": 38.0,
"bb_rank": "104",
"k_value": 75.0,
"k_rank": "166",
"k_per_9_value": 7.527881,
"k_per_9_rank": 30.0,
"whip_value": 1.5278,
"whip_rank": null,
"war_value": 0.88,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0706,
"adjusted": 3
},
"predicted_H": {
"original": 6.0,
"factor": 1.0706,
"adjusted": 6
},
"predicted_BB": {
"original": 2.0,
"factor": 1.004,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.1252,
"adjusted": 1
},
"predicted_SO": {
"original": 4.0,
"factor": 0.9646,
"adjusted": 4
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 4.1,
"predicted_H": 9,
"predicted_R": 8,
"predicted_ER": 8,
"predicted_BB": 3,
"predicted_SO": 3,
"predicted_HR": 1,
"box_score_synced": true,
"BF": 25,
"Pitches": 94,
"published_line_source": "scoring_simulation.box_score"
}
},
"findings": [
{
"code": "DIRECT_ER_MISS",
"severity": "error",
"title": "Earned-run miss of 3",
"detail": "Actual minus predicted earned runs was -3."
},
{
"code": "WORKLOAD_MISS",
"severity": "warning",
"title": "Workload missed by at least two innings",
"detail": "The actual outing differed by +8 outs from the projected workload."
},
{
"code": "HIT_COMPONENT_MISS",
"severity": "warning",
"title": "Hits missed by 6",
"detail": "Actual minus predicted hits was -6."
}
],
"provenance": {
"prediction": "output/games/20260914_LAD@CIN.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"
}
} |
| 20260914 | 20260914_MIA@ARI | away | Sandy Alcantara | Sandy Alcantara | True | 6.0 | 5.0 | -3 | 4 | 4 | 0 | 7/7 | 2/2 | 5/6 | Last 10 before this game (10 available){
"model_context": {
"embedded_season": {
"ERA": 3.78,
"WHIP": 1.215,
"IP": 200.0,
"games_started": null,
"games_pitched": 31,
"role_avg_IP": 6.452,
"recent_avg_IP": 5.867,
"last_start_IP": 4.1,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": 0.03,
"sample_weight": 1.0,
"run_prevention_factor": 0.9975,
"strikeout_factor": 0.9497,
"walk_factor": 0.948,
"homer_factor": 0.9548,
"regression_flag": "neutral",
"k_percent": 17.2,
"bb_percent": 6.6,
"woba": 0.303,
"xwoba": 0.305,
"barrel_percent": 5.6,
"hard_hit_percent": 35.7,
"whiff_percent": 21.0
},
"espn_rank": {
"rank": 36,
"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": "645261",
"report_date": "20260914",
"season_year": 2026,
"rows_used": 31,
"reference_playing_time": 6.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 29.1,
"ER": 19.0,
"R": 19.0,
"H": 35.0,
"BB": 9.0,
"SO": 13.0,
"HR": 5.0,
"BF": 131.0,
"Pitches": 490.0
},
"per_game": {
"IP": 6.0,
"ER": 3.8,
"R": 3.8,
"H": 7.0,
"BB": 1.8,
"SO": 2.6,
"HR": 1.0,
"BF": 26.2,
"Pitches": 98.0
},
"rates": {
"ERA": 5.8295,
"WHIP": 1.5,
"ER_per_IP": 0.64773,
"H_per_IP": 1.19318,
"BB_per_IP": 0.30682,
"SO_per_IP": 0.44318,
"HR_per_IP": 0.17045
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 63.1,
"ER": 25.0,
"R": 25.0,
"H": 58.0,
"BB": 18.0,
"SO": 36.0,
"HR": 8.0,
"BF": 265.0,
"Pitches": 1008.0
},
"per_game": {
"IP": 6.1,
"ER": 2.5,
"R": 2.5,
"H": 5.8,
"BB": 1.8,
"SO": 3.6,
"HR": 0.8,
"BF": 26.5,
"Pitches": 100.8
},
"rates": {
"ERA": 3.5526,
"WHIP": 1.2,
"ER_per_IP": 0.39474,
"H_per_IP": 0.91579,
"BB_per_IP": 0.28421,
"SO_per_IP": 0.56842,
"HR_per_IP": 0.12632
}
},
"season": {
"games": 31,
"totals": {
"IP": 200.0,
"ER": 84.0,
"R": 89.0,
"H": 188.0,
"BB": 55.0,
"SO": 143.0,
"HR": 22.0,
"BF": 833.0,
"Pitches": 3060.0
},
"per_game": {
"IP": 6.1,
"ER": 2.7097,
"R": 2.871,
"H": 6.0645,
"BB": 1.7742,
"SO": 4.6129,
"HR": 0.7097,
"BF": 26.871,
"Pitches": 98.7097
},
"rates": {
"ERA": 3.78,
"WHIP": 1.215,
"ER_per_IP": 0.42,
"H_per_IP": 0.94,
"BB_per_IP": 0.275,
"SO_per_IP": 0.715,
"HR_per_IP": 0.11
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 6.0,
"predicted_ER": 3.157,
"predicted_H": 6.378,
"predicted_BB": 1.87,
"predicted_SO": 3.674,
"predicted_HR": 0.884,
"predicted_ERA": 4.6135,
"predicted_WHIP": 1.3393
}
},
"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": 6.0,
"form": 6.0,
"final": 6.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 3.157,
"final": 3.5015,
"source": "model_form_blend"
},
"predicted_H": {
"model": 7.0,
"form": 6.378,
"final": 6.6322,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.87,
"final": 1.9231,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 3.674,
"final": 4.2159,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.884,
"final": 0.9314,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.6135,
"final": 4.6135,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3393,
"final": 1.3393,
"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": 63.1,
"ER": 25,
"H": 58,
"BB": 18,
"SO": 36,
"HR": 8,
"ERA": 3.5526315789473686,
"WHIP": 1.2000000000000002,
"K9": 5.115789473684211,
"HR9": 1.1368421052631579,
"games_pitched": 10,
"quality_starts": 6,
"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-08T00:00:00"
},
"recent_form_boost": 0.8965247024562314,
"stat_evolution": [
{
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_IP": 6.0,
"predicted_ER": 4.0,
"predicted_H": 7.0,
"predicted_BB": 2.0,
"predicted_SO": 5.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
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "645261",
"player_name": "Sandy Alcantara",
"position": "Starter",
"team": "MIA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"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": 7.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
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 4.0,
"predicted_H": 7.0,
"predicted_HR": 1.0,
"predicted_IP": 6.0,
"predicted_R": 4.0,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
},
"team_form_snapshot": {
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIA",
"games": 150,
"wins": 74,
"losses": 76,
"win_pct": 0.4933,
"runs_scored": 666.0,
"runs_allowed": 660.0,
"run_differential": 6.0,
"run_differential_per_game": 0.04,
"avg_runs_scored": 4.44,
"avg_runs_allowed": 4.4,
"offense_index": 0.9868,
"defense_index": 1.0226,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 5.4,
"avg_runs_allowed": 6.6,
"run_differential": -12.0
},
"available": true,
"quality_score": -0.0708
},
"opponent": {
"team": "ARI",
"games": 150,
"wins": 79,
"losses": 71,
"win_pct": 0.5267,
"runs_scored": 665.0,
"runs_allowed": 663.0,
"run_differential": 2.0,
"run_differential_per_game": 0.0133,
"avg_runs_scored": 4.4333,
"avg_runs_allowed": 4.42,
"offense_index": 0.9853,
"defense_index": 1.018,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.4,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.0593
},
"edges": {
"quality_edge": -0.1301,
"offense_edge": -0.0132,
"opponent_offense_edge": -0.0147,
"defense_strength": 0.0226,
"opponent_defense_weakness": -0.018,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 0.9961,
"run_prevention": 1.0019,
"strikeout": 0.9973
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "645261",
"profile": {
"available": true,
"pitcher_id": "645261",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 803.0,
"k_percent": 17.2,
"bb_percent": 6.6,
"woba": 0.303,
"xwoba": 0.305,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 5.6,
"hard_hit_percent": 35.7,
"avg_best_speed": 77.7923,
"avg_hyper_speed": 93.6689,
"whiff_percent": 21.0,
"swing_percent": 50.7
},
"league_medians": {
"pa": 130.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6536,
"avg_hyper_speed": 93.9166,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.2195,
"command_and_miss": -0.3786,
"regression_edge": -0.0571,
"xwoba_edge": 0.2,
"barrel_edge": 0.3333,
"hard_hit_edge": 0.3143,
"whiff_edge": -0.5714,
"bb_edge": 0.65,
"pitch_design_score": 0.1398
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "645261",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 98,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 98,
"pitch_usage": 0.0,
"release_speed": 92.3444124808556,
"release_spin_rate": 2240.1574870493137,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 98,
"pitch_usage": 0.0,
"release_speed": 92.3444124808556,
"release_spin_rate": 2240.1574870493137,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 92.3444,
"release_spin_rate": 2240.1575,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1398,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.9982,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.03,
"sample_weight": 1.0,
"run_prevention_factor": 0.9975,
"strikeout_factor": 0.9497,
"walk_factor": 0.948,
"homer_factor": 0.9548,
"woba_minus_xwoba": -0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "645261",
"espn_id": 35241,
"player_name": "Sandy Alcantara",
"team": "MIA",
"role": "pitcher",
"espn_rank": 36,
"espn_total_ranked": 861,
"metrics": {
"espn_rank": 36,
"gp_value": 31.0,
"gp_rank": "212",
"gs_value": 31.0,
"gs_rank": "1",
"qs_value": 21.0,
"qs_rank": "1",
"era_value": 3.78,
"era_rank": 26.0,
"w_value": 13.0,
"w_rank": "12",
"l_value": 10.0,
"l_rank": "21",
"sv_value": 0.0,
"sv_rank": "251",
"hld_value": 0.0,
"hld_rank": "354",
"ip_value": 200.0,
"ip_rank": "1",
"h_value": 188.0,
"h_rank": "1",
"er_value": 84.0,
"er_rank": "8",
"hr_value": 22.0,
"hr_rank": "28",
"bb_value": 55.0,
"bb_rank": "28",
"k_value": 143.0,
"k_rank": "40",
"k_per_9_value": 6.4350004,
"k_per_9_rank": 1080.0,
"whip_value": 1.215,
"whip_rank": 32.0,
"war_value": 3.03,
"war_rank": 23.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 0.9975,
"adjusted": 3
},
"predicted_H": {
"original": 7.0,
"factor": 0.9975,
"adjusted": 7
},
"predicted_BB": {
"original": 2.0,
"factor": 0.948,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 0.9548,
"adjusted": 1
},
"predicted_SO": {
"original": 3.0,
"factor": 0.9497,
"adjusted": 3
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 6.0,
"predicted_H": 7,
"predicted_R": 4,
"predicted_ER": 4,
"predicted_BB": 2,
"predicted_SO": 5,
"predicted_HR": 1,
"box_score_synced": true,
"BF": 27,
"Pitches": 111,
"published_line_source": "scoring_simulation.box_score"
}
},
"findings": [
{
"code": "ER_WITHIN_ONE",
"severity": "good",
"title": "Earned runs within one",
"detail": "Actual minus predicted earned runs was +0."
}
],
"provenance": {
"prediction": "output/games/20260914_MIA@ARI.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"
}
} |
| 20260914 | 20260914_MIA@ARI | home | Corbin Burnes | Corbin Burnes | True | 3.0 | 4.2 | 5 | 3 | 5 | 2 | 5/5 | 0/0 | 9/4 | Last 10 before this game (1 available){
"model_context": {
"embedded_season": {
"ERA": 0.0,
"WHIP": 1.3333333333333333,
"IP": 3.0,
"games_started": null,
"games_pitched": 1,
"role_avg_IP": 3.0,
"recent_avg_IP": 3.0,
"last_start_IP": 3.0,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": 0.0331,
"sample_weight": 0.45,
"run_prevention_factor": 0.9972,
"strikeout_factor": 1.0031,
"walk_factor": 0.9982,
"homer_factor": 0.9966,
"regression_flag": "neutral",
"k_percent": 22.6,
"bb_percent": 9.0,
"woba": 0.31,
"xwoba": 0.308,
"barrel_percent": 7.0,
"hard_hit_percent": 37.5,
"whiff_percent": 25.6
},
"espn_rank": {
"rank": 351,
"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": 1.0
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 1.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.1667,
"prior_weight": 0.8333
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "669203",
"report_date": "20260914",
"season_year": 2026,
"rows_used": 1,
"reference_playing_time": 4.0,
"windows": {
"last_5": {
"games": 1,
"totals": {
"IP": 3.0,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 2.0,
"SO": 2.0,
"HR": 0.0,
"BF": 13.0,
"Pitches": 57.0
},
"per_game": {
"IP": 3.0,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 2.0,
"SO": 2.0,
"HR": 0.0,
"BF": 13.0,
"Pitches": 57.0
},
"rates": {
"ERA": 0.0,
"WHIP": 1.3333,
"ER_per_IP": 0.0,
"H_per_IP": 0.66667,
"BB_per_IP": 0.66667,
"SO_per_IP": 0.66667,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 1,
"totals": {
"IP": 3.0,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 2.0,
"SO": 2.0,
"HR": 0.0,
"BF": 13.0,
"Pitches": 57.0
},
"per_game": {
"IP": 3.0,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 2.0,
"SO": 2.0,
"HR": 0.0,
"BF": 13.0,
"Pitches": 57.0
},
"rates": {
"ERA": 0.0,
"WHIP": 1.3333,
"ER_per_IP": 0.0,
"H_per_IP": 0.66667,
"BB_per_IP": 0.66667,
"SO_per_IP": 0.66667,
"HR_per_IP": 0.0
}
},
"season": {
"games": 1,
"totals": {
"IP": 3.0,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 2.0,
"SO": 2.0,
"HR": 0.0,
"BF": 13.0,
"Pitches": 57.0
},
"per_game": {
"IP": 3.0,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 2.0,
"SO": 2.0,
"HR": 0.0,
"BF": 13.0,
"Pitches": 57.0
},
"rates": {
"ERA": 0.0,
"WHIP": 1.3333,
"ER_per_IP": 0.0,
"H_per_IP": 0.66667,
"BB_per_IP": 0.66667,
"SO_per_IP": 0.66667,
"HR_per_IP": 0.0
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 3.2,
"predicted_ER": 1.617,
"predicted_H": 3.541,
"predicted_BB": 1.616,
"predicted_SO": 3.425,
"predicted_HR": 0.472,
"predicted_ERA": 3.797,
"predicted_WHIP": 1.3453
}
},
"model_form_blend_trace": {
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.7021,
"form_weight": 0.2979,
"form_reliability": 0.1667,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 1.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.1667,
"prior_weight": 0.8333
},
"applied_metrics": {
"predicted_IP": {
"model": 4.0,
"form": 3.2,
"final": 4.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 1.617,
"final": 2.588,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 3.541,
"final": 4.5653,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 1.616,
"final": 0.4815,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 9.0,
"form": 3.425,
"final": 7.339,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 2.0,
"form": 0.472,
"final": 1.5448,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.797,
"final": 3.797,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3453,
"final": 1.3453,
"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": "insufficient_data"
},
"pitching": {
"IP": 3.0,
"ER": 0,
"H": 2,
"BB": 2,
"SO": 2,
"HR": 0,
"ERA": 0.0,
"WHIP": 1.3333333333333333,
"K9": 6.0,
"HR9": 0.0,
"games_pitched": 1,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 1,
"error_prone": false
},
"games_count": 1,
"latest_game_date": "2026-09-08T00:00:00"
},
"recent_form_boost": 0.9506532836177379,
"stat_evolution": [
{
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_IP": 4.0,
"predicted_ER": 3.0,
"predicted_H": 5.0,
"predicted_BB": 0.0,
"predicted_SO": 9.0,
"predicted_HR": 2.0
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 1.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.1667,
"prior_weight": 0.8333
}
},
{
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_IP": 3.0,
"predicted_ER": 3,
"predicted_H": 5,
"predicted_BB": 0,
"predicted_SO": 9,
"predicted_HR": 2
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "669203",
"player_name": "Corbin Burnes",
"position": "Starter",
"team": "ARI",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 3.0,
"predicted_H": 5.0,
"predicted_HR": 2.0,
"predicted_IP": 4.0,
"predicted_SO": 9.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
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 3.0,
"predicted_H": 5.0,
"predicted_HR": 2.0,
"predicted_IP": 3.0,
"predicted_SO": 9.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 9.0,
"after": 9.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 3.0,
"predicted_H": 5.0,
"predicted_HR": 2.0,
"predicted_IP": 3.0,
"predicted_R": 3.0,
"predicted_SO": 9.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 9.0,
"after": 9.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 9.0,
"after": 9.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
},
"team_form_snapshot": {
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ARI",
"games": 150,
"wins": 79,
"losses": 71,
"win_pct": 0.5267,
"runs_scored": 665.0,
"runs_allowed": 663.0,
"run_differential": 2.0,
"run_differential_per_game": 0.0133,
"avg_runs_scored": 4.4333,
"avg_runs_allowed": 4.42,
"offense_index": 0.9853,
"defense_index": 1.018,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.4,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.0593
},
"opponent": {
"team": "MIA",
"games": 150,
"wins": 74,
"losses": 76,
"win_pct": 0.4933,
"runs_scored": 666.0,
"runs_allowed": 660.0,
"run_differential": 6.0,
"run_differential_per_game": 0.04,
"avg_runs_scored": 4.44,
"avg_runs_allowed": 4.4,
"offense_index": 0.9868,
"defense_index": 1.0226,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 5.4,
"avg_runs_allowed": 6.6,
"run_differential": -12.0
},
"available": true,
"quality_score": -0.0708
},
"edges": {
"quality_edge": 0.1301,
"offense_edge": -0.0147,
"opponent_offense_edge": -0.0132,
"defense_strength": 0.018,
"opponent_defense_weakness": -0.0226,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.0063,
"run_prevention": 0.9896,
"strikeout": 1.005
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "669203",
"profile": {
"available": true,
"pitcher_id": "669203",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 0.0,
"k_percent": 22.6,
"bb_percent": 9.0,
"woba": 0.31,
"xwoba": 0.308,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.0,
"hard_hit_percent": 37.5,
"avg_best_speed": 77.5157,
"avg_hyper_speed": 93.8851,
"whiff_percent": 25.6,
"swing_percent": 47.7
},
"league_medians": {
"pa": 130.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6536,
"avg_hyper_speed": 93.9166,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.0848,
"command_and_miss": 0.0786,
"regression_edge": 0.0571,
"xwoba_edge": 0.1143,
"barrel_edge": 0.0222,
"hard_hit_edge": 0.0571,
"whiff_edge": 0.0857,
"bb_edge": 0.05,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "669203",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0331,
"sample_weight": 0.45,
"run_prevention_factor": 0.9972,
"strikeout_factor": 1.0031,
"walk_factor": 0.9982,
"homer_factor": 0.9966,
"woba_minus_xwoba": 0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669203",
"espn_id": 39878,
"player_name": "Corbin Burnes",
"team": "ARI",
"role": "pitcher",
"espn_rank": 351,
"espn_total_ranked": 861,
"metrics": {
"espn_rank": 351,
"gp_value": 1.0,
"gp_rank": "789",
"gs_value": 1.0,
"gs_rank": "299",
"qs_value": 0.0,
"qs_rank": "210",
"era_value": 0.0,
"era_rank": null,
"w_value": 0.0,
"w_rank": "538",
"l_value": 0.0,
"l_rank": "577",
"sv_value": 0.0,
"sv_rank": "251",
"hld_value": 0.0,
"hld_rank": "354",
"ip_value": 3.0,
"ip_rank": "765",
"h_value": 2.0,
"h_rank": "803",
"er_value": 0.0,
"er_rank": "824",
"hr_value": 0.0,
"hr_rank": "746",
"bb_value": 2.0,
"bb_rank": "720",
"k_value": 2.0,
"k_rank": "741",
"k_per_9_value": 6.0,
"k_per_9_rank": 26.0,
"whip_value": 1.3333,
"whip_rank": null,
"war_value": 0.19,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9987,
"adjusted": 0
},
"predicted_H": {
"original": 2.0,
"factor": 0.9987,
"adjusted": 2
},
"predicted_BB": {
"original": 2.0,
"factor": 0.9992,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9985,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0014,
"adjusted": 2
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 3.0,
"predicted_H": 5,
"predicted_R": 3,
"predicted_ER": 3,
"predicted_BB": 0,
"predicted_SO": 9,
"predicted_HR": 2,
"box_score_synced": true,
"BF": 14,
"Pitches": 61,
"published_line_source": "scoring_simulation.box_score"
}
},
"findings": [
{
"code": "PARTIAL_PRIOR_HISTORY",
"severity": "warning",
"title": "Only 1 prior appearances available",
"detail": "The requested last-10 window is incomplete, so recent-form averages have a smaller and less stable sample."
},
{
"code": "MATERIAL_ER_MISS",
"severity": "warning",
"title": "Earned-run miss of 2",
"detail": "Actual minus predicted earned runs was +2."
}
],
"provenance": {
"prediction": "output/games/20260914_MIA@ARI.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"
}
} |
| 20260914 | 20260914_NYY@MIN | away | Will Warren | Will Warren | True | 5.1 | 5.2 | 1 | 3 | 0 | -3 | 2/5 | 2/2 | 4/6 | Last 10 before this game (10 available){
"model_context": {
"embedded_season": {
"ERA": 4.046838407494145,
"WHIP": 1.3629976580796253,
"IP": 142.1,
"games_started": null,
"games_pitched": 29,
"role_avg_IP": 5.16,
"recent_avg_IP": 5.2,
"last_start_IP": 6.0,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": -0.2033,
"sample_weight": 1.0,
"run_prevention_factor": 1.0173,
"strikeout_factor": 0.9897,
"walk_factor": 0.974,
"homer_factor": 1.0614,
"regression_flag": "neutral",
"k_percent": 22.9,
"bb_percent": 7.9,
"woba": 0.333,
"xwoba": 0.325,
"barrel_percent": 7.9,
"hard_hit_percent": 44.2,
"whiff_percent": 22.3
},
"espn_rank": {
"rank": 187,
"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": "701542",
"report_date": "20260914",
"season_year": 2026,
"rows_used": 29,
"reference_playing_time": 5.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 24.1,
"ER": 6.0,
"R": 7.0,
"H": 20.0,
"BB": 8.0,
"SO": 24.0,
"HR": 3.0,
"BF": 100.0,
"Pitches": 408.0
},
"per_game": {
"IP": 5.0,
"ER": 1.2,
"R": 1.4,
"H": 4.0,
"BB": 1.6,
"SO": 4.8,
"HR": 0.6,
"BF": 20.0,
"Pitches": 81.6
},
"rates": {
"ERA": 2.2192,
"WHIP": 1.1507,
"ER_per_IP": 0.24658,
"H_per_IP": 0.82192,
"BB_per_IP": 0.32877,
"SO_per_IP": 0.9863,
"HR_per_IP": 0.12329
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 44.0,
"ER": 20.0,
"R": 21.0,
"H": 44.0,
"BB": 16.0,
"SO": 45.0,
"HR": 7.0,
"BF": 188.0,
"Pitches": 752.0
},
"per_game": {
"IP": 4.1,
"ER": 2.0,
"R": 2.1,
"H": 4.4,
"BB": 1.6,
"SO": 4.5,
"HR": 0.7,
"BF": 18.8,
"Pitches": 75.2
},
"rates": {
"ERA": 4.0909,
"WHIP": 1.3636,
"ER_per_IP": 0.45455,
"H_per_IP": 1.0,
"BB_per_IP": 0.36364,
"SO_per_IP": 1.02273,
"HR_per_IP": 0.15909
}
},
"season": {
"games": 29,
"totals": {
"IP": 142.1,
"ER": 64.0,
"R": 77.0,
"H": 145.0,
"BB": 49.0,
"SO": 141.0,
"HR": 21.0,
"BF": 617.0,
"Pitches": 2413.0
},
"per_game": {
"IP": 5.0,
"ER": 2.2069,
"R": 2.6552,
"H": 5.0,
"BB": 1.6897,
"SO": 4.8621,
"HR": 0.7241,
"BF": 21.2759,
"Pitches": 83.2069
},
"rates": {
"ERA": 4.0468,
"WHIP": 1.363,
"ER_per_IP": 0.44965,
"H_per_IP": 1.01874,
"BB_per_IP": 0.34426,
"SO_per_IP": 0.99063,
"HR_per_IP": 0.14754
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.0,
"predicted_ER": 1.85,
"predicted_H": 4.516,
"predicted_BB": 1.689,
"predicted_SO": 4.806,
"predicted_HR": 0.687,
"predicted_ERA": 3.4335,
"predicted_WHIP": 1.2794
}
},
"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": 5.1,
"form": 5.0,
"final": 5.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 1.85,
"final": 2.324,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 4.516,
"final": 3.479,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.689,
"final": 1.8172,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 4.806,
"final": 4.4738,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 2.0,
"form": 0.687,
"final": 1.2282,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.4335,
"final": 3.4335,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2794,
"final": 1.2794,
"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": 44.0,
"ER": 20,
"H": 44,
"BB": 16,
"SO": 45,
"HR": 7,
"ERA": 4.090909090909091,
"WHIP": 1.3636363636363635,
"K9": 9.204545454545455,
"HR9": 1.4318181818181819,
"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-09T00:00:00"
},
"recent_form_boost": 0.9611718316428344,
"stat_evolution": [
{
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_IP": 5.333333333333333,
"predicted_ER": 3.0,
"predicted_H": 2.0,
"predicted_BB": 2.0,
"predicted_SO": 4.0,
"predicted_HR": 2.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
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "701542",
"player_name": "Will Warren",
"position": "Starter",
"team": "NYY",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"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": 2.0,
"predicted_HR": 2.0,
"predicted_IP": 5.3333,
"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
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 3.0,
"predicted_H": 2.0,
"predicted_HR": 2.0,
"predicted_IP": 5.1,
"predicted_R": 3.0,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"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": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"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": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
},
"team_form_snapshot": {
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "NYY",
"games": 149,
"wins": 86,
"losses": 63,
"win_pct": 0.5772,
"runs_scored": 677.0,
"runs_allowed": 552.0,
"run_differential": 125.0,
"run_differential_per_game": 0.8389,
"avg_runs_scored": 4.5436,
"avg_runs_allowed": 3.7047,
"offense_index": 1.0101,
"defense_index": 1.2142,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 3.4,
"run_differential": 13.0
},
"available": true,
"quality_score": 0.2382
},
"opponent": {
"team": "MIN",
"games": 149,
"wins": 70,
"losses": 79,
"win_pct": 0.4698,
"runs_scored": 683.0,
"runs_allowed": 745.0,
"run_differential": -62.0,
"run_differential_per_game": -0.4161,
"avg_runs_scored": 4.5839,
"avg_runs_allowed": 5.0,
"offense_index": 1.019,
"defense_index": 0.8997,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.1,
"avg_runs_allowed": 6.0,
"run_differential": -29.0
},
"available": true,
"quality_score": -0.1465
},
"edges": {
"quality_edge": 0.3847,
"offense_edge": 0.0101,
"opponent_offense_edge": 0.019,
"defense_strength": 0.2142,
"opponent_defense_weakness": 0.1003,
"recent_win_pct_edge": 0.4
},
"player_factors": {
"ip": 1.0211,
"run_prevention": 0.9624,
"strikeout": 1.01
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "701542",
"profile": {
"available": true,
"pitcher_id": "701542",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 591.0,
"k_percent": 22.9,
"bb_percent": 7.9,
"woba": 0.333,
"xwoba": 0.325,
"sweet_spot_percent": 34.0,
"barrel_batted_rate": 7.9,
"hard_hit_percent": 44.2,
"avg_best_speed": 80.5331,
"avg_hyper_speed": 95.0415,
"whiff_percent": 22.3,
"swing_percent": 44.3
},
"league_medians": {
"pa": 130.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6536,
"avg_hyper_speed": 93.9166,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.4012,
"command_and_miss": -0.0121,
"regression_edge": 0.2286,
"xwoba_edge": -0.3714,
"barrel_edge": -0.1778,
"hard_hit_edge": -0.9,
"whiff_edge": -0.3857,
"bb_edge": 0.325,
"pitch_design_score": 0.0212
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "701542",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 78,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 78,
"pitch_usage": 0.0,
"release_speed": 90.22784550610565,
"release_spin_rate": 2500.520729883811,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 78,
"pitch_usage": 0.0,
"release_speed": 90.22784550610565,
"release_spin_rate": 2500.520729883811,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 90.2278,
"release_spin_rate": 2500.5207,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0212,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1516,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.2033,
"sample_weight": 1.0,
"run_prevention_factor": 1.0173,
"strikeout_factor": 0.9897,
"walk_factor": 0.974,
"homer_factor": 1.0614,
"woba_minus_xwoba": 0.008,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "701542",
"espn_id": 5132011,
"player_name": "Will Warren",
"team": "NYY",
"role": "pitcher",
"espn_rank": 187,
"espn_total_ranked": 861,
"metrics": {
"espn_rank": 187,
"gp_value": 29.0,
"gp_rank": "244",
"gs_value": 27.0,
"gs_rank": "45",
"qs_value": 8.0,
"qs_rank": "77",
"era_value": 4.0468,
"era_rank": null,
"w_value": 10.0,
"w_rank": "30",
"l_value": 6.0,
"l_rank": "114",
"sv_value": 0.0,
"sv_rank": "251",
"hld_value": 1.0,
"hld_rank": "272",
"ip_value": 142.1,
"ip_rank": "58",
"h_value": 145.0,
"h_rank": "29",
"er_value": 64.0,
"er_rank": "55",
"hr_value": 21.0,
"hr_rank": "32",
"bb_value": 49.0,
"bb_rank": "47",
"k_value": 141.0,
"k_rank": "44",
"k_per_9_value": 8.915691,
"k_per_9_rank": 20.0,
"whip_value": 1.3629,
"whip_rank": null,
"war_value": 0.94,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0173,
"adjusted": 2
},
"predicted_H": {
"original": 5.0,
"factor": 1.0173,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 0.974,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0614,
"adjusted": 1
},
"predicted_SO": {
"original": 5.0,
"factor": 0.9897,
"adjusted": 5
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 5.1,
"predicted_H": 2,
"predicted_R": 3,
"predicted_ER": 3,
"predicted_BB": 2,
"predicted_SO": 4,
"predicted_HR": 2,
"box_score_synced": true,
"BF": 21,
"Pitches": 93,
"published_line_source": "scoring_simulation.box_score"
}
},
"findings": [
{
"code": "DIRECT_ER_MISS",
"severity": "error",
"title": "Earned-run miss of 3",
"detail": "Actual minus predicted earned runs was -3."
},
{
"code": "HOMER_COMPONENT_MISS",
"severity": "warning",
"title": "Home-run component missed",
"detail": "Actual minus predicted home runs was -2."
},
{
"code": "MISSED_SHUTDOWN",
"severity": "error",
"title": "Model missed a shutdown outing",
"detail": "The pitcher allowed zero earned runs after a projection of 3 ER."
}
],
"provenance": {
"prediction": "output/games/20260914_NYY@MIN.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"
}
} |
| 20260914 | 20260914_NYY@MIN | home | Dean Kremer | Dean Kremer | True | 4.2 | 5.2 | 3 | 3 | 1 | -2 | 6/2 | 1/1 | 5/5 | Last 10 before this game (10 available){
"model_context": {
"embedded_season": {
"ERA": 5.651162790697674,
"WHIP": 1.2976744186046512,
"IP": 71.2,
"games_started": null,
"games_pitched": 14,
"role_avg_IP": 5.119,
"recent_avg_IP": 4.733,
"last_start_IP": 5.0,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": -0.1227,
"sample_weight": 1.0,
"run_prevention_factor": 1.0104,
"strikeout_factor": 1.024,
"walk_factor": 0.982,
"homer_factor": 1.0376,
"regression_flag": "neutral",
"k_percent": 23.0,
"bb_percent": 8.3,
"woba": 0.345,
"xwoba": 0.329,
"barrel_percent": 9.2,
"hard_hit_percent": 35.4,
"whiff_percent": 28.2
},
"espn_rank": {
"rank": 713,
"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": 14.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7368,
"prior_weight": 0.2632
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "665152",
"report_date": "20260914",
"season_year": 2026,
"rows_used": 14,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 23.2,
"ER": 17.0,
"R": 18.0,
"H": 26.0,
"BB": 11.0,
"SO": 22.0,
"HR": 4.0,
"BF": 106.0,
"Pitches": 428.0
},
"per_game": {
"IP": 4.2,
"ER": 3.4,
"R": 3.6,
"H": 5.2,
"BB": 2.2,
"SO": 4.4,
"HR": 0.8,
"BF": 21.2,
"Pitches": 85.6
},
"rates": {
"ERA": 6.4648,
"WHIP": 1.5634,
"ER_per_IP": 0.71831,
"H_per_IP": 1.09859,
"BB_per_IP": 0.46479,
"SO_per_IP": 0.92958,
"HR_per_IP": 0.16901
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 49.2,
"ER": 35.0,
"R": 36.0,
"H": 50.0,
"BB": 21.0,
"SO": 45.0,
"HR": 7.0,
"BF": 214.0,
"Pitches": 856.0
},
"per_game": {
"IP": 5.0,
"ER": 3.5,
"R": 3.6,
"H": 5.0,
"BB": 2.1,
"SO": 4.5,
"HR": 0.7,
"BF": 21.4,
"Pitches": 85.6
},
"rates": {
"ERA": 6.3423,
"WHIP": 1.4295,
"ER_per_IP": 0.7047,
"H_per_IP": 1.00671,
"BB_per_IP": 0.42282,
"SO_per_IP": 0.90604,
"HR_per_IP": 0.14094
}
},
"season": {
"games": 14,
"totals": {
"IP": 71.2,
"ER": 45.0,
"R": 48.0,
"H": 68.0,
"BB": 25.0,
"SO": 69.0,
"HR": 16.0,
"BF": 300.0,
"Pitches": 1202.0
},
"per_game": {
"IP": 5.0,
"ER": 3.2143,
"R": 3.4286,
"H": 4.8571,
"BB": 1.7857,
"SO": 4.9286,
"HR": 1.1429,
"BF": 21.4286,
"Pitches": 85.8571
},
"rates": {
"ERA": 5.6512,
"WHIP": 1.2977,
"ER_per_IP": 0.62791,
"H_per_IP": 0.94884,
"BB_per_IP": 0.34884,
"SO_per_IP": 0.96279,
"HR_per_IP": 0.22326
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.0,
"predicted_ER": 3.157,
"predicted_H": 4.989,
"predicted_BB": 2.017,
"predicted_SO": 4.552,
"predicted_HR": 0.803,
"predicted_ERA": 5.8111,
"predicted_WHIP": 1.4329
}
},
"model_form_blend_trace": {
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4612,
"form_weight": 0.5388,
"form_reliability": 0.7368,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 14.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7368,
"prior_weight": 0.2632
},
"applied_metrics": {
"predicted_IP": {
"model": 5.0,
"form": 5.0,
"final": 5.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 3.157,
"final": 3.0846,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 4.989,
"final": 5.4553,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 2.017,
"final": 1.548,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 4.552,
"final": 4.7586,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 3.0,
"form": 0.803,
"final": 1.8163,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.8111,
"final": 5.8111,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4329,
"final": 1.4329,
"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": 49.2,
"ER": 35,
"H": 50,
"BB": 21,
"SO": 45,
"HR": 7,
"ERA": 6.342281879194632,
"WHIP": 1.429530201342282,
"K9": 8.154362416107382,
"HR9": 1.2684563758389262,
"games_pitched": 10,
"quality_starts": 1,
"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-08T00:00:00"
},
"recent_form_boost": 1.2160986162676055,
"stat_evolution": [
{
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_IP": 5.0,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_BB": 1.0,
"predicted_SO": 5.0,
"predicted_HR": 3.0
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 14.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7368,
"prior_weight": 0.2632
}
},
{
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_IP": 4.2,
"predicted_ER": 3,
"predicted_H": 6,
"predicted_BB": 1,
"predicted_SO": 5,
"predicted_HR": 3
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "665152",
"player_name": "Dean Kremer",
"position": "Starter",
"team": "MIN",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"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": 6.0,
"predicted_HR": 3.0,
"predicted_IP": 5.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
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_HR": 3.0,
"predicted_IP": 4.2,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 4.2,
"delta": -0.8,
"percent_delta": -0.16,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"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": 5.0,
"after": 4.2,
"delta": -0.8,
"percent_delta": -0.16,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_HR": 3.0,
"predicted_IP": 4.2,
"predicted_R": 3.0,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.2,
"after": 4.2,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 4.2,
"delta": -0.8,
"percent_delta": -0.16,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"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": 5.0,
"after": 4.2,
"delta": -0.8,
"percent_delta": -0.16,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
},
"team_form_snapshot": {
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIN",
"games": 149,
"wins": 70,
"losses": 79,
"win_pct": 0.4698,
"runs_scored": 683.0,
"runs_allowed": 745.0,
"run_differential": -62.0,
"run_differential_per_game": -0.4161,
"avg_runs_scored": 4.5839,
"avg_runs_allowed": 5.0,
"offense_index": 1.019,
"defense_index": 0.8997,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.1,
"avg_runs_allowed": 6.0,
"run_differential": -29.0
},
"available": true,
"quality_score": -0.1465
},
"opponent": {
"team": "NYY",
"games": 149,
"wins": 86,
"losses": 63,
"win_pct": 0.5772,
"runs_scored": 677.0,
"runs_allowed": 552.0,
"run_differential": 125.0,
"run_differential_per_game": 0.8389,
"avg_runs_scored": 4.5436,
"avg_runs_allowed": 3.7047,
"offense_index": 1.0101,
"defense_index": 1.2142,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 3.4,
"run_differential": 13.0
},
"available": true,
"quality_score": 0.2382
},
"edges": {
"quality_edge": -0.3847,
"offense_edge": 0.019,
"opponent_offense_edge": 0.0101,
"defense_strength": -0.1003,
"opponent_defense_weakness": -0.2142,
"recent_win_pct_edge": -0.4
},
"player_factors": {
"ip": 0.9812,
"run_prevention": 1.0309,
"strikeout": 0.9877
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "665152",
"profile": {
"available": true,
"pitcher_id": "665152",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 280.0,
"k_percent": 23.0,
"bb_percent": 8.3,
"woba": 0.345,
"xwoba": 0.329,
"sweet_spot_percent": 38.8,
"barrel_batted_rate": 9.2,
"hard_hit_percent": 35.4,
"avg_best_speed": 76.3448,
"avg_hyper_speed": 93.6189,
"whiff_percent": 28.2,
"swing_percent": 45.4
},
"league_medians": {
"pa": 130.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6536,
"avg_hyper_speed": 93.9166,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.4011,
"command_and_miss": 0.2693,
"regression_edge": 0.4571,
"xwoba_edge": -0.4857,
"barrel_edge": -0.4667,
"hard_hit_edge": 0.3571,
"whiff_edge": 0.4571,
"bb_edge": 0.225,
"pitch_design_score": -0.1727
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "665152",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 89,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 89,
"pitch_usage": 0.0,
"release_speed": 86.76486917157884,
"release_spin_rate": 2100.0341139661887,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 89,
"pitch_usage": 0.0,
"release_speed": 86.76486917157884,
"release_spin_rate": 2100.0341139661887,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 86.7649,
"release_spin_rate": 2100.0341,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1727,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.2336,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.1227,
"sample_weight": 1.0,
"run_prevention_factor": 1.0104,
"strikeout_factor": 1.024,
"walk_factor": 0.982,
"homer_factor": 1.0376,
"woba_minus_xwoba": 0.016,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665152",
"espn_id": 38295,
"player_name": "Dean Kremer",
"team": "MIN",
"role": "pitcher",
"espn_rank": 713,
"espn_total_ranked": 861,
"metrics": {
"espn_rank": 713,
"gp_value": 14.0,
"gp_rank": "476",
"gs_value": 14.0,
"gs_rank": "147",
"qs_value": 3.0,
"qs_rank": "141",
"era_value": 5.6511,
"era_rank": null,
"w_value": 3.0,
"w_rank": "248",
"l_value": 5.0,
"l_rank": "137",
"sv_value": 0.0,
"sv_rank": "251",
"hld_value": 0.0,
"hld_rank": "354",
"ip_value": 71.2,
"ip_rank": "184",
"h_value": 68.0,
"h_rank": "175",
"er_value": 45.0,
"er_rank": "133",
"hr_value": 16.0,
"hr_rank": "87",
"bb_value": 25.0,
"bb_rank": "221",
"k_value": 69.0,
"k_rank": "190",
"k_per_9_value": 8.665116,
"k_per_9_rank": 27.0,
"whip_value": 1.2976,
"whip_rank": null,
"war_value": -0.3,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0104,
"adjusted": 3
},
"predicted_H": {
"original": 5.0,
"factor": 1.0104,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 0.982,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0376,
"adjusted": 1
},
"predicted_SO": {
"original": 5.0,
"factor": 1.024,
"adjusted": 5
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 4.2,
"predicted_H": 6,
"predicted_R": 3,
"predicted_ER": 3,
"predicted_BB": 1,
"predicted_SO": 5,
"predicted_HR": 3,
"box_score_synced": true,
"BF": 21,
"Pitches": 93,
"published_line_source": "scoring_simulation.box_score"
}
},
"findings": [
{
"code": "MATERIAL_ER_MISS",
"severity": "warning",
"title": "Earned-run miss of 2",
"detail": "Actual minus predicted earned runs was -2."
},
{
"code": "HIT_COMPONENT_MISS",
"severity": "warning",
"title": "Hits missed by 4",
"detail": "Actual minus predicted hits was -4."
},
{
"code": "HOMER_COMPONENT_MISS",
"severity": "warning",
"title": "Home-run component missed",
"detail": "Actual minus predicted home runs was -2."
}
],
"provenance": {
"prediction": "output/games/20260914_NYY@MIN.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"
}
} |
| 20260914 | 20260914_SD@COL | away | Casey Mize | Casey Mize | True | 5.0 | 5.0 | 0 | 3 | 2 | -1 | 3/8 | 0/2 | 4/0 | Last 10 before this game (10 available){
"model_context": {
"embedded_season": {
"ERA": 3.695530726256983,
"WHIP": 1.106145251396648,
"IP": 119.1,
"games_started": null,
"games_pitched": 23,
"role_avg_IP": 5.188,
"recent_avg_IP": 4.667,
"last_start_IP": 5.2,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": 0.1788,
"sample_weight": 1.0,
"run_prevention_factor": 0.9848,
"strikeout_factor": 0.996,
"walk_factor": 0.936,
"homer_factor": 1.0119,
"regression_flag": "neutral",
"k_percent": 22.0,
"bb_percent": 6.0,
"woba": 0.293,
"xwoba": 0.289,
"barrel_percent": 8.3,
"hard_hit_percent": 39.7,
"whiff_percent": 24.3
},
"espn_rank": {
"rank": 86,
"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": 23.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8214,
"prior_weight": 0.1786
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "663554",
"report_date": "20260914",
"season_year": 2026,
"rows_used": 23,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 23.1,
"ER": 13.0,
"R": 18.0,
"H": 22.0,
"BB": 5.0,
"SO": 15.0,
"HR": 7.0,
"BF": 99.0,
"Pitches": 385.0
},
"per_game": {
"IP": 4.2,
"ER": 2.6,
"R": 3.6,
"H": 4.4,
"BB": 1.0,
"SO": 3.0,
"HR": 1.4,
"BF": 19.8,
"Pitches": 77.0
},
"rates": {
"ERA": 5.0143,
"WHIP": 1.1571,
"ER_per_IP": 0.55714,
"H_per_IP": 0.94286,
"BB_per_IP": 0.21429,
"SO_per_IP": 0.64286,
"HR_per_IP": 0.3
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 47.2,
"ER": 28.0,
"R": 34.0,
"H": 49.0,
"BB": 13.0,
"SO": 35.0,
"HR": 9.0,
"BF": 206.0,
"Pitches": 801.0
},
"per_game": {
"IP": 4.2,
"ER": 2.8,
"R": 3.4,
"H": 4.9,
"BB": 1.3,
"SO": 3.5,
"HR": 0.9,
"BF": 20.6,
"Pitches": 80.1
},
"rates": {
"ERA": 5.2867,
"WHIP": 1.3007,
"ER_per_IP": 0.58741,
"H_per_IP": 1.02797,
"BB_per_IP": 0.27273,
"SO_per_IP": 0.73427,
"HR_per_IP": 0.18881
}
},
"season": {
"games": 23,
"totals": {
"IP": 119.1,
"ER": 49.0,
"R": 55.0,
"H": 103.0,
"BB": 29.0,
"SO": 107.0,
"HR": 14.0,
"BF": 486.0,
"Pitches": 1863.0
},
"per_game": {
"IP": 5.1,
"ER": 2.1304,
"R": 2.3913,
"H": 4.4783,
"BB": 1.2609,
"SO": 4.6522,
"HR": 0.6087,
"BF": 21.1304,
"Pitches": 81.0
},
"rates": {
"ERA": 3.6955,
"WHIP": 1.1061,
"ER_per_IP": 0.41061,
"H_per_IP": 0.86313,
"BB_per_IP": 0.24302,
"SO_per_IP": 0.89665,
"HR_per_IP": 0.11732
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.0,
"predicted_ER": 2.576,
"predicted_H": 4.642,
"predicted_BB": 1.277,
"predicted_SO": 3.693,
"predicted_HR": 1.019,
"predicted_ERA": 4.7942,
"predicted_WHIP": 1.224
}
},
"model_form_blend_trace": {
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4255,
"form_weight": 0.5745,
"form_reliability": 0.8214,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 23.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8214,
"prior_weight": 0.1786
},
"applied_metrics": {
"predicted_IP": {
"model": 5.0,
"form": 5.0,
"final": 5.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 2.576,
"final": 2.7564,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 4.642,
"final": 3.9434,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 1.277,
"final": 0.7337,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 3.693,
"final": 3.3982,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 1.019,
"final": 1.0109,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.7942,
"final": 4.7942,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.224,
"final": 1.224,
"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": 47.2,
"ER": 28,
"H": 49,
"BB": 13,
"SO": 35,
"HR": 9,
"ERA": 5.286713286713286,
"WHIP": 1.3006993006993006,
"K9": 6.608391608391607,
"HR9": 1.6993006993006992,
"games_pitched": 10,
"quality_starts": 3,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-09-08T00:00:00"
},
"recent_form_boost": 1.0941263770973797,
"stat_evolution": [
{
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_IP": 5.0,
"predicted_ER": 3.0,
"predicted_H": 3.0,
"predicted_BB": 0.0,
"predicted_SO": 3.0,
"predicted_HR": 1.0
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 23.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8214,
"prior_weight": 0.1786
}
},
{
"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": 3,
"predicted_H": 3,
"predicted_BB": 0,
"predicted_SO": 4,
"predicted_HR": 1
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "663554",
"player_name": "Casey Mize",
"position": "Starter",
"team": "SD",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 3.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 5.0,
"predicted_SO": 3.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
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"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": 0.0,
"predicted_ER": 3.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 5.0,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SO",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 3.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 5.0,
"predicted_R": 3.0,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SO",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
},
"team_form_snapshot": {
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SD",
"games": 149,
"wins": 81,
"losses": 68,
"win_pct": 0.5436,
"runs_scored": 639.0,
"runs_allowed": 617.0,
"run_differential": 22.0,
"run_differential_per_game": 0.1477,
"avg_runs_scored": 4.2886,
"avg_runs_allowed": 4.1409,
"offense_index": 0.9539,
"defense_index": 1.0857,
"current_streak": "W7",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 4.0,
"run_differential": 8.0
},
"available": true,
"quality_score": 0.1601
},
"opponent": {
"team": "COL",
"games": 149,
"wins": 55,
"losses": 94,
"win_pct": 0.3691,
"runs_scored": 696.0,
"runs_allowed": 865.0,
"run_differential": -169.0,
"run_differential_per_game": -1.1342,
"avg_runs_scored": 4.6711,
"avg_runs_allowed": 5.8054,
"offense_index": 1.039,
"defense_index": 0.7744,
"current_streak": "L7",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 7.5,
"run_differential": -28.0
},
"available": true,
"quality_score": -0.355
},
"edges": {
"quality_edge": 0.5151,
"offense_edge": -0.0461,
"opponent_offense_edge": 0.039,
"defense_strength": 0.0857,
"opponent_defense_weakness": 0.2256,
"recent_win_pct_edge": 0.6
},
"player_factors": {
"ip": 1.0216,
"run_prevention": 0.9719,
"strikeout": 1.0123
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "663554",
"profile": {
"available": true,
"pitcher_id": "663554",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 462.0,
"k_percent": 22.0,
"bb_percent": 6.0,
"woba": 0.293,
"xwoba": 0.289,
"sweet_spot_percent": 35.3,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 39.7,
"avg_best_speed": 79.1528,
"avg_hyper_speed": 94.0889,
"whiff_percent": 24.3,
"swing_percent": 48.0
},
"league_medians": {
"pa": 130.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6536,
"avg_hyper_speed": 93.9166,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.2406,
"command_and_miss": 0.125,
"regression_edge": 0.1143,
"xwoba_edge": 0.6571,
"barrel_edge": -0.2667,
"hard_hit_edge": -0.2571,
"whiff_edge": -0.1,
"bb_edge": 0.8,
"pitch_design_score": 0.0017
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "663554",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 75,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 75,
"pitch_usage": 0.0,
"release_speed": 89.87838562030423,
"release_spin_rate": 2090.4638413751763,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 75,
"pitch_usage": 0.0,
"release_speed": 89.87838562030423,
"release_spin_rate": 2090.4638413751763,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 89.8784,
"release_spin_rate": 2090.4638,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.0017,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.0118,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.1788,
"sample_weight": 1.0,
"run_prevention_factor": 0.9848,
"strikeout_factor": 0.996,
"walk_factor": 0.936,
"homer_factor": 1.0119,
"woba_minus_xwoba": 0.004,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663554",
"espn_id": 41167,
"player_name": "Casey Mize",
"team": "SD",
"role": "pitcher",
"espn_rank": 86,
"espn_total_ranked": 861,
"metrics": {
"espn_rank": 86,
"gp_value": 23.0,
"gp_rank": "353",
"gs_value": 23.0,
"gs_rank": "81",
"qs_value": 10.0,
"qs_rank": "59",
"era_value": 3.6955,
"era_rank": null,
"w_value": 5.0,
"w_rank": "150",
"l_value": 9.0,
"l_rank": "32",
"sv_value": 0.0,
"sv_rank": "251",
"hld_value": 0.0,
"hld_rank": "354",
"ip_value": 119.1,
"ip_rank": "93",
"h_value": 103.0,
"h_rank": "117",
"er_value": 49.0,
"er_rank": "110",
"hr_value": 14.0,
"hr_rank": "109",
"bb_value": 29.0,
"bb_rank": "183",
"k_value": 107.0,
"k_rank": "90",
"k_per_9_value": 8.069833,
"k_per_9_rank": 26.0,
"whip_value": 1.1061,
"whip_rank": null,
"war_value": 1.89,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.9848,
"adjusted": 2
},
"predicted_H": {
"original": 5.0,
"factor": 0.9848,
"adjusted": 5
},
"predicted_BB": {
"original": 1.0,
"factor": 0.936,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0119,
"adjusted": 1
},
"predicted_SO": {
"original": 4.0,
"factor": 0.996,
"adjusted": 4
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 5.0,
"predicted_H": 3,
"predicted_R": 3,
"predicted_ER": 3,
"predicted_BB": 0,
"predicted_SO": 4,
"predicted_HR": 1,
"box_score_synced": true,
"BF": 19,
"Pitches": 82,
"published_line_source": "scoring_simulation.box_score"
}
},
"findings": [
{
"code": "ER_WITHIN_ONE",
"severity": "good",
"title": "Earned runs within one",
"detail": "Actual minus predicted earned runs was -1."
},
{
"code": "HIT_COMPONENT_MISS",
"severity": "warning",
"title": "Hits missed by 5",
"detail": "Actual minus predicted hits was +5."
}
],
"provenance": {
"prediction": "output/games/20260914_SD@COL.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"
}
} |
| 20260914 | 20260914_SD@COL | home | Tomoyuki Sugano | Tomoyuki Sugano | True | 4.2 | 5.0 | 1 | 3 | 6 | 3 | 6/8 | 1/1 | 5/2 | Last 10 before this game (10 available){
"model_context": {
"embedded_season": {
"ERA": 5.295399515738499,
"WHIP": 1.3438256658595642,
"IP": 137.2,
"games_started": null,
"games_pitched": 26,
"role_avg_IP": 5.295,
"recent_avg_IP": 4.8,
"last_start_IP": 6.0,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": -1.0318,
"sample_weight": 1.0,
"run_prevention_factor": 1.0877,
"strikeout_factor": 0.92,
"walk_factor": 0.928,
"homer_factor": 1.182,
"regression_flag": "neutral",
"k_percent": 14.2,
"bb_percent": 5.6,
"woba": 0.361,
"xwoba": 0.386,
"barrel_percent": 12.1,
"hard_hit_percent": 43.1,
"whiff_percent": 18.8
},
"espn_rank": {
"rank": 118,
"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": 26.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8387,
"prior_weight": 0.1613
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "608372",
"report_date": "20260914",
"season_year": 2026,
"rows_used": 26,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 24.0,
"ER": 25.0,
"R": 26.0,
"H": 36.0,
"BB": 7.0,
"SO": 18.0,
"HR": 5.0,
"BF": 117.0,
"Pitches": 461.0
},
"per_game": {
"IP": 4.2,
"ER": 5.0,
"R": 5.2,
"H": 7.2,
"BB": 1.4,
"SO": 3.6,
"HR": 1.0,
"BF": 23.4,
"Pitches": 92.2
},
"rates": {
"ERA": 9.375,
"WHIP": 1.7917,
"ER_per_IP": 1.04167,
"H_per_IP": 1.5,
"BB_per_IP": 0.29167,
"SO_per_IP": 0.75,
"HR_per_IP": 0.20833
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 53.1,
"ER": 36.0,
"R": 37.0,
"H": 64.0,
"BB": 10.0,
"SO": 36.0,
"HR": 13.0,
"BF": 233.0,
"Pitches": 892.0
},
"per_game": {
"IP": 5.1,
"ER": 3.6,
"R": 3.7,
"H": 6.4,
"BB": 1.0,
"SO": 3.6,
"HR": 1.3,
"BF": 23.3,
"Pitches": 89.2
},
"rates": {
"ERA": 6.075,
"WHIP": 1.3875,
"ER_per_IP": 0.675,
"H_per_IP": 1.2,
"BB_per_IP": 0.1875,
"SO_per_IP": 0.675,
"HR_per_IP": 0.24375
}
},
"season": {
"games": 26,
"totals": {
"IP": 137.2,
"ER": 81.0,
"R": 84.0,
"H": 152.0,
"BB": 33.0,
"SO": 84.0,
"HR": 29.0,
"BF": 591.0,
"Pitches": 2272.0
},
"per_game": {
"IP": 5.1,
"ER": 3.1154,
"R": 3.2308,
"H": 5.8462,
"BB": 1.2692,
"SO": 3.2308,
"HR": 1.1154,
"BF": 22.7308,
"Pitches": 87.3846
},
"rates": {
"ERA": 5.2954,
"WHIP": 1.3438,
"ER_per_IP": 0.58838,
"H_per_IP": 1.10412,
"BB_per_IP": 0.23971,
"SO_per_IP": 0.61017,
"HR_per_IP": 0.21065
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.0,
"predicted_ER": 3.88,
"predicted_H": 6.34,
"predicted_BB": 1.335,
"predicted_SO": 3.696,
"predicted_HR": 1.052,
"predicted_ERA": 6.9448,
"predicted_WHIP": 1.5263
}
},
"model_form_blend_trace": {
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4181,
"form_weight": 0.5819,
"form_reliability": 0.8387,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 26.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8387,
"prior_weight": 0.1613
},
"applied_metrics": {
"predicted_IP": {
"model": 5.0,
"form": 5.0,
"final": 5.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 3.88,
"final": 3.9302,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 6.34,
"final": 6.1978,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.335,
"final": 1.1949,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 3.696,
"final": 4.2413,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 1.052,
"final": 1.0303,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 6.9448,
"final": 6.9448,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5263,
"final": 1.5263,
"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": 53.1,
"ER": 36,
"H": 64,
"BB": 10,
"SO": 36,
"HR": 13,
"ERA": 6.074999999999999,
"WHIP": 1.3874999999999997,
"K9": 6.074999999999999,
"HR9": 2.1937499999999996,
"games_pitched": 10,
"quality_starts": 4,
"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-09T00:00:00"
},
"recent_form_boost": 1.1849786498246524,
"stat_evolution": [
{
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_IP": 5.0,
"predicted_ER": 4.0,
"predicted_H": 6.0,
"predicted_BB": 1.0,
"predicted_SO": 5.0,
"predicted_HR": 1.0
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 26.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8387,
"prior_weight": 0.1613
}
},
{
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_IP": 4.2,
"predicted_ER": 4,
"predicted_H": 6,
"predicted_BB": 1,
"predicted_SO": 5,
"predicted_HR": 1
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "608372",
"player_name": "Tomoyuki Sugano",
"position": "Starter",
"team": "COL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 4.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 5.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
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 4.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 4.2,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 4.2,
"delta": -0.8,
"percent_delta": -0.16,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"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": 5.0,
"after": 4.2,
"delta": -0.8,
"percent_delta": -0.16,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 4.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 4.2,
"predicted_R": 4.0,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 4.2,
"after": 4.2,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 4.2,
"delta": -0.8,
"percent_delta": -0.16,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"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": 5.0,
"after": 4.2,
"delta": -0.8,
"percent_delta": -0.16,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
},
"team_form_snapshot": {
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "COL",
"games": 149,
"wins": 55,
"losses": 94,
"win_pct": 0.3691,
"runs_scored": 696.0,
"runs_allowed": 865.0,
"run_differential": -169.0,
"run_differential_per_game": -1.1342,
"avg_runs_scored": 4.6711,
"avg_runs_allowed": 5.8054,
"offense_index": 1.039,
"defense_index": 0.7744,
"current_streak": "L7",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 7.5,
"run_differential": -28.0
},
"available": true,
"quality_score": -0.355
},
"opponent": {
"team": "SD",
"games": 149,
"wins": 81,
"losses": 68,
"win_pct": 0.5436,
"runs_scored": 639.0,
"runs_allowed": 617.0,
"run_differential": 22.0,
"run_differential_per_game": 0.1477,
"avg_runs_scored": 4.2886,
"avg_runs_allowed": 4.1409,
"offense_index": 0.9539,
"defense_index": 1.0857,
"current_streak": "W7",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 4.0,
"run_differential": 8.0
},
"available": true,
"quality_score": 0.1601
},
"edges": {
"quality_edge": -0.5151,
"offense_edge": 0.039,
"opponent_offense_edge": -0.0461,
"defense_strength": -0.2256,
"opponent_defense_weakness": -0.0857,
"recent_win_pct_edge": -0.6
},
"player_factors": {
"ip": 0.9745,
"run_prevention": 1.0409,
"strikeout": 0.9882
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "608372",
"profile": {
"available": true,
"pitcher_id": "608372",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 554.0,
"k_percent": 14.2,
"bb_percent": 5.6,
"woba": 0.361,
"xwoba": 0.386,
"sweet_spot_percent": 37.8,
"barrel_batted_rate": 12.1,
"hard_hit_percent": 43.1,
"avg_best_speed": 80.8643,
"avg_hyper_speed": 95.1014,
"whiff_percent": 18.8,
"swing_percent": 46.8
},
"league_medians": {
"pa": 130.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6536,
"avg_hyper_speed": 93.9166,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": -1.4093,
"command_and_miss": -0.6314,
"regression_edge": -0.7143,
"xwoba_edge": -2.1143,
"barrel_edge": -1.1111,
"hard_hit_edge": -0.7429,
"whiff_edge": -0.8857,
"bb_edge": 0.9,
"pitch_design_score": -0.0876
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "608372",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 91,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 91,
"pitch_usage": 0.0,
"release_speed": 88.28503343281616,
"release_spin_rate": 2303.912853324826,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 91,
"pitch_usage": 0.0,
"release_speed": 88.28503343281616,
"release_spin_rate": 2303.912853324826,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.285,
"release_spin_rate": 2303.9129,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0876,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.6255,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -1.0318,
"sample_weight": 1.0,
"run_prevention_factor": 1.0877,
"strikeout_factor": 0.92,
"walk_factor": 0.928,
"homer_factor": 1.182,
"woba_minus_xwoba": -0.025,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "608372",
"espn_id": 4142423,
"player_name": "Tomoyuki Sugano",
"team": "COL",
"role": "pitcher",
"espn_rank": 118,
"espn_total_ranked": 861,
"metrics": {
"espn_rank": 118,
"gp_value": 26.0,
"gp_rank": "313",
"gs_value": 26.0,
"gs_rank": "56",
"qs_value": 8.0,
"qs_rank": "77",
"era_value": 5.2953,
"era_rank": null,
"w_value": 12.0,
"w_rank": "17",
"l_value": 9.0,
"l_rank": "32",
"sv_value": 0.0,
"sv_rank": "251",
"hld_value": 0.0,
"hld_rank": "354",
"ip_value": 137.2,
"ip_rank": "69",
"h_value": 152.0,
"h_rank": "20",
"er_value": 81.0,
"er_rank": "14",
"hr_value": 29.0,
"hr_rank": "6",
"bb_value": 33.0,
"bb_rank": "143",
"k_value": 84.0,
"k_rank": "149",
"k_per_9_value": 5.4915257,
"k_per_9_rank": 58.0,
"whip_value": 1.3438,
"whip_rank": null,
"war_value": 1.52,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 4.0,
"factor": 1.0877,
"adjusted": 4
},
"predicted_H": {
"original": 7.0,
"factor": 1.0877,
"adjusted": 8
},
"predicted_BB": {
"original": 1.0,
"factor": 0.928,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 1.182,
"adjusted": 1
},
"predicted_SO": {
"original": 3.0,
"factor": 0.92,
"adjusted": 3
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 4.2,
"predicted_H": 6,
"predicted_R": 4,
"predicted_ER": 4,
"predicted_BB": 1,
"predicted_SO": 5,
"predicted_HR": 1,
"box_score_synced": true,
"BF": 21,
"Pitches": 93,
"published_line_source": "scoring_simulation.box_score"
}
},
"findings": [
{
"code": "DIRECT_ER_MISS",
"severity": "error",
"title": "Earned-run miss of 3",
"detail": "Actual minus predicted earned runs was +3."
}
],
"provenance": {
"prediction": "output/games/20260914_SD@COL.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"
}
} |
| 20260914 | 20260914_SEA@LAA | away | Kade Anderson | Kade Anderson | True | 5.0 | 4.1 | -2 | 1 | 5 | 4 | 5/7 | 0/0 | 5/5 | Last 10 before this game (4 available){
"model_context": {
"embedded_season": {
"ERA": 4.285714285714286,
"WHIP": 1.380952380952381,
"IP": 21.0,
"games_started": null,
"games_pitched": 4,
"role_avg_IP": 5.25,
"recent_avg_IP": 5.25,
"last_start_IP": 6.0,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": -0.0428,
"sample_weight": 0.45,
"run_prevention_factor": 1.0036,
"strikeout_factor": 0.982,
"walk_factor": 1.0,
"homer_factor": 1.0058,
"regression_flag": "positive_pitcher_regression",
"k_percent": 18.4,
"bb_percent": 9.2,
"woba": 0.341,
"xwoba": 0.309,
"barrel_percent": 7.9,
"hard_hit_percent": 38.1,
"whiff_percent": 21.6
},
"espn_rank": {
"rank": 347,
"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": 1.0
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4444,
"prior_weight": 0.5556
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "807739",
"report_date": "20260914",
"season_year": 2026,
"rows_used": 4,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 4,
"totals": {
"IP": 21.0,
"ER": 10.0,
"R": 10.0,
"H": 21.0,
"BB": 8.0,
"SO": 16.0,
"HR": 4.0,
"BF": 87.0,
"Pitches": 326.0
},
"per_game": {
"IP": 5.1,
"ER": 2.5,
"R": 2.5,
"H": 5.25,
"BB": 2.0,
"SO": 4.0,
"HR": 1.0,
"BF": 21.75,
"Pitches": 81.5
},
"rates": {
"ERA": 4.2857,
"WHIP": 1.381,
"ER_per_IP": 0.47619,
"H_per_IP": 1.0,
"BB_per_IP": 0.38095,
"SO_per_IP": 0.7619,
"HR_per_IP": 0.19048
}
},
"last_10": {
"games": 4,
"totals": {
"IP": 21.0,
"ER": 10.0,
"R": 10.0,
"H": 21.0,
"BB": 8.0,
"SO": 16.0,
"HR": 4.0,
"BF": 87.0,
"Pitches": 326.0
},
"per_game": {
"IP": 5.1,
"ER": 2.5,
"R": 2.5,
"H": 5.25,
"BB": 2.0,
"SO": 4.0,
"HR": 1.0,
"BF": 21.75,
"Pitches": 81.5
},
"rates": {
"ERA": 4.2857,
"WHIP": 1.381,
"ER_per_IP": 0.47619,
"H_per_IP": 1.0,
"BB_per_IP": 0.38095,
"SO_per_IP": 0.7619,
"HR_per_IP": 0.19048
}
},
"season": {
"games": 4,
"totals": {
"IP": 21.0,
"ER": 10.0,
"R": 10.0,
"H": 21.0,
"BB": 8.0,
"SO": 16.0,
"HR": 4.0,
"BF": 87.0,
"Pitches": 326.0
},
"per_game": {
"IP": 5.1,
"ER": 2.5,
"R": 2.5,
"H": 5.25,
"BB": 2.0,
"SO": 4.0,
"HR": 1.0,
"BF": 21.75,
"Pitches": 81.5
},
"rates": {
"ERA": 4.2857,
"WHIP": 1.381,
"ER_per_IP": 0.47619,
"H_per_IP": 1.0,
"BB_per_IP": 0.38095,
"SO_per_IP": 0.7619,
"HR_per_IP": 0.19048
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.0,
"predicted_ER": 2.538,
"predicted_H": 5.077,
"predicted_BB": 1.937,
"predicted_SO": 4.429,
"predicted_HR": 0.858,
"predicted_ERA": 4.4362,
"predicted_WHIP": 1.3625
}
},
"model_form_blend_trace": {
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5847,
"form_weight": 0.4153,
"form_reliability": 0.4444,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4444,
"prior_weight": 0.5556
},
"applied_metrics": {
"predicted_IP": {
"model": 5.0,
"form": 5.0,
"final": 5.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 2.538,
"final": 1.6387,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 5.077,
"final": 5.032,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 1.937,
"final": 0.8044,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 4.429,
"final": 4.7629,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.858,
"final": 0.941,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.4362,
"final": 4.4362,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3625,
"final": 1.3625,
"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": "insufficient_data"
},
"pitching": {
"IP": 21.0,
"ER": 10,
"H": 21,
"BB": 8,
"SO": 16,
"HR": 4,
"ERA": 4.285714285714286,
"WHIP": 1.380952380952381,
"K9": 6.857142857142857,
"HR9": 1.7142857142857142,
"games_pitched": 4,
"quality_starts": 1,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 4,
"error_prone": false
},
"games_count": 4,
"latest_game_date": "2026-09-09T00:00:00"
},
"recent_form_boost": 0.988610685025425,
"stat_evolution": [
{
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_IP": 5.0,
"predicted_ER": 1.0,
"predicted_H": 5.0,
"predicted_BB": 0.0,
"predicted_SO": 5.0,
"predicted_HR": 1.0
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4444,
"prior_weight": 0.5556
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "807739",
"player_name": "Kade Anderson",
"position": "Starter",
"team": "SEA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 5.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
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 5.0,
"predicted_R": 1.0,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
},
"team_form_snapshot": {
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SEA",
"games": 150,
"wins": 70,
"losses": 80,
"win_pct": 0.4667,
"runs_scored": 612.0,
"runs_allowed": 670.0,
"run_differential": -58.0,
"run_differential_per_game": -0.3867,
"avg_runs_scored": 4.08,
"avg_runs_allowed": 4.4667,
"offense_index": 0.9068,
"defense_index": 1.0074,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.7,
"avg_runs_allowed": 5.0,
"run_differential": 7.0
},
"available": true,
"quality_score": -0.1106
},
"opponent": {
"team": "LAA",
"games": 149,
"wins": 56,
"losses": 93,
"win_pct": 0.3758,
"runs_scored": 604.0,
"runs_allowed": 680.0,
"run_differential": -76.0,
"run_differential_per_game": -0.5101,
"avg_runs_scored": 4.0537,
"avg_runs_allowed": 4.5638,
"offense_index": 0.9009,
"defense_index": 0.9859,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 3.5,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.2379
},
"edges": {
"quality_edge": 0.1273,
"offense_edge": -0.0932,
"opponent_offense_edge": -0.0991,
"defense_strength": 0.0074,
"opponent_defense_weakness": 0.0141,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0093,
"run_prevention": 0.977,
"strikeout": 1.0117
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "807739",
"profile": {
"available": true,
"pitcher_id": "807739",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 63.0,
"k_percent": 18.4,
"bb_percent": 9.2,
"woba": 0.341,
"xwoba": 0.309,
"sweet_spot_percent": 36.5,
"barrel_batted_rate": 7.9,
"hard_hit_percent": 38.1,
"avg_best_speed": 77.2211,
"avg_hyper_speed": 93.849,
"whiff_percent": 21.6,
"swing_percent": 52.5
},
"league_medians": {
"pa": 130.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6536,
"avg_hyper_speed": 93.9166,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.1374,
"command_and_miss": -0.4014,
"regression_edge": 0.9143,
"xwoba_edge": 0.0857,
"barrel_edge": -0.1778,
"hard_hit_edge": -0.0286,
"whiff_edge": -0.4857,
"bb_edge": 0.0,
"pitch_design_score": -0.0642
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "807739",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 81,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 81,
"pitch_usage": 0.0,
"release_speed": 88.70165546700004,
"release_spin_rate": 2145.10400951129,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 81,
"pitch_usage": 0.0,
"release_speed": 88.70165546700004,
"release_spin_rate": 2145.10400951129,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.7017,
"release_spin_rate": 2145.104,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.0642,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.4589,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.0428,
"sample_weight": 0.45,
"run_prevention_factor": 1.0036,
"strikeout_factor": 0.982,
"walk_factor": 1.0,
"homer_factor": 1.0058,
"woba_minus_xwoba": 0.032,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "807739",
"espn_id": 5198748,
"player_name": "Kade Anderson",
"team": "SEA",
"role": "pitcher",
"espn_rank": 347,
"espn_total_ranked": 861,
"metrics": {
"espn_rank": 347,
"gp_value": 4.0,
"gp_rank": "671",
"gs_value": 4.0,
"gs_rank": "237",
"qs_value": 1.0,
"qs_rank": "178",
"era_value": 4.2857,
"era_rank": null,
"w_value": 1.0,
"w_rank": "414",
"l_value": 1.0,
"l_rank": "429",
"sv_value": 0.0,
"sv_rank": "251",
"hld_value": 0.0,
"hld_rank": "354",
"ip_value": 21.0,
"ip_rank": "507",
"h_value": 21.0,
"h_rank": "504",
"er_value": 10.0,
"er_rank": "535",
"hr_value": 4.0,
"hr_rank": "379",
"bb_value": 8.0,
"bb_rank": "528",
"k_value": 16.0,
"k_rank": "526",
"k_per_9_value": 6.857143,
"k_per_9_rank": 28.0,
"whip_value": 1.3809,
"whip_rank": null,
"war_value": 0.2,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0016,
"adjusted": 2
},
"predicted_H": {
"original": 5.0,
"factor": 1.0016,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 1.0,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0026,
"adjusted": 1
},
"predicted_SO": {
"original": 4.0,
"factor": 0.9919,
"adjusted": 4
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 5.0,
"predicted_H": 5,
"predicted_R": 1,
"predicted_ER": 1,
"predicted_BB": 0,
"predicted_SO": 5,
"predicted_HR": 1,
"box_score_synced": true,
"BF": 22,
"Pitches": 90,
"published_line_source": "scoring_simulation.box_score"
}
},
"findings": [
{
"code": "PARTIAL_PRIOR_HISTORY",
"severity": "warning",
"title": "Only 4 prior appearances available",
"detail": "The requested last-10 window is incomplete, so recent-form averages have a smaller and less stable sample."
},
{
"code": "DIRECT_ER_MISS",
"severity": "critical",
"title": "Earned-run miss of 4",
"detail": "Actual minus predicted earned runs was +4; this is the primary run-prevention error."
}
],
"provenance": {
"prediction": "output/games/20260914_SEA@LAA.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"
}
} |
| 20260914 | 20260914_SEA@LAA | home | Reid Detmers | Reid Detmers | True | 6.1 | 6.0 | -1 | 2 | 3 | 1 | 4/7 | 2/1 | 7/8 | Last 10 before this game (10 available){
"model_context": {
"embedded_season": {
"ERA": 3.3214285714285716,
"WHIP": 1.0357142857142858,
"IP": 168.0,
"games_started": null,
"games_pitched": 29,
"role_avg_IP": 5.793,
"recent_avg_IP": 6.6,
"last_start_IP": 6.0,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": 0.4862,
"sample_weight": 1.0,
"run_prevention_factor": 0.9587,
"strikeout_factor": 1.0589,
"walk_factor": 0.95,
"homer_factor": 0.9743,
"regression_flag": "neutral",
"k_percent": 28.4,
"bb_percent": 6.7,
"woba": 0.268,
"xwoba": 0.277,
"barrel_percent": 7.5,
"hard_hit_percent": 37.4,
"whiff_percent": 28.9
},
"espn_rank": {
"rank": 18,
"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": "672282",
"report_date": "20260914",
"season_year": 2026,
"rows_used": 29,
"reference_playing_time": 6.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 33.0,
"ER": 2.0,
"R": 2.0,
"H": 23.0,
"BB": 2.0,
"SO": 35.0,
"HR": 0.0,
"BF": 118.0,
"Pitches": 478.0
},
"per_game": {
"IP": 6.2,
"ER": 0.4,
"R": 0.4,
"H": 4.6,
"BB": 0.4,
"SO": 7.0,
"HR": 0.0,
"BF": 23.6,
"Pitches": 95.6
},
"rates": {
"ERA": 0.5455,
"WHIP": 0.7576,
"ER_per_IP": 0.06061,
"H_per_IP": 0.69697,
"BB_per_IP": 0.06061,
"SO_per_IP": 1.06061,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 59.1,
"ER": 9.0,
"R": 9.0,
"H": 40.0,
"BB": 10.0,
"SO": 68.0,
"HR": 5.0,
"BF": 220.0,
"Pitches": 902.0
},
"per_game": {
"IP": 6.0,
"ER": 0.9,
"R": 0.9,
"H": 4.0,
"BB": 1.0,
"SO": 6.8,
"HR": 0.5,
"BF": 22.0,
"Pitches": 90.2
},
"rates": {
"ERA": 1.3652,
"WHIP": 0.8427,
"ER_per_IP": 0.15169,
"H_per_IP": 0.67416,
"BB_per_IP": 0.16854,
"SO_per_IP": 1.14607,
"HR_per_IP": 0.08427
}
},
"season": {
"games": 29,
"totals": {
"IP": 168.0,
"ER": 62.0,
"R": 65.0,
"H": 129.0,
"BB": 45.0,
"SO": 191.0,
"HR": 17.0,
"BF": 672.0,
"Pitches": 2696.0
},
"per_game": {
"IP": 5.2,
"ER": 2.1379,
"R": 2.2414,
"H": 4.4483,
"BB": 1.5517,
"SO": 6.5862,
"HR": 0.5862,
"BF": 23.1724,
"Pitches": 92.9655
},
"rates": {
"ERA": 3.3214,
"WHIP": 1.0357,
"ER_per_IP": 0.36905,
"H_per_IP": 0.76786,
"BB_per_IP": 0.26786,
"SO_per_IP": 1.1369,
"HR_per_IP": 0.10119
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 6.1,
"predicted_ER": 1.287,
"predicted_H": 4.643,
"predicted_BB": 1.088,
"predicted_SO": 6.756,
"predicted_HR": 0.401,
"predicted_ERA": 1.8537,
"predicted_WHIP": 0.9172
}
},
"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": 6.1,
"final": 6.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 1.287,
"final": 1.5809,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 4.643,
"final": 4.378,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.088,
"final": 1.4639,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 7.0,
"form": 6.756,
"final": 6.8566,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.401,
"final": 0.2357,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 1.8537,
"final": 1.8537,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9172,
"final": 0.9172,
"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": 9,
"H": 40,
"BB": 10,
"SO": 68,
"HR": 5,
"ERA": 1.3651685393258426,
"WHIP": 0.8426966292134831,
"K9": 10.314606741573034,
"HR9": 0.7584269662921348,
"games_pitched": 10,
"quality_starts": 7,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-09-08T00:00:00"
},
"recent_form_boost": 0.6881873339015281,
"stat_evolution": [
{
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_IP": 6.333333333333333,
"predicted_ER": 2.0,
"predicted_H": 4.0,
"predicted_BB": 2.0,
"predicted_SO": 7.0,
"predicted_HR": 0.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": "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": 2,
"predicted_SO": 7,
"predicted_HR": 0
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "672282",
"player_name": "Reid Detmers",
"position": "Starter",
"team": "LAA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 2.0,
"predicted_H": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 6.3333,
"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
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"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": 2.0,
"predicted_H": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 6.1,
"predicted_SO": 7.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"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.3333,
"after": 6.1,
"delta": -0.2333,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 2.0,
"predicted_H": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 6.1,
"predicted_R": 2.0,
"predicted_SO": 7.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.1,
"after": 6.1,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"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.3333,
"after": 6.1,
"delta": -0.2333,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
},
"team_form_snapshot": {
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAA",
"games": 149,
"wins": 56,
"losses": 93,
"win_pct": 0.3758,
"runs_scored": 604.0,
"runs_allowed": 680.0,
"run_differential": -76.0,
"run_differential_per_game": -0.5101,
"avg_runs_scored": 4.0537,
"avg_runs_allowed": 4.5638,
"offense_index": 0.9009,
"defense_index": 0.9859,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.6,
"avg_runs_allowed": 3.5,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.2379
},
"opponent": {
"team": "SEA",
"games": 150,
"wins": 70,
"losses": 80,
"win_pct": 0.4667,
"runs_scored": 612.0,
"runs_allowed": 670.0,
"run_differential": -58.0,
"run_differential_per_game": -0.3867,
"avg_runs_scored": 4.08,
"avg_runs_allowed": 4.4667,
"offense_index": 0.9068,
"defense_index": 1.0074,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.7,
"avg_runs_allowed": 5.0,
"run_differential": 7.0
},
"available": true,
"quality_score": -0.1106
},
"edges": {
"quality_edge": -0.1273,
"offense_edge": -0.0991,
"opponent_offense_edge": -0.0932,
"defense_strength": -0.0141,
"opponent_defense_weakness": -0.0074,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9982,
"run_prevention": 0.9929,
"strikeout": 1.0036
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "672282",
"profile": {
"available": true,
"pitcher_id": "672282",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 648.0,
"k_percent": 28.4,
"bb_percent": 6.7,
"woba": 0.268,
"xwoba": 0.277,
"sweet_spot_percent": 30.7,
"barrel_batted_rate": 7.5,
"hard_hit_percent": 37.4,
"avg_best_speed": 79.8742,
"avg_hyper_speed": 94.1933,
"whiff_percent": 28.9,
"swing_percent": 49.5
},
"league_medians": {
"pa": 130.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6536,
"avg_hyper_speed": 93.9166,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.5893,
"command_and_miss": 0.7314,
"regression_edge": -0.2571,
"xwoba_edge": 1.0,
"barrel_edge": -0.0889,
"hard_hit_edge": 0.0714,
"whiff_edge": 0.5571,
"bb_edge": 0.625,
"pitch_design_score": -0.1031
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "672282",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 90,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 90,
"pitch_usage": 0.0,
"release_speed": 88.00784594490138,
"release_spin_rate": 2234.6501343386294,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 90,
"pitch_usage": 0.0,
"release_speed": 88.00784594490138,
"release_spin_rate": 2234.6501343386294,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 88.0078,
"release_spin_rate": 2234.6501,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1031,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.7364,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.4862,
"sample_weight": 1.0,
"run_prevention_factor": 0.9587,
"strikeout_factor": 1.0589,
"walk_factor": 0.95,
"homer_factor": 0.9743,
"woba_minus_xwoba": -0.009,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "672282",
"espn_id": 4326697,
"player_name": "Reid Detmers",
"team": "LAA",
"role": "pitcher",
"espn_rank": 18,
"espn_total_ranked": 861,
"metrics": {
"espn_rank": 18,
"gp_value": 29.0,
"gp_rank": "244",
"gs_value": 29.0,
"gs_rank": "14",
"qs_value": 14.0,
"qs_rank": "25",
"era_value": 3.3214,
"era_rank": 18.0,
"w_value": 5.0,
"w_rank": "150",
"l_value": 8.0,
"l_rank": "64",
"sv_value": 0.0,
"sv_rank": "251",
"hld_value": 0.0,
"hld_rank": "354",
"ip_value": 168.0,
"ip_rank": "14",
"h_value": 129.0,
"h_rank": "68",
"er_value": 62.0,
"er_rank": "62",
"hr_value": 17.0,
"hr_rank": "74",
"bb_value": 45.0,
"bb_rank": "65",
"k_value": 191.0,
"k_rank": "8",
"k_per_9_value": 10.232143,
"k_per_9_rank": 15.0,
"whip_value": 1.0357,
"whip_rank": 7.0,
"war_value": 3.82,
"war_rank": 17.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9587,
"adjusted": 1
},
"predicted_H": {
"original": 5.0,
"factor": 0.9587,
"adjusted": 5
},
"predicted_BB": {
"original": 1.0,
"factor": 0.95,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9743,
"adjusted": 0
},
"predicted_SO": {
"original": 7.0,
"factor": 1.0589,
"adjusted": 7
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 6.1,
"predicted_H": 4,
"predicted_R": 2,
"predicted_ER": 2,
"predicted_BB": 2,
"predicted_SO": 7,
"predicted_HR": 0,
"box_score_synced": true,
"BF": 26,
"Pitches": 112,
"published_line_source": "scoring_simulation.box_score"
}
},
"findings": [
{
"code": "ER_WITHIN_ONE",
"severity": "good",
"title": "Earned runs within one",
"detail": "Actual minus predicted earned runs was +1."
}
],
"provenance": {
"prediction": "output/games/20260914_SEA@LAA.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"
}
} |
| 20260914 | 20260914_SF@STL | away | Landen Roupp | Landen Roupp | True | 5.1 | 4.1 | -3 | 1 | 2 | 1 | 4/5 | 3/3 | 3/4 | Last 10 before this game (10 available){
"model_context": {
"embedded_season": {
"ERA": 4.0022123893805315,
"WHIP": 1.2809734513274338,
"IP": 150.2,
"games_started": null,
"games_pitched": 28,
"role_avg_IP": 5.381,
"recent_avg_IP": 5.4,
"last_start_IP": 6.0,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": 0.2291,
"sample_weight": 1.0,
"run_prevention_factor": 0.9805,
"strikeout_factor": 0.9971,
"walk_factor": 1.042,
"homer_factor": 0.8974,
"regression_flag": "neutral",
"k_percent": 21.8,
"bb_percent": 11.3,
"woba": 0.293,
"xwoba": 0.298,
"barrel_percent": 4.8,
"hard_hit_percent": 29.2,
"whiff_percent": 24.7
},
"espn_rank": {
"rank": 128,
"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": "694738",
"report_date": "20260914",
"season_year": 2026,
"rows_used": 28,
"reference_playing_time": 5.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 27.0,
"ER": 9.0,
"R": 10.0,
"H": 18.0,
"BB": 15.0,
"SO": 16.0,
"HR": 2.0,
"BF": 115.0,
"Pitches": 432.0
},
"per_game": {
"IP": 5.1,
"ER": 1.8,
"R": 2.0,
"H": 3.6,
"BB": 3.0,
"SO": 3.2,
"HR": 0.4,
"BF": 23.0,
"Pitches": 86.4
},
"rates": {
"ERA": 3.0,
"WHIP": 1.2222,
"ER_per_IP": 0.33333,
"H_per_IP": 0.66667,
"BB_per_IP": 0.55556,
"SO_per_IP": 0.59259,
"HR_per_IP": 0.07407
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 53.2,
"ER": 21.0,
"R": 22.0,
"H": 36.0,
"BB": 30.0,
"SO": 35.0,
"HR": 4.0,
"BF": 226.0,
"Pitches": 888.0
},
"per_game": {
"IP": 5.1,
"ER": 2.1,
"R": 2.2,
"H": 3.6,
"BB": 3.0,
"SO": 3.5,
"HR": 0.4,
"BF": 22.6,
"Pitches": 88.8
},
"rates": {
"ERA": 3.5217,
"WHIP": 1.2298,
"ER_per_IP": 0.3913,
"H_per_IP": 0.67081,
"BB_per_IP": 0.55901,
"SO_per_IP": 0.65217,
"HR_per_IP": 0.07453
}
},
"season": {
"games": 28,
"totals": {
"IP": 150.2,
"ER": 67.0,
"R": 72.0,
"H": 121.0,
"BB": 72.0,
"SO": 139.0,
"HR": 11.0,
"BF": 637.0,
"Pitches": 2624.0
},
"per_game": {
"IP": 5.1,
"ER": 2.3929,
"R": 2.5714,
"H": 4.3214,
"BB": 2.5714,
"SO": 4.9643,
"HR": 0.3929,
"BF": 22.75,
"Pitches": 93.7143
},
"rates": {
"ERA": 4.0022,
"WHIP": 1.281,
"ER_per_IP": 0.44469,
"H_per_IP": 0.8031,
"BB_per_IP": 0.47788,
"SO_per_IP": 0.92257,
"HR_per_IP": 0.07301
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.1,
"predicted_ER": 2.11,
"predicted_H": 3.935,
"predicted_BB": 2.75,
"predicted_SO": 3.833,
"predicted_HR": 0.454,
"predicted_ERA": 3.5608,
"predicted_WHIP": 1.2534
}
},
"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": 5.1,
"form": 5.1,
"final": 5.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 2.11,
"final": 1.6505,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 3.935,
"final": 3.9619,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 2.75,
"final": 2.8535,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 3.833,
"final": 3.4881,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.454,
"final": 0.68,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.5608,
"final": 3.5608,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2534,
"final": 1.2534,
"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": 53.2,
"ER": 21,
"H": 36,
"BB": 30,
"SO": 35,
"HR": 4,
"ERA": 3.5217391304347823,
"WHIP": 1.2298136645962732,
"K9": 5.869565217391304,
"HR9": 0.670807453416149,
"games_pitched": 10,
"quality_starts": 3,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-09-08T00:00:00"
},
"recent_form_boost": 0.8937946436134723,
"stat_evolution": [
{
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_IP": 5.333333333333333,
"predicted_ER": 1.0,
"predicted_H": 4.0,
"predicted_BB": 3.0,
"predicted_SO": 3.0,
"predicted_HR": 1.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
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "694738",
"player_name": "Landen Roupp",
"position": "Starter",
"team": "SF",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 1.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 5.3333,
"predicted_SO": 3.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
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 1.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 5.1,
"predicted_R": 1.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"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": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"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": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
},
"team_form_snapshot": {
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SF",
"games": 150,
"wins": 62,
"losses": 88,
"win_pct": 0.4133,
"runs_scored": 632.0,
"runs_allowed": 709.0,
"run_differential": -77.0,
"run_differential_per_game": -0.5133,
"avg_runs_scored": 4.2133,
"avg_runs_allowed": 4.7267,
"offense_index": 0.9374,
"defense_index": 0.9509,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 5.5,
"run_differential": -7.0
},
"available": true,
"quality_score": -0.1715
},
"opponent": {
"team": "STL",
"games": 150,
"wins": 74,
"losses": 76,
"win_pct": 0.4933,
"runs_scored": 683.0,
"runs_allowed": 690.0,
"run_differential": -7.0,
"run_differential_per_game": -0.0467,
"avg_runs_scored": 4.5533,
"avg_runs_allowed": 4.6,
"offense_index": 1.013,
"defense_index": 0.9771,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 5.1,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.0464
},
"edges": {
"quality_edge": -0.1251,
"offense_edge": -0.0626,
"opponent_offense_edge": 0.013,
"defense_strength": -0.0491,
"opponent_defense_weakness": 0.0229,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 0.993,
"run_prevention": 1.0132,
"strikeout": 0.9952
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "694738",
"profile": {
"available": true,
"pitcher_id": "694738",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 611.0,
"k_percent": 21.8,
"bb_percent": 11.3,
"woba": 0.293,
"xwoba": 0.298,
"sweet_spot_percent": 32.1,
"barrel_batted_rate": 4.8,
"hard_hit_percent": 29.2,
"avg_best_speed": 75.2327,
"avg_hyper_speed": 92.5867,
"whiff_percent": 24.7,
"swing_percent": 43.6
},
"league_medians": {
"pa": 130.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6536,
"avg_hyper_speed": 93.9166,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.5175,
"command_and_miss": -0.1329,
"regression_edge": -0.1429,
"xwoba_edge": 0.4,
"barrel_edge": 0.5111,
"hard_hit_edge": 1.2429,
"whiff_edge": -0.0429,
"bb_edge": -0.525,
"pitch_design_score": -0.1478
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "694738",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 87,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 87,
"pitch_usage": 0.0,
"release_speed": 87.20871691049764,
"release_spin_rate": 2324.8352762766335,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 87,
"pitch_usage": 0.0,
"release_speed": 87.20871691049764,
"release_spin_rate": 2324.8352762766335,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 87.2087,
"release_spin_rate": 2324.8353,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.1478,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.056,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.2291,
"sample_weight": 1.0,
"run_prevention_factor": 0.9805,
"strikeout_factor": 0.9971,
"walk_factor": 1.042,
"homer_factor": 0.8974,
"woba_minus_xwoba": -0.005,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694738",
"espn_id": 4345404,
"player_name": "Landen Roupp",
"team": "SF",
"role": "pitcher",
"espn_rank": 128,
"espn_total_ranked": 861,
"metrics": {
"espn_rank": 128,
"gp_value": 28.0,
"gp_rank": "278",
"gs_value": 28.0,
"gs_rank": "33",
"qs_value": 11.0,
"qs_rank": "47",
"era_value": 4.0022,
"era_rank": 34.0,
"w_value": 9.0,
"w_rank": "44",
"l_value": 13.0,
"l_rank": "6",
"sv_value": 0.0,
"sv_rank": "251",
"hld_value": 0.0,
"hld_rank": "354",
"ip_value": 150.2,
"ip_rank": "46",
"h_value": 121.0,
"h_rank": "80",
"er_value": 67.0,
"er_rank": "45",
"hr_value": 11.0,
"hr_rank": "150",
"bb_value": 72.0,
"bb_rank": "3",
"k_value": 139.0,
"k_rank": "47",
"k_per_9_value": 8.303098,
"k_per_9_rank": 27.0,
"whip_value": 1.2809,
"whip_rank": 36.0,
"war_value": 1.45,
"war_rank": 39.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.9805,
"adjusted": 2
},
"predicted_H": {
"original": 4.0,
"factor": 0.9805,
"adjusted": 4
},
"predicted_BB": {
"original": 3.0,
"factor": 1.042,
"adjusted": 3
},
"predicted_HR": {
"original": 0.0,
"factor": 0.8974,
"adjusted": 0
},
"predicted_SO": {
"original": 4.0,
"factor": 0.9971,
"adjusted": 4
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 5.1,
"predicted_H": 4,
"predicted_R": 1,
"predicted_ER": 1,
"predicted_BB": 3,
"predicted_SO": 3,
"predicted_HR": 1,
"box_score_synced": true,
"BF": 23,
"Pitches": 103,
"published_line_source": "scoring_simulation.box_score"
}
},
"findings": [
{
"code": "ER_WITHIN_ONE",
"severity": "good",
"title": "Earned runs within one",
"detail": "Actual minus predicted earned runs was +1."
}
],
"provenance": {
"prediction": "output/games/20260914_SF@STL.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"
}
} |
| 20260914 | 20260914_SF@STL | home | Quinn Mathews | Quinn Mathews | True | 5.0 | 6.2 | 5 | 2 | 1 | -1 | 5/4 | 0/2 | 4/8 | Last 10 before this game (6 available){
"model_context": {
"embedded_season": {
"ERA": 4.108695652173913,
"WHIP": 1.5,
"IP": 30.2,
"games_started": null,
"games_pitched": 6,
"role_avg_IP": 5.111,
"recent_avg_IP": 5.133,
"last_start_IP": 6.0,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": 0.1339,
"sample_weight": 0.45,
"run_prevention_factor": 0.9886,
"strikeout_factor": 0.9987,
"walk_factor": 1.009,
"homer_factor": 0.9475,
"regression_flag": "positive_pitcher_regression",
"k_percent": 20.4,
"bb_percent": 10.2,
"woba": 0.324,
"xwoba": 0.291,
"barrel_percent": 2.1,
"hard_hit_percent": 36.2,
"whiff_percent": 26.1
},
"espn_rank": {
"rank": 289,
"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.8653846153846154,
"last_10": 0.1346153846153846
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5455,
"prior_weight": 0.4545
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "687273",
"report_date": "20260914",
"season_year": 2026,
"rows_used": 6,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 25.2,
"ER": 12.0,
"R": 12.0,
"H": 26.0,
"BB": 11.0,
"SO": 25.0,
"HR": 3.0,
"BF": 113.0,
"Pitches": 494.0
},
"per_game": {
"IP": 5.0,
"ER": 2.4,
"R": 2.4,
"H": 5.2,
"BB": 2.2,
"SO": 5.0,
"HR": 0.6,
"BF": 22.6,
"Pitches": 98.8
},
"rates": {
"ERA": 4.2078,
"WHIP": 1.4416,
"ER_per_IP": 0.46753,
"H_per_IP": 1.01299,
"BB_per_IP": 0.42857,
"SO_per_IP": 0.97403,
"HR_per_IP": 0.11688
}
},
"last_10": {
"games": 6,
"totals": {
"IP": 30.2,
"ER": 14.0,
"R": 14.0,
"H": 32.0,
"BB": 14.0,
"SO": 28.0,
"HR": 3.0,
"BF": 137.0,
"Pitches": 591.0
},
"per_game": {
"IP": 5.0,
"ER": 2.3333,
"R": 2.3333,
"H": 5.3333,
"BB": 2.3333,
"SO": 4.6667,
"HR": 0.5,
"BF": 22.8333,
"Pitches": 98.5
},
"rates": {
"ERA": 4.1087,
"WHIP": 1.5,
"ER_per_IP": 0.45652,
"H_per_IP": 1.04348,
"BB_per_IP": 0.45652,
"SO_per_IP": 0.91304,
"HR_per_IP": 0.09783
}
},
"season": {
"games": 6,
"totals": {
"IP": 30.2,
"ER": 14.0,
"R": 14.0,
"H": 32.0,
"BB": 14.0,
"SO": 28.0,
"HR": 3.0,
"BF": 137.0,
"Pitches": 591.0
},
"per_game": {
"IP": 5.0,
"ER": 2.3333,
"R": 2.3333,
"H": 5.3333,
"BB": 2.3333,
"SO": 4.6667,
"HR": 0.5,
"BF": 22.8333,
"Pitches": 98.5
},
"rates": {
"ERA": 4.1087,
"WHIP": 1.5,
"ER_per_IP": 0.45652,
"H_per_IP": 1.04348,
"BB_per_IP": 0.45652,
"SO_per_IP": 0.91304,
"HR_per_IP": 0.09783
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.0,
"predicted_ER": 2.422,
"predicted_H": 4.99,
"predicted_BB": 2.026,
"predicted_SO": 4.768,
"predicted_HR": 0.647,
"predicted_ERA": 4.3591,
"predicted_WHIP": 1.4032
}
},
"model_form_blend_trace": {
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.542,
"form_weight": 0.458,
"form_reliability": 0.5455,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5455,
"prior_weight": 0.4545
},
"applied_metrics": {
"predicted_IP": {
"model": 5.0,
"form": 5.0,
"final": 5.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 2.422,
"final": 2.1933,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 4.99,
"final": 3.3693,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 2.026,
"final": 0.9279,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 4.768,
"final": 4.3517,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.647,
"final": 0.2963,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.3591,
"final": 4.3591,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4032,
"final": 1.4032,
"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": 30.2,
"ER": 14,
"H": 32,
"BB": 14,
"SO": 28,
"HR": 3,
"ERA": 4.108695652173913,
"WHIP": 1.5,
"K9": 8.217391304347826,
"HR9": 0.8804347826086956,
"games_pitched": 6,
"quality_starts": 1,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 6,
"error_prone": false
},
"games_count": 6,
"latest_game_date": "2026-09-08T00:00:00"
},
"recent_form_boost": 0.9665819106942177,
"stat_evolution": [
{
"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": 2.0,
"predicted_BB": 0.0,
"predicted_SO": 4.0,
"predicted_HR": 0.0
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5455,
"prior_weight": 0.4545
}
},
{
"step": "starter_quality_floor",
"description": "Weak starter floor restored expected damage from recent form instead of assigning it to zero-inning bullpen rows.",
"stats": {
"predicted_IP": 5.0,
"predicted_ER": 2,
"predicted_H": 5,
"predicted_BB": 0,
"predicted_SO": 4,
"predicted_HR": 0
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "687273",
"player_name": "Quinn Mathews",
"position": "Starter",
"team": "STL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 2.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 5.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
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "starter_quality_floor",
"description": "Weak starter floor restored expected damage from recent form instead of assigning it to zero-inning bullpen rows.",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 2.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 5.0,
"delta": 3.0,
"percent_delta": 1.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 2.0,
"after": 5.0,
"delta": 3.0,
"percent_delta": 1.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 2.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_R": 2.0,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 5.0,
"delta": 3.0,
"percent_delta": 1.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 2.0,
"after": 5.0,
"delta": 3.0,
"percent_delta": 1.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "worse"
}
}
},
"team_form_snapshot": {
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "STL",
"games": 150,
"wins": 74,
"losses": 76,
"win_pct": 0.4933,
"runs_scored": 683.0,
"runs_allowed": 690.0,
"run_differential": -7.0,
"run_differential_per_game": -0.0467,
"avg_runs_scored": 4.5533,
"avg_runs_allowed": 4.6,
"offense_index": 1.013,
"defense_index": 0.9771,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 5.1,
"run_differential": 1.0
},
"available": true,
"quality_score": -0.0464
},
"opponent": {
"team": "SF",
"games": 150,
"wins": 62,
"losses": 88,
"win_pct": 0.4133,
"runs_scored": 632.0,
"runs_allowed": 709.0,
"run_differential": -77.0,
"run_differential_per_game": -0.5133,
"avg_runs_scored": 4.2133,
"avg_runs_allowed": 4.7267,
"offense_index": 0.9374,
"defense_index": 0.9509,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 5.5,
"run_differential": -7.0
},
"available": true,
"quality_score": -0.1715
},
"edges": {
"quality_edge": 0.1251,
"offense_edge": 0.013,
"opponent_offense_edge": -0.0626,
"defense_strength": -0.0229,
"opponent_defense_weakness": 0.0491,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0068,
"run_prevention": 0.986,
"strikeout": 1.0088
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "687273",
"profile": {
"available": true,
"pitcher_id": "687273",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 112.0,
"k_percent": 20.4,
"bb_percent": 10.2,
"woba": 0.324,
"xwoba": 0.291,
"sweet_spot_percent": 30.9,
"barrel_batted_rate": 2.1,
"hard_hit_percent": 36.2,
"avg_best_speed": 77.714,
"avg_hyper_speed": 93.6151,
"whiff_percent": 26.1,
"swing_percent": 44.7
},
"league_medians": {
"pa": 130.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.316,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6536,
"avg_hyper_speed": 93.9166,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.4265,
"command_and_miss": -0.0979,
"regression_edge": 0.9429,
"xwoba_edge": 0.6,
"barrel_edge": 1.1111,
"hard_hit_edge": 0.2429,
"whiff_edge": 0.1571,
"bb_edge": -0.25,
"pitch_design_score": -0.127
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "687273",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 98,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 98,
"pitch_usage": 0.0,
"release_speed": 87.58184436300705,
"release_spin_rate": 2134.708276838153,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 98,
"pitch_usage": 0.0,
"release_speed": 87.58184436300705,
"release_spin_rate": 2134.708276838153,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 87.5818,
"release_spin_rate": 2134.7083,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": -0.127,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.9068,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.1339,
"sample_weight": 0.45,
"run_prevention_factor": 0.9886,
"strikeout_factor": 0.9987,
"walk_factor": 1.009,
"homer_factor": 0.9475,
"woba_minus_xwoba": 0.033,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "687273",
"espn_id": 4837405,
"player_name": "Quinn Mathews",
"team": "STL",
"role": "pitcher",
"espn_rank": 289,
"espn_total_ranked": 861,
"metrics": {
"espn_rank": 289,
"gp_value": 6.0,
"gp_rank": "614",
"gs_value": 6.0,
"gs_rank": "208",
"qs_value": 1.0,
"qs_rank": "178",
"era_value": 4.1086,
"era_rank": null,
"w_value": 1.0,
"w_rank": "414",
"l_value": 3.0,
"l_rank": "245",
"sv_value": 0.0,
"sv_rank": "251",
"hld_value": 0.0,
"hld_rank": "354",
"ip_value": 30.2,
"ip_rank": "433",
"h_value": 32.0,
"h_rank": "403",
"er_value": 14.0,
"er_rank": "450",
"hr_value": 3.0,
"hr_rank": "452",
"bb_value": 14.0,
"bb_rank": "402",
"k_value": 28.0,
"k_rank": "430",
"k_per_9_value": 8.217391,
"k_per_9_rank": 26.0,
"whip_value": 1.5,
"whip_rank": null,
"war_value": 0.38,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.9949,
"adjusted": 2
},
"predicted_H": {
"original": 5.0,
"factor": 0.9949,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 1.004,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 0.9764,
"adjusted": 1
},
"predicted_SO": {
"original": 5.0,
"factor": 0.9994,
"adjusted": 5
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 5.0,
"predicted_H": 5,
"predicted_R": 2,
"predicted_ER": 2,
"predicted_BB": 0,
"predicted_SO": 4,
"predicted_HR": 0,
"box_score_synced": true,
"BF": 20,
"Pitches": 78,
"published_line_source": "scoring_simulation.box_score"
}
},
"findings": [
{
"code": "PARTIAL_PRIOR_HISTORY",
"severity": "warning",
"title": "Only 6 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."
},
{
"code": "QUALITY_START_CLASSIFICATION_MISS",
"severity": "warning",
"title": "Quality-start classification was wrong",
"detail": "Projected quality start: False; actual quality start: True."
}
],
"provenance": {
"prediction": "output/games/20260914_SF@STL.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"
}
} |