| 20260916 | 20260916_ATL@CHC | away | JR Ritchie | JR Ritchie | True | 4.1 | 4.2 | 1 | 4 | 6 | 2 | 3/7 | 1/2 | 6/5 | Last 10 before this game (10 available){
"model_context": {
"embedded_season": {
"ERA": 4.5,
"WHIP": 1.4310344827586208,
"IP": 58.0,
"games_started": null,
"games_pitched": 14,
"role_avg_IP": 4.958,
"recent_avg_IP": 4.467,
"last_start_IP": 4.0,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": -0.4319,
"sample_weight": 0.936,
"run_prevention_factor": 1.0367,
"strikeout_factor": 0.984,
"walk_factor": 1.0917,
"homer_factor": 1.0692,
"regression_flag": "neutral",
"k_percent": 20.7,
"bb_percent": 14.1,
"woba": 0.324,
"xwoba": 0.344,
"barrel_percent": 9.3,
"hard_hit_percent": 39.5,
"whiff_percent": 23.3
},
"espn_rank": {
"rank": 358,
"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": "702275",
"report_date": "20260916",
"season_year": 2026,
"rows_used": 14,
"reference_playing_time": 4.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 14.1,
"ER": 7.0,
"R": 7.0,
"H": 11.0,
"BB": 10.0,
"SO": 12.0,
"HR": 2.0,
"BF": 64.0,
"Pitches": 267.0
},
"per_game": {
"IP": 3.0,
"ER": 1.4,
"R": 1.4,
"H": 2.2,
"BB": 2.0,
"SO": 2.4,
"HR": 0.4,
"BF": 12.8,
"Pitches": 53.4
},
"rates": {
"ERA": 4.3953,
"WHIP": 1.4651,
"ER_per_IP": 0.48837,
"H_per_IP": 0.76744,
"BB_per_IP": 0.69767,
"SO_per_IP": 0.83721,
"HR_per_IP": 0.13953
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 36.1,
"ER": 21.0,
"R": 23.0,
"H": 31.0,
"BB": 21.0,
"SO": 36.0,
"HR": 5.0,
"BF": 163.0,
"Pitches": 657.0
},
"per_game": {
"IP": 3.2,
"ER": 2.1,
"R": 2.3,
"H": 3.1,
"BB": 2.1,
"SO": 3.6,
"HR": 0.5,
"BF": 16.3,
"Pitches": 65.7
},
"rates": {
"ERA": 5.2018,
"WHIP": 1.4312,
"ER_per_IP": 0.57798,
"H_per_IP": 0.85321,
"BB_per_IP": 0.57798,
"SO_per_IP": 0.99083,
"HR_per_IP": 0.13761
}
},
"season": {
"games": 14,
"totals": {
"IP": 58.0,
"ER": 29.0,
"R": 32.0,
"H": 47.0,
"BB": 36.0,
"SO": 53.0,
"HR": 9.0,
"BF": 256.0,
"Pitches": 1023.0
},
"per_game": {
"IP": 4.0,
"ER": 2.0714,
"R": 2.2857,
"H": 3.3571,
"BB": 2.5714,
"SO": 3.7857,
"HR": 0.6429,
"BF": 18.2857,
"Pitches": 73.0714
},
"rates": {
"ERA": 4.5,
"WHIP": 1.431,
"ER_per_IP": 0.5,
"H_per_IP": 0.81034,
"BB_per_IP": 0.62069,
"SO_per_IP": 0.91379,
"HR_per_IP": 0.15517
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 3.2,
"predicted_ER": 1.944,
"predicted_H": 3.195,
"predicted_BB": 2.142,
"predicted_SO": 3.437,
"predicted_HR": 0.539,
"predicted_ERA": 4.6559,
"predicted_WHIP": 1.4202
}
},
"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": 4.2,
"form": 3.2,
"final": 4.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 5.0,
"form": 1.944,
"final": 3.3534,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 3.195,
"final": 3.1051,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 2.142,
"final": 1.6153,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 6.0,
"form": 3.437,
"final": 4.6191,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.539,
"final": 0.7516,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.6559,
"final": 4.6559,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4202,
"final": 1.4202,
"source": "form_only"
}
}
},
"recent_form_analysis": {
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 36.1,
"ER": 21,
"H": 31,
"BB": 21,
"SO": 36,
"HR": 5,
"ERA": 5.201834862385322,
"WHIP": 1.4311926605504588,
"K9": 8.917431192660551,
"HR9": 1.2385321100917432,
"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-08-02T00:00:00"
},
"recent_form_boost": 1.0899749460636674,
"stat_evolution": [
{
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_IP": 4.666666666666667,
"predicted_ER": 5.0,
"predicted_H": 3.0,
"predicted_BB": 1.0,
"predicted_SO": 6.0,
"predicted_HR": 1.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.1,
"predicted_ER": 5,
"predicted_H": 3,
"predicted_BB": 1,
"predicted_SO": 6,
"predicted_HR": 1
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "702275",
"player_name": "JR Ritchie",
"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": 1.0,
"predicted_ER": 5.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 4.6667,
"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": 1.0,
"predicted_ER": 5.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 4.1,
"predicted_SO": 6.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": 5.0,
"after": 5.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": 4.6667,
"after": 4.1,
"delta": -0.5667,
"percent_delta": -0.1214,
"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": 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": 1.0,
"predicted_ER": 5.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 4.1,
"predicted_R": 5.0,
"predicted_SO": 6.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": 5.0,
"after": 5.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": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 5.0,
"after": 5.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": 4.6667,
"after": 4.1,
"delta": -0.5667,
"percent_delta": -0.1214,
"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": 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": "ATL",
"games": 152,
"wins": 89,
"losses": 63,
"win_pct": 0.5855,
"runs_scored": 702.0,
"runs_allowed": 587.0,
"run_differential": 115.0,
"run_differential_per_game": 0.7566,
"avg_runs_scored": 4.6184,
"avg_runs_allowed": 3.8618,
"offense_index": 1.0283,
"defense_index": 1.163,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 4.6,
"run_differential": -4.0
},
"available": true,
"quality_score": 0.1653
},
"opponent": {
"team": "CHC",
"games": 152,
"wins": 84,
"losses": 68,
"win_pct": 0.5526,
"runs_scored": 809.0,
"runs_allowed": 670.0,
"run_differential": 139.0,
"run_differential_per_game": 0.9145,
"avg_runs_scored": 5.3224,
"avg_runs_allowed": 4.4079,
"offense_index": 1.1851,
"defense_index": 1.0189,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 4.9,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.1217
},
"edges": {
"quality_edge": 0.0436,
"offense_edge": 0.0283,
"opponent_offense_edge": 0.1851,
"defense_strength": 0.163,
"opponent_defense_weakness": -0.0189,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.9992,
"run_prevention": 1.0111,
"strikeout": 0.9865
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "702275",
"profile": {
"available": true,
"pitcher_id": "702275",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 234.0,
"k_percent": 20.7,
"bb_percent": 14.1,
"woba": 0.324,
"xwoba": 0.344,
"sweet_spot_percent": 30.2,
"barrel_batted_rate": 9.3,
"hard_hit_percent": 39.5,
"avg_best_speed": 79.7884,
"avg_hyper_speed": 93.8955,
"whiff_percent": 23.3,
"swing_percent": 41.1
},
"league_medians": {
"pa": 132.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6025,
"avg_hyper_speed": 93.9171,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.5227,
"command_and_miss": -0.4136,
"regression_edge": -0.5714,
"xwoba_edge": -0.9143,
"barrel_edge": -0.4667,
"hard_hit_edge": -0.2286,
"whiff_edge": -0.2429,
"bb_edge": -1.225,
"pitch_design_score": -0.0506
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "702275",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 46,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 46,
"pitch_usage": 0.0,
"release_speed": 88.94471394313716,
"release_spin_rate": 2346.884235942043,
"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": 46,
"pitch_usage": 0.0,
"release_speed": 88.94471394313716,
"release_spin_rate": 2346.884235942043,
"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.9447,
"release_spin_rate": 2346.8842,
"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.0506,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.3616,
"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.4319,
"sample_weight": 0.936,
"run_prevention_factor": 1.0367,
"strikeout_factor": 0.984,
"walk_factor": 1.0917,
"homer_factor": 1.0692,
"woba_minus_xwoba": -0.02,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "702275",
"espn_id": 5080757,
"player_name": "JR Ritchie",
"team": "ATL",
"role": "pitcher",
"espn_rank": 358,
"espn_total_ranked": 862,
"metrics": {
"espn_rank": 358,
"gp_value": 14.0,
"gp_rank": 481,
"gs_value": 8.0,
"gs_rank": 191,
"qs_value": 1.0,
"qs_rank": 179,
"era_value": 4.5,
"era_rank": null,
"w_value": 1.0,
"w_rank": 418,
"l_value": 2.0,
"l_rank": 336,
"sv_value": 1.0,
"sv_rank": 141,
"hld_value": 2.0,
"hld_rank": 235,
"ip_value": 58.0,
"ip_rank": 261,
"h_value": 47.0,
"h_rank": 272,
"er_value": 29.0,
"er_rank": 205,
"hr_value": 9.0,
"hr_rank": 180,
"bb_value": 36.0,
"bb_rank": 122,
"k_value": 53.0,
"k_rank": 285,
"k_per_9_value": 8.224137,
"k_per_9_rank": 29,
"whip_value": 1.431,
"whip_rank": null,
"war_value": 0.18,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0344,
"adjusted": 3
},
"predicted_H": {
"original": 4.0,
"factor": 1.0344,
"adjusted": 4
},
"predicted_BB": {
"original": 3.0,
"factor": 1.0858,
"adjusted": 3
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0648,
"adjusted": 1
},
"predicted_SO": {
"original": 5.0,
"factor": 0.985,
"adjusted": 5
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 4.1,
"predicted_H": 3,
"predicted_R": 5,
"predicted_ER": 5,
"predicted_BB": 1,
"predicted_SO": 6,
"predicted_HR": 1,
"box_score_synced": true,
"BF": 19,
"Pitches": 80,
"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."
}
],
"provenance": {
"prediction": "output/games/20260916_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"
}
} |
| 20260916 | 20260916_ATL@CHC | home | Shota Imanaga | Shota Imanaga | True | 5.1 | 6.0 | 2 | 5 | 1 | -4 | 4/4 | 0/0 | 4/8 | Last 10 before this game (10 available){
"model_context": {
"embedded_season": {
"ERA": 3.8809034907597533,
"WHIP": 1.1211498973305953,
"IP": 162.1,
"games_started": null,
"games_pitched": 29,
"role_avg_IP": 5.598,
"recent_avg_IP": 5.0,
"last_start_IP": 6.0,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": 0.1606,
"sample_weight": 1.0,
"run_prevention_factor": 0.9864,
"strikeout_factor": 1.0349,
"walk_factor": 0.928,
"homer_factor": 1.0293,
"regression_flag": "neutral",
"k_percent": 23.6,
"bb_percent": 5.6,
"woba": 0.314,
"xwoba": 0.303,
"barrel_percent": 9.7,
"hard_hit_percent": 36.6,
"whiff_percent": 29.5
},
"espn_rank": {
"rank": 115,
"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": "684007",
"report_date": "20260916",
"season_year": 2026,
"rows_used": 29,
"reference_playing_time": 5.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 25.0,
"ER": 13.0,
"R": 14.0,
"H": 23.0,
"BB": 8.0,
"SO": 26.0,
"HR": 6.0,
"BF": 107.0,
"Pitches": 447.0
},
"per_game": {
"IP": 5.0,
"ER": 2.6,
"R": 2.8,
"H": 4.6,
"BB": 1.6,
"SO": 5.2,
"HR": 1.2,
"BF": 21.4,
"Pitches": 89.4
},
"rates": {
"ERA": 4.68,
"WHIP": 1.24,
"ER_per_IP": 0.52,
"H_per_IP": 0.92,
"BB_per_IP": 0.32,
"SO_per_IP": 1.04,
"HR_per_IP": 0.24
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 54.1,
"ER": 20.0,
"R": 21.0,
"H": 51.0,
"BB": 10.0,
"SO": 51.0,
"HR": 12.0,
"BF": 223.0,
"Pitches": 906.0
},
"per_game": {
"IP": 5.1,
"ER": 2.0,
"R": 2.1,
"H": 5.1,
"BB": 1.0,
"SO": 5.1,
"HR": 1.2,
"BF": 22.3,
"Pitches": 90.6
},
"rates": {
"ERA": 3.3129,
"WHIP": 1.1227,
"ER_per_IP": 0.3681,
"H_per_IP": 0.93865,
"BB_per_IP": 0.18405,
"SO_per_IP": 0.93865,
"HR_per_IP": 0.22086
}
},
"season": {
"games": 29,
"totals": {
"IP": 162.1,
"ER": 70.0,
"R": 72.0,
"H": 145.0,
"BB": 37.0,
"SO": 156.0,
"HR": 34.0,
"BF": 661.0,
"Pitches": 2607.0
},
"per_game": {
"IP": 5.2,
"ER": 2.4138,
"R": 2.4828,
"H": 5.0,
"BB": 1.2759,
"SO": 5.3793,
"HR": 1.1724,
"BF": 22.7931,
"Pitches": 89.8966
},
"rates": {
"ERA": 3.8809,
"WHIP": 1.1211,
"ER_per_IP": 0.43121,
"H_per_IP": 0.89322,
"BB_per_IP": 0.22793,
"SO_per_IP": 0.96099,
"HR_per_IP": 0.20945
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.1,
"predicted_ER": 2.406,
"predicted_H": 4.888,
"predicted_BB": 1.428,
"predicted_SO": 5.164,
"predicted_HR": 1.133,
"predicted_ERA": 4.1145,
"predicted_WHIP": 1.2004
}
},
"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": 5.0,
"form": 2.406,
"final": 3.4751,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 4.888,
"final": 4.522,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 1.428,
"final": 0.8395,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 5.164,
"final": 3.86,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 2.0,
"form": 1.133,
"final": 1.4903,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.1145,
"final": 4.1145,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2004,
"final": 1.2004,
"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": 54.1,
"ER": 20,
"H": 51,
"BB": 10,
"SO": 51,
"HR": 12,
"ERA": 3.312883435582822,
"WHIP": 1.1226993865030674,
"K9": 8.447852760736195,
"HR9": 1.987730061349693,
"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-11T00:00:00"
},
"recent_form_boost": 0.8697555786972013,
"stat_evolution": [
{
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_IP": 5.333333333333333,
"predicted_ER": 5.0,
"predicted_H": 4.0,
"predicted_BB": 0.0,
"predicted_SO": 2.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": "684007",
"player_name": "Shota Imanaga",
"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": 0.0,
"predicted_ER": 5.0,
"predicted_H": 4.0,
"predicted_HR": 2.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": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 5.0,
"predicted_H": 4.0,
"predicted_HR": 2.0,
"predicted_IP": 5.1,
"predicted_R": 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": 5.0,
"after": 5.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": 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": 2.0,
"after": 4.0,
"delta": 2.0,
"percent_delta": 1.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": 4.0,
"delta": 2.0,
"percent_delta": 1.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": {}
}
],
"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": 5.0,
"after": 5.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": 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": 2.0,
"after": 4.0,
"delta": 2.0,
"percent_delta": 1.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": 4.0,
"delta": 2.0,
"percent_delta": 1.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.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": "CHC",
"games": 152,
"wins": 84,
"losses": 68,
"win_pct": 0.5526,
"runs_scored": 809.0,
"runs_allowed": 670.0,
"run_differential": 139.0,
"run_differential_per_game": 0.9145,
"avg_runs_scored": 5.3224,
"avg_runs_allowed": 4.4079,
"offense_index": 1.1851,
"defense_index": 1.0189,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 4.9,
"run_differential": 1.0
},
"available": true,
"quality_score": 0.1217
},
"opponent": {
"team": "ATL",
"games": 152,
"wins": 89,
"losses": 63,
"win_pct": 0.5855,
"runs_scored": 702.0,
"runs_allowed": 587.0,
"run_differential": 115.0,
"run_differential_per_game": 0.7566,
"avg_runs_scored": 4.6184,
"avg_runs_allowed": 3.8618,
"offense_index": 1.0283,
"defense_index": 1.163,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 4.6,
"run_differential": -4.0
},
"available": true,
"quality_score": 0.1653
},
"edges": {
"quality_edge": -0.0436,
"offense_edge": 0.1851,
"opponent_offense_edge": 0.0283,
"defense_strength": 0.0189,
"opponent_defense_weakness": -0.163,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9977,
"run_prevention": 1.0048,
"strikeout": 0.9964
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "684007",
"profile": {
"available": true,
"pitcher_id": "684007",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 636.0,
"k_percent": 23.6,
"bb_percent": 5.6,
"woba": 0.314,
"xwoba": 0.303,
"sweet_spot_percent": 33.8,
"barrel_batted_rate": 9.7,
"hard_hit_percent": 36.6,
"avg_best_speed": 77.8601,
"avg_hyper_speed": 93.7806,
"whiff_percent": 29.5,
"swing_percent": 51.4
},
"league_medians": {
"pa": 132.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6025,
"avg_hyper_speed": 93.9171,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.022,
"command_and_miss": 0.5079,
"regression_edge": 0.3143,
"xwoba_edge": 0.2571,
"barrel_edge": -0.5556,
"hard_hit_edge": 0.1857,
"whiff_edge": 0.6429,
"bb_edge": 0.9,
"pitch_design_score": -0.1906
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "684007",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 86,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 86,
"pitch_usage": 0.0,
"release_speed": 86.44450534443438,
"release_spin_rate": 2042.064526815923,
"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": 86,
"pitch_usage": 0.0,
"release_speed": 86.44450534443438,
"release_spin_rate": 2042.064526815923,
"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.4445,
"release_spin_rate": 2042.0645,
"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.1906,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.3617,
"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.1606,
"sample_weight": 1.0,
"run_prevention_factor": 0.9864,
"strikeout_factor": 1.0349,
"walk_factor": 0.928,
"homer_factor": 1.0293,
"woba_minus_xwoba": 0.011,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "684007",
"espn_id": 5134630,
"player_name": "Shota Imanaga",
"team": "CHC",
"role": "pitcher",
"espn_rank": 115,
"espn_total_ranked": 862,
"metrics": {
"espn_rank": 115,
"gp_value": 29.0,
"gp_rank": 261,
"gs_value": 29.0,
"gs_rank": 24,
"qs_value": 13.0,
"qs_rank": 32,
"era_value": 3.8809,
"era_rank": 32.0,
"w_value": 10.0,
"w_rank": 32,
"l_value": 10.0,
"l_rank": 22,
"sv_value": 0.0,
"sv_rank": 253,
"hld_value": 0.0,
"hld_rank": 357,
"ip_value": 162.1,
"ip_rank": 29,
"h_value": 145.0,
"h_rank": 32,
"er_value": 70.0,
"er_rank": 36,
"hr_value": 34.0,
"hr_rank": 1,
"bb_value": 37.0,
"bb_rank": 117,
"k_value": 156.0,
"k_rank": 30,
"k_per_9_value": 8.64887,
"k_per_9_rank": 27,
"whip_value": 1.1211,
"whip_rank": 17.0,
"war_value": 1.63,
"war_rank": 37.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 0.9864,
"adjusted": 3
},
"predicted_H": {
"original": 5.0,
"factor": 0.9864,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 0.928,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0293,
"adjusted": 1
},
"predicted_SO": {
"original": 5.0,
"factor": 1.0349,
"adjusted": 5
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 5.1,
"predicted_H": 4,
"predicted_R": 5,
"predicted_ER": 5,
"predicted_BB": 0,
"predicted_SO": 4,
"predicted_HR": 2,
"box_score_synced": true,
"BF": 21,
"Pitches": 91,
"published_line_source": "scoring_simulation.box_score"
}
},
"findings": [
{
"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."
},
{
"code": "HOMER_COMPONENT_MISS",
"severity": "warning",
"title": "Home-run component missed",
"detail": "Actual minus predicted home runs was -2."
},
{
"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/20260916_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"
}
} |
| 20260916 | 20260916_BAL@NYM | away | Chris Bassitt | Chris Bassitt | True | 5.0 | 6.2 | 5 | 4 | 1 | -3 | 6/5 | 1/1 | 3/6 | Last 10 before this game (10 available){
"model_context": {
"embedded_season": {
"ERA": 4.881918819188192,
"WHIP": 1.5940959409594098,
"IP": 90.1,
"games_started": null,
"games_pitched": 18,
"role_avg_IP": 5.0,
"recent_avg_IP": 5.733,
"last_start_IP": 5.0,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": -0.3539,
"sample_weight": 1.0,
"run_prevention_factor": 1.0301,
"strikeout_factor": 0.9434,
"walk_factor": 0.99,
"homer_factor": 0.9769,
"regression_flag": "neutral",
"k_percent": 16.0,
"bb_percent": 8.7,
"woba": 0.356,
"xwoba": 0.344,
"barrel_percent": 5.0,
"hard_hit_percent": 35.9,
"whiff_percent": 21.1
},
"espn_rank": {
"rank": 262,
"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": "605135",
"report_date": "20260916",
"season_year": 2026,
"rows_used": 18,
"reference_playing_time": 5.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 28.2,
"ER": 14.0,
"R": 14.0,
"H": 33.0,
"BB": 11.0,
"SO": 26.0,
"HR": 4.0,
"BF": 127.0,
"Pitches": 479.0
},
"per_game": {
"IP": 5.2,
"ER": 2.8,
"R": 2.8,
"H": 6.6,
"BB": 2.2,
"SO": 5.2,
"HR": 0.8,
"BF": 25.4,
"Pitches": 95.8
},
"rates": {
"ERA": 4.3953,
"WHIP": 1.5349,
"ER_per_IP": 0.48837,
"H_per_IP": 1.15116,
"BB_per_IP": 0.38372,
"SO_per_IP": 0.90698,
"HR_per_IP": 0.13953
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 52.1,
"ER": 27.0,
"R": 27.0,
"H": 60.0,
"BB": 18.0,
"SO": 40.0,
"HR": 7.0,
"BF": 233.0,
"Pitches": 843.0
},
"per_game": {
"IP": 5.1,
"ER": 2.7,
"R": 2.7,
"H": 6.0,
"BB": 1.8,
"SO": 4.0,
"HR": 0.7,
"BF": 23.3,
"Pitches": 84.3
},
"rates": {
"ERA": 4.6433,
"WHIP": 1.4904,
"ER_per_IP": 0.51592,
"H_per_IP": 1.1465,
"BB_per_IP": 0.34395,
"SO_per_IP": 0.76433,
"HR_per_IP": 0.13376
}
},
"season": {
"games": 18,
"totals": {
"IP": 90.1,
"ER": 49.0,
"R": 50.0,
"H": 108.0,
"BB": 36.0,
"SO": 66.0,
"HR": 10.0,
"BF": 412.0,
"Pitches": 1546.0
},
"per_game": {
"IP": 5.0,
"ER": 2.7222,
"R": 2.7778,
"H": 6.0,
"BB": 2.0,
"SO": 3.6667,
"HR": 0.5556,
"BF": 22.8889,
"Pitches": 85.8889
},
"rates": {
"ERA": 4.8819,
"WHIP": 1.5941,
"ER_per_IP": 0.54244,
"H_per_IP": 1.19557,
"BB_per_IP": 0.39852,
"SO_per_IP": 0.73063,
"HR_per_IP": 0.1107
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.1,
"predicted_ER": 2.741,
"predicted_H": 6.037,
"predicted_BB": 2.012,
"predicted_SO": 4.573,
"predicted_HR": 0.729,
"predicted_ERA": 4.5701,
"predicted_WHIP": 1.4911
}
},
"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": 5.1,
"form": 5.1,
"final": 5.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 5.0,
"form": 2.741,
"final": 3.7391,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 6.037,
"final": 5.5788,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 2.012,
"final": 1.5648,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 4.573,
"final": 3.878,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.729,
"final": 0.8487,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.5701,
"final": 4.5701,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4911,
"final": 1.4911,
"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": 52.1,
"ER": 27,
"H": 60,
"BB": 18,
"SO": 40,
"HR": 7,
"ERA": 4.643312101910828,
"WHIP": 1.4904458598726114,
"K9": 6.878980891719745,
"HR9": 1.2038216560509554,
"games_pitched": 10,
"quality_starts": 2,
"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-11T00:00:00"
},
"recent_form_boost": 1.0286224654933407,
"stat_evolution": [
{
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_IP": 5.333333333333333,
"predicted_ER": 5.0,
"predicted_H": 5.0,
"predicted_BB": 1.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": 5.0,
"predicted_ER": 5,
"predicted_H": 5,
"predicted_BB": 1,
"predicted_SO": 3,
"predicted_HR": 1
}
},
{
"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": 5,
"predicted_H": 6,
"predicted_BB": 1,
"predicted_SO": 3,
"predicted_HR": 1
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "605135",
"player_name": "Chris Bassitt",
"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": 5.0,
"predicted_H": 5.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": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 5.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 5.0,
"predicted_SO": 3.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": 5.0,
"after": 5.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.3333,
"after": 5.0,
"delta": -0.3333,
"percent_delta": -0.0625,
"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.0,
"delta": -0.3333,
"percent_delta": -0.0625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"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": 1.0,
"predicted_ER": 5.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 5.0,
"predicted_SO": 3.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": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 6.0,
"delta": 1.0,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"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": 3.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": 5.0,
"after": 6.0,
"delta": 1.0,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"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": 1.0,
"predicted_ER": 5.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 5.0,
"predicted_R": 5.0,
"predicted_SO": 3.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": 5.0,
"after": 5.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": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 6.0,
"delta": 1.0,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"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.0,
"delta": -0.3333,
"percent_delta": -0.0625,
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 5.0,
"after": 6.0,
"delta": 1.0,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"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": "BAL",
"games": 152,
"wins": 74,
"losses": 78,
"win_pct": 0.4868,
"runs_scored": 681.0,
"runs_allowed": 713.0,
"run_differential": -32.0,
"run_differential_per_game": -0.2105,
"avg_runs_scored": 4.4803,
"avg_runs_allowed": 4.6908,
"offense_index": 0.9969,
"defense_index": 0.9581,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.1,
"avg_runs_allowed": 5.1,
"run_differential": -10.0
},
"available": true,
"quality_score": -0.037
},
"opponent": {
"team": "NYM",
"games": 151,
"wins": 69,
"losses": 82,
"win_pct": 0.457,
"runs_scored": 649.0,
"runs_allowed": 686.0,
"run_differential": -37.0,
"run_differential_per_game": -0.245,
"avg_runs_scored": 4.298,
"avg_runs_allowed": 4.543,
"offense_index": 0.9564,
"defense_index": 0.9892,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 6.2,
"avg_runs_allowed": 5.3,
"run_differential": 9.0
},
"available": true,
"quality_score": -0.0665
},
"edges": {
"quality_edge": 0.0295,
"offense_edge": -0.0031,
"opponent_offense_edge": -0.0436,
"defense_strength": -0.0419,
"opponent_defense_weakness": 0.0108,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0017,
"run_prevention": 0.9957,
"strikeout": 1.0044
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "605135",
"profile": {
"available": true,
"pitcher_id": "605135",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 388.0,
"k_percent": 16.0,
"bb_percent": 8.7,
"woba": 0.356,
"xwoba": 0.344,
"sweet_spot_percent": 31.6,
"barrel_batted_rate": 5.0,
"hard_hit_percent": 35.9,
"avg_best_speed": 76.3242,
"avg_hyper_speed": 93.569,
"whiff_percent": 21.1,
"swing_percent": 45.7
},
"league_medians": {
"pa": 132.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6025,
"avg_hyper_speed": 93.9171,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.3986,
"command_and_miss": -0.5557,
"regression_edge": 0.3429,
"xwoba_edge": -0.9143,
"barrel_edge": 0.4889,
"hard_hit_edge": 0.2857,
"whiff_edge": -0.5571,
"bb_edge": 0.125,
"pitch_design_score": -0.2556
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "605135",
"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": 85.28366178454208,
"release_spin_rate": 2181.6361230482403,
"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": 85.28366178454208,
"release_spin_rate": 2181.6361230482403,
"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": 85.2837,
"release_spin_rate": 2181.6361,
"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.2556,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.8261,
"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.3539,
"sample_weight": 1.0,
"run_prevention_factor": 1.0301,
"strikeout_factor": 0.9434,
"walk_factor": 0.99,
"homer_factor": 0.9769,
"woba_minus_xwoba": 0.012,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "605135",
"espn_id": 33148,
"player_name": "Chris Bassitt",
"team": "BAL",
"role": "pitcher",
"espn_rank": 262,
"espn_total_ranked": 862,
"metrics": {
"espn_rank": 262,
"gp_value": 18.0,
"gp_rank": 425,
"gs_value": 16.0,
"gs_rank": 134,
"qs_value": 3.0,
"qs_rank": 142,
"era_value": 4.8819,
"era_rank": null,
"w_value": 7.0,
"w_rank": 89,
"l_value": 5.0,
"l_rank": 144,
"sv_value": 0.0,
"sv_rank": 253,
"hld_value": 0.0,
"hld_rank": 357,
"ip_value": 90.1,
"ip_rank": 146,
"h_value": 108.0,
"h_rank": 112,
"er_value": 49.0,
"er_rank": 115,
"hr_value": 10.0,
"hr_rank": 167,
"bb_value": 36.0,
"bb_rank": 122,
"k_value": 66.0,
"k_rank": 209,
"k_per_9_value": 6.575646,
"k_per_9_rank": 38,
"whip_value": 1.594,
"whip_rank": null,
"war_value": 0.47,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0301,
"adjusted": 3
},
"predicted_H": {
"original": 6.0,
"factor": 1.0301,
"adjusted": 6
},
"predicted_BB": {
"original": 2.0,
"factor": 0.99,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 0.9769,
"adjusted": 1
},
"predicted_SO": {
"original": 4.0,
"factor": 0.9434,
"adjusted": 4
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 5.0,
"predicted_H": 6,
"predicted_R": 5,
"predicted_ER": 5,
"predicted_BB": 1,
"predicted_SO": 3,
"predicted_HR": 1,
"box_score_synced": true,
"BF": 23,
"Pitches": 86,
"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/20260916_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"
}
} |
| 20260916 | 20260916_BAL@NYM | home | Xzavion Curry | Xzavion Curry | True | 5.0 | 3.0 | -6 | 1 | 6 | 5 | 4/6 | 1/1 | 4/3 | Last 10 before this game (8 available){
"model_context": {
"embedded_season": {
"ERA": 3.4363636363636365,
"WHIP": 1.309090909090909,
"IP": 18.1,
"games_started": null,
"games_pitched": 8,
"role_avg_IP": 4.0,
"recent_avg_IP": 4.0,
"last_start_IP": 3.0,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": -0.0044,
"sample_weight": 0.45,
"run_prevention_factor": 1.0004,
"strikeout_factor": 0.965,
"walk_factor": 1.0099,
"homer_factor": 1.0003,
"regression_flag": "positive_pitcher_regression",
"k_percent": 15.4,
"bb_percent": 10.3,
"woba": 0.322,
"xwoba": 0.287,
"barrel_percent": 8.8,
"hard_hit_percent": 36.8,
"whiff_percent": 18.0
},
"espn_rank": {
"rank": 322,
"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.6818181818181818,
"last_10": 0.3181818181818182
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.71,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4259,
"prior_weight": 0.5741
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "675540",
"report_date": "20260916",
"season_year": 2026,
"rows_used": 8,
"reference_playing_time": 4.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 15.0,
"ER": 6.0,
"R": 6.0,
"H": 13.0,
"BB": 7.0,
"SO": 10.0,
"HR": 3.0,
"BF": 64.0,
"Pitches": 238.0
},
"per_game": {
"IP": 3.0,
"ER": 1.2,
"R": 1.2,
"H": 2.6,
"BB": 1.4,
"SO": 2.0,
"HR": 0.6,
"BF": 12.8,
"Pitches": 47.6
},
"rates": {
"ERA": 3.6,
"WHIP": 1.3333,
"ER_per_IP": 0.4,
"H_per_IP": 0.86667,
"BB_per_IP": 0.46667,
"SO_per_IP": 0.66667,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 8,
"totals": {
"IP": 18.1,
"ER": 7.0,
"R": 7.0,
"H": 16.0,
"BB": 8.0,
"SO": 12.0,
"HR": 3.0,
"BF": 78.0,
"Pitches": 287.0
},
"per_game": {
"IP": 2.1,
"ER": 0.875,
"R": 0.875,
"H": 2.0,
"BB": 1.0,
"SO": 1.5,
"HR": 0.375,
"BF": 9.75,
"Pitches": 35.875
},
"rates": {
"ERA": 3.4364,
"WHIP": 1.3091,
"ER_per_IP": 0.38182,
"H_per_IP": 0.87273,
"BB_per_IP": 0.43636,
"SO_per_IP": 0.65455,
"HR_per_IP": 0.16364
}
},
"season": {
"games": 8,
"totals": {
"IP": 18.1,
"ER": 7.0,
"R": 7.0,
"H": 16.0,
"BB": 8.0,
"SO": 12.0,
"HR": 3.0,
"BF": 78.0,
"Pitches": 287.0
},
"per_game": {
"IP": 2.1,
"ER": 0.875,
"R": 0.875,
"H": 2.0,
"BB": 1.0,
"SO": 1.5,
"HR": 0.375,
"BF": 9.75,
"Pitches": 35.875
},
"rates": {
"ERA": 3.4364,
"WHIP": 1.3091,
"ER_per_IP": 0.38182,
"H_per_IP": 0.87273,
"BB_per_IP": 0.43636,
"SO_per_IP": 0.65455,
"HR_per_IP": 0.16364
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 4.0,
"predicted_ER": 1.768,
"predicted_H": 3.593,
"predicted_BB": 1.579,
"predicted_SO": 3.174,
"predicted_HR": 0.637,
"predicted_ERA": 4.1155,
"predicted_WHIP": 1.3377
}
},
"model_form_blend_trace": {
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5926,
"form_weight": 0.4074,
"form_reliability": 0.4259,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.71,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4259,
"prior_weight": 0.5741
},
"applied_metrics": {
"predicted_IP": {
"model": 4.2,
"form": 4.0,
"final": 4.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 1.768,
"final": 1.3129,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 3.593,
"final": 3.8342,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.579,
"final": 1.2359,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 3.174,
"final": 3.6635,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.637,
"final": 0.8521,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.1155,
"final": 4.1155,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3377,
"final": 1.3377,
"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": 18.1,
"ER": 7,
"H": 16,
"BB": 8,
"SO": 12,
"HR": 3,
"ERA": 3.4363636363636365,
"WHIP": 1.309090909090909,
"K9": 5.8909090909090915,
"HR9": 1.4727272727272729,
"games_pitched": 8,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 8,
"error_prone": false
},
"games_count": 8,
"latest_game_date": "2026-08-27T00:00:00"
},
"recent_form_boost": 0.9325891949085685,
"stat_evolution": [
{
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_IP": 4.666666666666667,
"predicted_ER": 1.0,
"predicted_H": 4.0,
"predicted_BB": 1.0,
"predicted_SO": 4.0,
"predicted_HR": 1.0
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.71,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4259,
"prior_weight": 0.5741
}
},
{
"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": 4,
"predicted_BB": 1,
"predicted_SO": 4,
"predicted_HR": 1
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "675540",
"player_name": "Xzavion Curry",
"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": 1.0,
"predicted_ER": 1.0,
"predicted_H": 4.0,
"predicted_HR": 1.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": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 5.0,
"predicted_SO": 4.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": 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": 4.6667,
"after": 5.0,
"delta": 0.3333,
"percent_delta": 0.0714,
"direction": "boost",
"projection_effect": "better",
"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": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 4.6667,
"after": 5.0,
"delta": 0.3333,
"percent_delta": 0.0714,
"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": 1.0,
"predicted_ER": 1.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 5.0,
"predicted_R": 1.0,
"predicted_SO": 4.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": 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.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": 1.0,
"after": 1.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": 4.6667,
"after": 5.0,
"delta": 0.3333,
"percent_delta": 0.0714,
"direction": "boost",
"projection_effect": "better",
"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": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 4.6667,
"after": 5.0,
"delta": 0.3333,
"percent_delta": 0.0714,
"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": "NYM",
"games": 151,
"wins": 69,
"losses": 82,
"win_pct": 0.457,
"runs_scored": 649.0,
"runs_allowed": 686.0,
"run_differential": -37.0,
"run_differential_per_game": -0.245,
"avg_runs_scored": 4.298,
"avg_runs_allowed": 4.543,
"offense_index": 0.9564,
"defense_index": 0.9892,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 6.2,
"avg_runs_allowed": 5.3,
"run_differential": 9.0
},
"available": true,
"quality_score": -0.0665
},
"opponent": {
"team": "BAL",
"games": 152,
"wins": 74,
"losses": 78,
"win_pct": 0.4868,
"runs_scored": 681.0,
"runs_allowed": 713.0,
"run_differential": -32.0,
"run_differential_per_game": -0.2105,
"avg_runs_scored": 4.4803,
"avg_runs_allowed": 4.6908,
"offense_index": 0.9969,
"defense_index": 0.9581,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.1,
"avg_runs_allowed": 5.1,
"run_differential": -10.0
},
"available": true,
"quality_score": -0.037
},
"edges": {
"quality_edge": -0.0295,
"offense_edge": -0.0436,
"opponent_offense_edge": -0.0031,
"defense_strength": -0.0108,
"opponent_defense_weakness": 0.0419,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 0.9986,
"run_prevention": 1.0021,
"strikeout": 0.9994
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "675540",
"profile": {
"available": true,
"pitcher_id": "675540",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 67.0,
"k_percent": 15.4,
"bb_percent": 10.3,
"woba": 0.322,
"xwoba": 0.287,
"sweet_spot_percent": 26.3,
"barrel_batted_rate": 8.8,
"hard_hit_percent": 36.8,
"avg_best_speed": 79.9139,
"avg_hyper_speed": 93.2802,
"whiff_percent": 18.0,
"swing_percent": 46.3
},
"league_medians": {
"pa": 132.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6025,
"avg_hyper_speed": 93.9171,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.2242,
"command_and_miss": -0.8293,
"regression_edge": 1.0,
"xwoba_edge": 0.7143,
"barrel_edge": -0.3556,
"hard_hit_edge": 0.1571,
"whiff_edge": -1.0,
"bb_edge": -0.275,
"pitch_design_score": -0.247
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "675540",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 42,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 42,
"pitch_usage": 0.0,
"release_speed": 85.43870600293396,
"release_spin_rate": 2217.651750635692,
"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": 42,
"pitch_usage": 0.0,
"release_speed": 85.43870600293396,
"release_spin_rate": 2217.651750635692,
"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": 85.4387,
"release_spin_rate": 2217.6518,
"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.247,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.764,
"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.0044,
"sample_weight": 0.45,
"run_prevention_factor": 1.0004,
"strikeout_factor": 0.965,
"walk_factor": 1.0099,
"homer_factor": 1.0003,
"woba_minus_xwoba": 0.035,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "675540",
"espn_id": 4204524,
"player_name": "Xzavion Curry",
"team": "NYM",
"role": "pitcher",
"espn_rank": 322,
"espn_total_ranked": 862,
"metrics": {
"espn_rank": 322,
"gp_value": 8.0,
"gp_rank": 566,
"gs_value": 0.0,
"gs_rank": 368,
"qs_value": 0.0,
"qs_rank": 214,
"era_value": 3.4363,
"era_rank": null,
"w_value": 0.0,
"w_rank": 541,
"l_value": 0.0,
"l_rank": 580,
"sv_value": 0.0,
"sv_rank": 253,
"hld_value": 0.0,
"hld_rank": 357,
"ip_value": 18.1,
"ip_rank": 538,
"h_value": 16.0,
"h_rank": 569,
"er_value": 7.0,
"er_rank": 611,
"hr_value": 3.0,
"hr_rank": 456,
"bb_value": 8.0,
"bb_rank": 534,
"k_value": 12.0,
"k_rank": 577,
"k_per_9_value": 5.8909087,
"k_per_9_rank": 28,
"whip_value": 1.309,
"whip_rank": null,
"war_value": 0.25,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0002,
"adjusted": 1
},
"predicted_H": {
"original": 4.0,
"factor": 1.0002,
"adjusted": 4
},
"predicted_BB": {
"original": 2.0,
"factor": 1.0045,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0001,
"adjusted": 1
},
"predicted_SO": {
"original": 4.0,
"factor": 0.9842,
"adjusted": 4
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 5.0,
"predicted_H": 4,
"predicted_R": 1,
"predicted_ER": 1,
"predicted_BB": 1,
"predicted_SO": 4,
"predicted_HR": 1,
"box_score_synced": true,
"BF": 21,
"Pitches": 91,
"published_line_source": "scoring_simulation.box_score"
}
},
"findings": [
{
"code": "PARTIAL_PRIOR_HISTORY",
"severity": "warning",
"title": "Only 8 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 5",
"detail": "Actual minus predicted earned runs was +5; this is the primary run-prevention error."
},
{
"code": "WORKLOAD_MISS",
"severity": "warning",
"title": "Workload missed by at least two innings",
"detail": "The actual outing differed by -6 outs from the projected workload."
},
{
"code": "HOMER_COMPONENT_MISS",
"severity": "warning",
"title": "Home-run component missed",
"detail": "Actual minus predicted home runs was +3."
}
],
"provenance": {
"prediction": "output/games/20260916_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"
}
} |
| 20260916 | 20260916_BOS@TEX | away | Jake Bennett | Jake Bennett | True | 5.2 | 4.2 | -3 | 3 | 3 | 0 | 4/8 | 0/1 | 5/7 | Last 10 before this game (10 available){
"model_context": {
"embedded_season": {
"ERA": 3.6857142857142855,
"WHIP": 1.0666666666666667,
"IP": 105.0,
"games_started": null,
"games_pitched": 18,
"role_avg_IP": 5.833,
"recent_avg_IP": 5.667,
"last_start_IP": 5.1,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": 0.2058,
"sample_weight": 1.0,
"run_prevention_factor": 0.9825,
"strikeout_factor": 0.9829,
"walk_factor": 0.906,
"homer_factor": 0.9999,
"regression_flag": "neutral",
"k_percent": 19.9,
"bb_percent": 4.5,
"woba": 0.281,
"xwoba": 0.29,
"barrel_percent": 8.0,
"hard_hit_percent": 38.7,
"whiff_percent": 24.1
},
"espn_rank": {
"rank": 126,
"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": "687562",
"report_date": "20260916",
"season_year": 2026,
"rows_used": 18,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 28.1,
"ER": 16.0,
"R": 17.0,
"H": 29.0,
"BB": 3.0,
"SO": 28.0,
"HR": 7.0,
"BF": 113.0,
"Pitches": 395.0
},
"per_game": {
"IP": 5.2,
"ER": 3.2,
"R": 3.4,
"H": 5.8,
"BB": 0.6,
"SO": 5.6,
"HR": 1.4,
"BF": 22.6,
"Pitches": 79.0
},
"rates": {
"ERA": 5.0824,
"WHIP": 1.1294,
"ER_per_IP": 0.56471,
"H_per_IP": 1.02353,
"BB_per_IP": 0.10588,
"SO_per_IP": 0.98824,
"HR_per_IP": 0.24706
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 57.1,
"ER": 29.0,
"R": 30.0,
"H": 56.0,
"BB": 11.0,
"SO": 48.0,
"HR": 9.0,
"BF": 236.0,
"Pitches": 807.0
},
"per_game": {
"IP": 5.2,
"ER": 2.9,
"R": 3.0,
"H": 5.6,
"BB": 1.1,
"SO": 4.8,
"HR": 0.9,
"BF": 23.6,
"Pitches": 80.7
},
"rates": {
"ERA": 4.5523,
"WHIP": 1.1686,
"ER_per_IP": 0.50581,
"H_per_IP": 0.97674,
"BB_per_IP": 0.19186,
"SO_per_IP": 0.83721,
"HR_per_IP": 0.15698
}
},
"season": {
"games": 18,
"totals": {
"IP": 105.0,
"ER": 43.0,
"R": 44.0,
"H": 93.0,
"BB": 19.0,
"SO": 83.0,
"HR": 12.0,
"BF": 418.0,
"Pitches": 1462.0
},
"per_game": {
"IP": 6.0,
"ER": 2.3889,
"R": 2.4444,
"H": 5.1667,
"BB": 1.0556,
"SO": 4.6111,
"HR": 0.6667,
"BF": 23.2222,
"Pitches": 81.2222
},
"rates": {
"ERA": 3.6857,
"WHIP": 1.0667,
"ER_per_IP": 0.40952,
"H_per_IP": 0.88571,
"BB_per_IP": 0.18095,
"SO_per_IP": 0.79048,
"HR_per_IP": 0.11429
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.2,
"predicted_ER": 2.923,
"predicted_H": 5.595,
"predicted_BB": 1.139,
"predicted_SO": 5.176,
"predicted_HR": 1.029,
"predicted_ERA": 4.5999,
"predicted_WHIP": 1.1776
}
},
"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": 5.2,
"form": 5.2,
"final": 5.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 2.923,
"final": 2.957,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 5.595,
"final": 4.8902,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 1.139,
"final": 0.6357,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 5.176,
"final": 5.0982,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 1.029,
"final": 1.0162,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.5999,
"final": 4.5999,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1776,
"final": 1.1776,
"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.1,
"ER": 29,
"H": 56,
"BB": 11,
"SO": 48,
"HR": 9,
"ERA": 4.552325581395349,
"WHIP": 1.1686046511627908,
"K9": 7.5348837209302335,
"HR9": 1.4127906976744187,
"games_pitched": 10,
"quality_starts": 5,
"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.0103404517176038,
"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": 4.0,
"predicted_BB": 0.0,
"predicted_SO": 5.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": 5.2,
"predicted_ER": 3,
"predicted_H": 4,
"predicted_BB": 0,
"predicted_SO": 5,
"predicted_HR": 1
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "687562",
"player_name": "Jake Bennett",
"position": "Starter",
"team": "BOS",
"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": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 5.6667,
"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": "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": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 5.2,
"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": 3.0,
"after": 3.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": 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.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"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": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 5.2,
"predicted_R": 3.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": 3.0,
"after": 3.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.2,
"after": 5.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": 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": 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": 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.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"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": "BOS",
"games": 151,
"wins": 82,
"losses": 69,
"win_pct": 0.543,
"runs_scored": 665.0,
"runs_allowed": 579.0,
"run_differential": 86.0,
"run_differential_per_game": 0.5695,
"avg_runs_scored": 4.404,
"avg_runs_allowed": 3.8344,
"offense_index": 0.9806,
"defense_index": 1.1713,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.2,
"avg_runs_allowed": 2.4,
"run_differential": 8.0
},
"available": true,
"quality_score": 0.1413
},
"opponent": {
"team": "TEX",
"games": 151,
"wins": 75,
"losses": 76,
"win_pct": 0.4967,
"runs_scored": 628.0,
"runs_allowed": 670.0,
"run_differential": -42.0,
"run_differential_per_game": -0.2781,
"avg_runs_scored": 4.1589,
"avg_runs_allowed": 4.4371,
"offense_index": 0.926,
"defense_index": 1.0122,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 5.0,
"run_differential": 0.0
},
"available": true,
"quality_score": -0.0369
},
"edges": {
"quality_edge": 0.1782,
"offense_edge": -0.0194,
"opponent_offense_edge": -0.074,
"defense_strength": 0.1713,
"opponent_defense_weakness": -0.0122,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0152,
"run_prevention": 0.9621,
"strikeout": 1.0113
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "687562",
"profile": {
"available": true,
"pitcher_id": "687562",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 390.0,
"k_percent": 19.9,
"bb_percent": 4.5,
"woba": 0.281,
"xwoba": 0.29,
"sweet_spot_percent": 32.3,
"barrel_batted_rate": 8.0,
"hard_hit_percent": 38.7,
"avg_best_speed": 76.9759,
"avg_hyper_speed": 94.2031,
"whiff_percent": 24.1,
"swing_percent": 53.6
},
"league_medians": {
"pa": 132.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6025,
"avg_hyper_speed": 93.9171,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.3976,
"command_and_miss": 0.055,
"regression_edge": -0.2571,
"xwoba_edge": 0.6286,
"barrel_edge": -0.1778,
"hard_hit_edge": -0.1143,
"whiff_edge": -0.1286,
"bb_edge": 1.175,
"pitch_design_score": -0.068
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "687562",
"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.63459387941826,
"release_spin_rate": 2086.03263663181,
"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.63459387941826,
"release_spin_rate": 2086.03263663181,
"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.6346,
"release_spin_rate": 2086.0326,
"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.068,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.4857,
"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.2058,
"sample_weight": 1.0,
"run_prevention_factor": 0.9825,
"strikeout_factor": 0.9829,
"walk_factor": 0.906,
"homer_factor": 0.9999,
"woba_minus_xwoba": -0.009,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687562",
"espn_id": 4654024,
"player_name": "Jake Bennett",
"team": "BOS",
"role": "pitcher",
"espn_rank": 126,
"espn_total_ranked": 862,
"metrics": {
"espn_rank": 126,
"gp_value": 18.0,
"gp_rank": 425,
"gs_value": 18.0,
"gs_rank": 119,
"qs_value": 9.0,
"qs_rank": 66,
"era_value": 3.6857,
"era_rank": null,
"w_value": 9.0,
"w_rank": 45,
"l_value": 7.0,
"l_rank": 89,
"sv_value": 0.0,
"sv_rank": 253,
"hld_value": 0.0,
"hld_rank": 357,
"ip_value": 105.0,
"ip_rank": 124,
"h_value": 93.0,
"h_rank": 126,
"er_value": 43.0,
"er_rank": 146,
"hr_value": 12.0,
"hr_rank": 139,
"bb_value": 19.0,
"bb_rank": 321,
"k_value": 83.0,
"k_rank": 154,
"k_per_9_value": 7.1142855,
"k_per_9_rank": 33,
"whip_value": 1.0666,
"whip_rank": null,
"war_value": 1.47,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 0.9825,
"adjusted": 3
},
"predicted_H": {
"original": 5.0,
"factor": 0.9825,
"adjusted": 5
},
"predicted_BB": {
"original": 1.0,
"factor": 0.906,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 0.9999,
"adjusted": 1
},
"predicted_SO": {
"original": 5.0,
"factor": 0.9829,
"adjusted": 5
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 5.2,
"predicted_H": 4,
"predicted_R": 3,
"predicted_ER": 3,
"predicted_BB": 0,
"predicted_SO": 5,
"predicted_HR": 1,
"box_score_synced": true,
"BF": 21,
"Pitches": 95,
"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."
},
{
"code": "HIT_COMPONENT_MISS",
"severity": "warning",
"title": "Hits missed by 4",
"detail": "Actual minus predicted hits was +4."
}
],
"provenance": {
"prediction": "output/games/20260916_BOS@TEX.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"
}
} |
| 20260916 | 20260916_BOS@TEX | home | MacKenzie Gore | MacKenzie Gore | True | 5.0 | 4.0 | -3 | 3 | 3 | 0 | 3/2 | 4/3 | 2/0 | Last 10 before this game (10 available){
"model_context": {
"embedded_season": {
"ERA": 4.620618556701031,
"WHIP": 1.354639175257732,
"IP": 161.2,
"games_started": null,
"games_pitched": 31,
"role_avg_IP": 5.215,
"recent_avg_IP": 4.4,
"last_start_IP": 4.0,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": 0.0469,
"sample_weight": 1.0,
"run_prevention_factor": 0.996,
"strikeout_factor": 1.0194,
"walk_factor": 1.004,
"homer_factor": 1.0365,
"regression_flag": "neutral",
"k_percent": 24.4,
"bb_percent": 9.4,
"woba": 0.319,
"xwoba": 0.309,
"barrel_percent": 8.5,
"hard_hit_percent": 40.7,
"whiff_percent": 26.0
},
"espn_rank": {
"rank": 173,
"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": "669022",
"report_date": "20260916",
"season_year": 2026,
"rows_used": 31,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 22.0,
"ER": 14.0,
"R": 14.0,
"H": 28.0,
"BB": 15.0,
"SO": 18.0,
"HR": 0.0,
"BF": 107.0,
"Pitches": 422.0
},
"per_game": {
"IP": 4.1,
"ER": 2.8,
"R": 2.8,
"H": 5.6,
"BB": 3.0,
"SO": 3.6,
"HR": 0.0,
"BF": 21.4,
"Pitches": 84.4
},
"rates": {
"ERA": 5.7273,
"WHIP": 1.9545,
"ER_per_IP": 0.63636,
"H_per_IP": 1.27273,
"BB_per_IP": 0.68182,
"SO_per_IP": 0.81818,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 51.0,
"ER": 24.0,
"R": 24.0,
"H": 53.0,
"BB": 24.0,
"SO": 50.0,
"HR": 4.0,
"BF": 229.0,
"Pitches": 914.0
},
"per_game": {
"IP": 5.0,
"ER": 2.4,
"R": 2.4,
"H": 5.3,
"BB": 2.4,
"SO": 5.0,
"HR": 0.4,
"BF": 22.9,
"Pitches": 91.4
},
"rates": {
"ERA": 4.2353,
"WHIP": 1.5098,
"ER_per_IP": 0.47059,
"H_per_IP": 1.03922,
"BB_per_IP": 0.47059,
"SO_per_IP": 0.98039,
"HR_per_IP": 0.07843
}
},
"season": {
"games": 31,
"totals": {
"IP": 161.2,
"ER": 83.0,
"R": 83.0,
"H": 153.0,
"BB": 66.0,
"SO": 172.0,
"HR": 18.0,
"BF": 704.0,
"Pitches": 2791.0
},
"per_game": {
"IP": 5.1,
"ER": 2.6774,
"R": 2.6774,
"H": 4.9355,
"BB": 2.129,
"SO": 5.5484,
"HR": 0.5806,
"BF": 22.7097,
"Pitches": 90.0323
},
"rates": {
"ERA": 4.6206,
"WHIP": 1.3546,
"ER_per_IP": 0.5134,
"H_per_IP": 0.94639,
"BB_per_IP": 0.40825,
"SO_per_IP": 1.06392,
"HR_per_IP": 0.11134
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 4.2,
"predicted_ER": 2.624,
"predicted_H": 5.301,
"predicted_BB": 2.534,
"predicted_SO": 4.444,
"predicted_HR": 0.303,
"predicted_ERA": 4.9217,
"predicted_WHIP": 1.6327
}
},
"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": 5.0,
"form": 4.2,
"final": 4.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 2.624,
"final": 2.7777,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 5.301,
"final": 4.3606,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 4.0,
"form": 2.534,
"final": 3.1331,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 4.444,
"final": 3.4452,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.303,
"final": 0.1792,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.9217,
"final": 4.9217,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.6327,
"final": 1.6327,
"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": 51.0,
"ER": 24,
"H": 53,
"BB": 24,
"SO": 50,
"HR": 4,
"ERA": 4.235294117647059,
"WHIP": 1.5098039215686274,
"K9": 8.823529411764707,
"HR9": 0.7058823529411765,
"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-11T00:00:00"
},
"recent_form_boost": 0.9832043938060671,
"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": 4.0,
"predicted_SO": 2.0,
"predicted_HR": 0.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": "669022",
"player_name": "MacKenzie Gore",
"position": "Starter",
"team": "TEX",
"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": 3.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"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": 3.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_R": 3.0,
"predicted_SO": 2.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": 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": 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": 2.0,
"after": 2.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": 4.0,
"after": 4.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": 3.0,
"after": 3.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": 2.0,
"after": 2.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": "TEX",
"games": 151,
"wins": 75,
"losses": 76,
"win_pct": 0.4967,
"runs_scored": 628.0,
"runs_allowed": 670.0,
"run_differential": -42.0,
"run_differential_per_game": -0.2781,
"avg_runs_scored": 4.1589,
"avg_runs_allowed": 4.4371,
"offense_index": 0.926,
"defense_index": 1.0122,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 5.0,
"run_differential": 0.0
},
"available": true,
"quality_score": -0.0369
},
"opponent": {
"team": "BOS",
"games": 151,
"wins": 82,
"losses": 69,
"win_pct": 0.543,
"runs_scored": 665.0,
"runs_allowed": 579.0,
"run_differential": 86.0,
"run_differential_per_game": 0.5695,
"avg_runs_scored": 4.404,
"avg_runs_allowed": 3.8344,
"offense_index": 0.9806,
"defense_index": 1.1713,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.2,
"avg_runs_allowed": 2.4,
"run_differential": 8.0
},
"available": true,
"quality_score": 0.1413
},
"edges": {
"quality_edge": -0.1782,
"offense_edge": -0.074,
"opponent_offense_edge": -0.0194,
"defense_strength": 0.0122,
"opponent_defense_weakness": -0.1713,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.994,
"run_prevention": 1.0046,
"strikeout": 0.9962
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "669022",
"profile": {
"available": true,
"pitcher_id": "669022",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 679.0,
"k_percent": 24.4,
"bb_percent": 9.4,
"woba": 0.319,
"xwoba": 0.309,
"sweet_spot_percent": 34.4,
"barrel_batted_rate": 8.5,
"hard_hit_percent": 40.7,
"avg_best_speed": 77.1549,
"avg_hyper_speed": 94.4527,
"whiff_percent": 26.0,
"swing_percent": 49.1
},
"league_medians": {
"pa": 132.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6025,
"avg_hyper_speed": 93.9171,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.0609,
"command_and_miss": 0.1943,
"regression_edge": 0.2857,
"xwoba_edge": 0.0857,
"barrel_edge": -0.2889,
"hard_hit_edge": -0.4,
"whiff_edge": 0.1429,
"bb_edge": -0.05,
"pitch_design_score": 0.0232
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669022",
"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": 90.26328203603335,
"release_spin_rate": 2169.03935351966,
"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": 90.26328203603335,
"release_spin_rate": 2169.03935351966,
"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.2633,
"release_spin_rate": 2169.0394,
"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.0232,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1658,
"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.0469,
"sample_weight": 1.0,
"run_prevention_factor": 0.996,
"strikeout_factor": 1.0194,
"walk_factor": 1.004,
"homer_factor": 1.0365,
"woba_minus_xwoba": 0.01,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669022",
"espn_id": 39636,
"player_name": "MacKenzie Gore",
"team": "TEX",
"role": "pitcher",
"espn_rank": 173,
"espn_total_ranked": 862,
"metrics": {
"espn_rank": 173,
"gp_value": 31.0,
"gp_rank": 219,
"gs_value": 31.0,
"gs_rank": 2,
"qs_value": 9.0,
"qs_rank": 66,
"era_value": 4.6206,
"era_rank": 43.0,
"w_value": 8.0,
"w_rank": 71,
"l_value": 11.0,
"l_rank": 11,
"sv_value": 0.0,
"sv_rank": 253,
"hld_value": 0.0,
"hld_rank": 357,
"ip_value": 161.2,
"ip_rank": 32,
"h_value": 153.0,
"h_rank": 24,
"er_value": 83.0,
"er_rank": 12,
"hr_value": 18.0,
"hr_rank": 67,
"bb_value": 66.0,
"bb_rank": 12,
"k_value": 172.0,
"k_rank": 22,
"k_per_9_value": 9.575257,
"k_per_9_rank": 18,
"whip_value": 1.3546,
"whip_rank": 41.0,
"war_value": 1.06,
"war_rank": 43.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 0.996,
"adjusted": 3
},
"predicted_H": {
"original": 6.0,
"factor": 0.996,
"adjusted": 6
},
"predicted_BB": {
"original": 3.0,
"factor": 1.004,
"adjusted": 3
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0365,
"adjusted": 0
},
"predicted_SO": {
"original": 5.0,
"factor": 1.0194,
"adjusted": 5
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 5.0,
"predicted_H": 3,
"predicted_R": 3,
"predicted_ER": 3,
"predicted_BB": 4,
"predicted_SO": 2,
"predicted_HR": 0,
"box_score_synced": true,
"BF": 23,
"Pitches": 100,
"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/20260916_BOS@TEX.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"
}
} |
| 20260916 | 20260916_CHW@CLE | away | Anthony Kay | Anthony Kay | True | 4.2 | 4.0 | -2 | 5 | 0 | -5 | 7/2 | 2/2 | 4/3 | Last 10 before this game (10 available){
"model_context": {
"embedded_season": {
"ERA": 4.531034482758621,
"WHIP": 1.3655172413793104,
"IP": 145.0,
"games_started": null,
"games_pitched": 30,
"role_avg_IP": 4.929,
"recent_avg_IP": 4.733,
"last_start_IP": 4.0,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": -0.345,
"sample_weight": 1.0,
"run_prevention_factor": 1.0293,
"strikeout_factor": 0.9651,
"walk_factor": 0.972,
"homer_factor": 1.0494,
"regression_flag": "neutral",
"k_percent": 18.1,
"bb_percent": 7.8,
"woba": 0.341,
"xwoba": 0.341,
"barrel_percent": 8.1,
"hard_hit_percent": 39.4,
"whiff_percent": 22.8
},
"espn_rank": {
"rank": 131,
"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": 30.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8571,
"prior_weight": 0.1429
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "641743",
"report_date": "20260916",
"season_year": 2026,
"rows_used": 30,
"reference_playing_time": 4.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 23.2,
"ER": 19.0,
"R": 20.0,
"H": 28.0,
"BB": 7.0,
"SO": 20.0,
"HR": 4.0,
"BF": 111.0,
"Pitches": 431.0
},
"per_game": {
"IP": 4.2,
"ER": 3.8,
"R": 4.0,
"H": 5.6,
"BB": 1.4,
"SO": 4.0,
"HR": 0.8,
"BF": 22.2,
"Pitches": 86.2
},
"rates": {
"ERA": 7.2254,
"WHIP": 1.4789,
"ER_per_IP": 0.80282,
"H_per_IP": 1.1831,
"BB_per_IP": 0.29577,
"SO_per_IP": 0.84507,
"HR_per_IP": 0.16901
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 51.2,
"ER": 29.0,
"R": 30.0,
"H": 57.0,
"BB": 13.0,
"SO": 42.0,
"HR": 7.0,
"BF": 230.0,
"Pitches": 865.0
},
"per_game": {
"IP": 5.1,
"ER": 2.9,
"R": 3.0,
"H": 5.7,
"BB": 1.3,
"SO": 4.2,
"HR": 0.7,
"BF": 23.0,
"Pitches": 86.5
},
"rates": {
"ERA": 5.0516,
"WHIP": 1.3548,
"ER_per_IP": 0.56129,
"H_per_IP": 1.10323,
"BB_per_IP": 0.25161,
"SO_per_IP": 0.8129,
"HR_per_IP": 0.13548
}
},
"season": {
"games": 30,
"totals": {
"IP": 145.0,
"ER": 73.0,
"R": 78.0,
"H": 147.0,
"BB": 51.0,
"SO": 118.0,
"HR": 20.0,
"BF": 652.0,
"Pitches": 2583.0
},
"per_game": {
"IP": 4.2,
"ER": 2.4333,
"R": 2.6,
"H": 4.9,
"BB": 1.7,
"SO": 3.9333,
"HR": 0.6667,
"BF": 21.7333,
"Pitches": 86.1
},
"rates": {
"ERA": 4.531,
"WHIP": 1.3655,
"ER_per_IP": 0.50345,
"H_per_IP": 1.01379,
"BB_per_IP": 0.35172,
"SO_per_IP": 0.81379,
"HR_per_IP": 0.13793
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.0,
"predicted_ER": 3.097,
"predicted_H": 5.355,
"predicted_BB": 1.475,
"predicted_SO": 4.104,
"predicted_HR": 0.732,
"predicted_ERA": 5.7272,
"predicted_WHIP": 1.4033
}
},
"model_form_blend_trace": {
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4104,
"form_weight": 0.5896,
"form_reliability": 0.8571,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 30.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8571,
"prior_weight": 0.1429
},
"applied_metrics": {
"predicted_IP": {
"model": 4.2,
"form": 5.0,
"final": 5.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 5.0,
"form": 3.097,
"final": 3.8779,
"source": "model_form_blend"
},
"predicted_H": {
"model": 7.0,
"form": 5.355,
"final": 6.0301,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.475,
"final": 1.6904,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 4.104,
"final": 4.0613,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.732,
"final": 0.4316,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.7272,
"final": 5.7272,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4033,
"final": 1.4033,
"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": 51.2,
"ER": 29,
"H": 57,
"BB": 13,
"SO": 42,
"HR": 7,
"ERA": 5.051612903225807,
"WHIP": 1.3548387096774195,
"K9": 7.316129032258065,
"HR9": 1.2193548387096775,
"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-11T00:00:00"
},
"recent_form_boost": 1.071166126886396,
"stat_evolution": [
{
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_IP": 4.666666666666667,
"predicted_ER": 5.0,
"predicted_H": 7.0,
"predicted_BB": 2.0,
"predicted_SO": 4.0,
"predicted_HR": 0.0
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 30.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8571,
"prior_weight": 0.1429
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "641743",
"player_name": "Anthony Kay",
"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": 2.0,
"predicted_ER": 5.0,
"predicted_H": 7.0,
"predicted_HR": 0.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": 5.0,
"predicted_H": 7.0,
"predicted_HR": 0.0,
"predicted_IP": 4.2,
"predicted_R": 5.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": 5.0,
"after": 5.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 5.0,
"after": 5.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": "CHW",
"games": 151,
"wins": 77,
"losses": 74,
"win_pct": 0.5099,
"runs_scored": 708.0,
"runs_allowed": 671.0,
"run_differential": 37.0,
"run_differential_per_game": 0.245,
"avg_runs_scored": 4.6887,
"avg_runs_allowed": 4.4437,
"offense_index": 1.0411,
"defense_index": 1.0135,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 4.7,
"run_differential": -5.0
},
"available": true,
"quality_score": -0.0317
},
"opponent": {
"team": "CLE",
"games": 152,
"wins": 77,
"losses": 75,
"win_pct": 0.5066,
"runs_scored": 625.0,
"runs_allowed": 635.0,
"run_differential": -10.0,
"run_differential_per_game": -0.0658,
"avg_runs_scored": 4.1118,
"avg_runs_allowed": 4.1776,
"offense_index": 0.913,
"defense_index": 1.0781,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 4.9,
"run_differential": -1.0
},
"available": true,
"quality_score": -0.0024
},
"edges": {
"quality_edge": -0.0293,
"offense_edge": 0.0411,
"opponent_offense_edge": -0.087,
"defense_strength": 0.0135,
"opponent_defense_weakness": -0.0781,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 1.0027,
"run_prevention": 0.9862,
"strikeout": 1.0061
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "641743",
"profile": {
"available": true,
"pitcher_id": "641743",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 623.0,
"k_percent": 18.1,
"bb_percent": 7.8,
"woba": 0.341,
"xwoba": 0.341,
"sweet_spot_percent": 34.0,
"barrel_batted_rate": 8.1,
"hard_hit_percent": 39.4,
"avg_best_speed": 76.8325,
"avg_hyper_speed": 94.2901,
"whiff_percent": 22.8,
"swing_percent": 46.9
},
"league_medians": {
"pa": 132.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6025,
"avg_hyper_speed": 93.9171,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.4833,
"command_and_miss": -0.2907,
"regression_edge": 0.0,
"xwoba_edge": -0.8286,
"barrel_edge": -0.2,
"hard_hit_edge": -0.2143,
"whiff_edge": -0.3143,
"bb_edge": 0.35,
"pitch_design_score": 0.0149
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "641743",
"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": 90.11527035155325,
"release_spin_rate": 2287.987759702254,
"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": 90.11527035155325,
"release_spin_rate": 2287.987759702254,
"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.1153,
"release_spin_rate": 2287.9878,
"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.0149,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1066,
"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.345,
"sample_weight": 1.0,
"run_prevention_factor": 1.0293,
"strikeout_factor": 0.9651,
"walk_factor": 0.972,
"homer_factor": 1.0494,
"woba_minus_xwoba": 0.0,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "641743",
"espn_id": 40947,
"player_name": "Anthony Kay",
"team": "CHW",
"role": "pitcher",
"espn_rank": 131,
"espn_total_ranked": 862,
"metrics": {
"espn_rank": 131,
"gp_value": 30.0,
"gp_rank": 235,
"gs_value": 28.0,
"gs_rank": 36,
"qs_value": 6.0,
"qs_rank": 93,
"era_value": 4.531,
"era_rank": null,
"w_value": 9.0,
"w_rank": 45,
"l_value": 9.0,
"l_rank": 36,
"sv_value": 0.0,
"sv_rank": 253,
"hld_value": 0.0,
"hld_rank": 357,
"ip_value": 145.0,
"ip_rank": 59,
"h_value": 147.0,
"h_rank": 29,
"er_value": 73.0,
"er_rank": 25,
"hr_value": 20.0,
"hr_rank": 41,
"bb_value": 51.0,
"bb_rank": 44,
"k_value": 118.0,
"k_rank": 79,
"k_per_9_value": 7.324138,
"k_per_9_rank": 36,
"whip_value": 1.3655,
"whip_rank": null,
"war_value": 1.41,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0293,
"adjusted": 3
},
"predicted_H": {
"original": 5.0,
"factor": 1.0293,
"adjusted": 5
},
"predicted_BB": {
"original": 1.0,
"factor": 0.972,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0494,
"adjusted": 1
},
"predicted_SO": {
"original": 4.0,
"factor": 0.9651,
"adjusted": 4
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 4.2,
"predicted_H": 7,
"predicted_R": 5,
"predicted_ER": 5,
"predicted_BB": 2,
"predicted_SO": 4,
"predicted_HR": 0,
"box_score_synced": true,
"BF": 23,
"Pitches": 88,
"published_line_source": "scoring_simulation.box_score"
}
},
"findings": [
{
"code": "DIRECT_ER_MISS",
"severity": "critical",
"title": "Earned-run miss of 5",
"detail": "Actual minus predicted earned runs was -5; this is the primary run-prevention error."
},
{
"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 5 ER."
}
],
"provenance": {
"prediction": "output/games/20260916_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"
}
} |
| 20260916 | 20260916_CHW@CLE | home | Parker Messick | Parker Messick | True | 6.0 | 6.0 | 0 | 2 | 3 | 1 | 6/7 | 2/0 | 7/8 | Last 10 before this game (10 available){
"model_context": {
"embedded_season": {
"ERA": 2.506769825918762,
"WHIP": 1.0328820116054158,
"IP": 172.1,
"games_started": null,
"games_pitched": 29,
"role_avg_IP": 5.943,
"recent_avg_IP": 6.0,
"last_start_IP": 5.1,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": 0.5886,
"sample_weight": 1.0,
"run_prevention_factor": 0.95,
"strikeout_factor": 1.0274,
"walk_factor": 0.954,
"homer_factor": 0.8928,
"regression_flag": "neutral",
"k_percent": 26.0,
"bb_percent": 6.9,
"woba": 0.268,
"xwoba": 0.272,
"barrel_percent": 4.8,
"hard_hit_percent": 32.6,
"whiff_percent": 25.8
},
"espn_rank": {
"rank": 7,
"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": "800048",
"report_date": "20260916",
"season_year": 2026,
"rows_used": 29,
"reference_playing_time": 6.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 30.0,
"ER": 7.0,
"R": 7.0,
"H": 24.0,
"BB": 7.0,
"SO": 36.0,
"HR": 2.0,
"BF": 120.0,
"Pitches": 495.0
},
"per_game": {
"IP": 6.0,
"ER": 1.4,
"R": 1.4,
"H": 4.8,
"BB": 1.4,
"SO": 7.2,
"HR": 0.4,
"BF": 24.0,
"Pitches": 99.0
},
"rates": {
"ERA": 2.1,
"WHIP": 1.0333,
"ER_per_IP": 0.23333,
"H_per_IP": 0.8,
"BB_per_IP": 0.23333,
"SO_per_IP": 1.2,
"HR_per_IP": 0.06667
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 60.1,
"ER": 14.0,
"R": 16.0,
"H": 47.0,
"BB": 11.0,
"SO": 68.0,
"HR": 6.0,
"BF": 240.0,
"Pitches": 967.0
},
"per_game": {
"IP": 6.0,
"ER": 1.4,
"R": 1.6,
"H": 4.7,
"BB": 1.1,
"SO": 6.8,
"HR": 0.6,
"BF": 24.0,
"Pitches": 96.7
},
"rates": {
"ERA": 2.0884,
"WHIP": 0.9613,
"ER_per_IP": 0.23204,
"H_per_IP": 0.77901,
"BB_per_IP": 0.18232,
"SO_per_IP": 1.12707,
"HR_per_IP": 0.09945
}
},
"season": {
"games": 29,
"totals": {
"IP": 172.1,
"ER": 48.0,
"R": 52.0,
"H": 131.0,
"BB": 47.0,
"SO": 178.0,
"HR": 16.0,
"BF": 685.0,
"Pitches": 2702.0
},
"per_game": {
"IP": 6.0,
"ER": 1.6552,
"R": 1.7931,
"H": 4.5172,
"BB": 1.6207,
"SO": 6.1379,
"HR": 0.5517,
"BF": 23.6207,
"Pitches": 93.1724
},
"rates": {
"ERA": 2.5068,
"WHIP": 1.0329,
"ER_per_IP": 0.27853,
"H_per_IP": 0.76015,
"BB_per_IP": 0.27273,
"SO_per_IP": 1.03288,
"HR_per_IP": 0.09284
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 6.0,
"predicted_ER": 1.683,
"predicted_H": 4.875,
"predicted_BB": 1.472,
"predicted_SO": 6.667,
"predicted_HR": 0.556,
"predicted_ERA": 2.5244,
"predicted_WHIP": 1.0578
}
},
"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.0,
"form": 6.0,
"final": 6.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 1.683,
"final": 1.8137,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 4.875,
"final": 5.3387,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.472,
"final": 1.6896,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 6.667,
"final": 5.5678,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.556,
"final": 0.3268,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.5244,
"final": 2.5244,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0578,
"final": 1.0578,
"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": 60.1,
"ER": 14,
"H": 47,
"BB": 11,
"SO": 68,
"HR": 6,
"ERA": 2.088397790055249,
"WHIP": 0.9613259668508288,
"K9": 10.14364640883978,
"HR9": 0.8950276243093923,
"games_pitched": 10,
"quality_starts": 6,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 2,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-09-11T00:00:00"
},
"recent_form_boost": 0.7279666080840435,
"stat_evolution": [
{
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_IP": 6.0,
"predicted_ER": 2.0,
"predicted_H": 6.0,
"predicted_BB": 2.0,
"predicted_SO": 4.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.0,
"predicted_ER": 2,
"predicted_H": 6,
"predicted_BB": 2,
"predicted_SO": 7,
"predicted_HR": 0
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "800048",
"player_name": "Parker Messick",
"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": 2.0,
"predicted_ER": 2.0,
"predicted_H": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 6.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": "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": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 6.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": 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": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"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": null
},
"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": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 6.0,
"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": 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": 6.0,
"after": 6.0,
"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": 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": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"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": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
},
"team_form_snapshot": {
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CLE",
"games": 152,
"wins": 77,
"losses": 75,
"win_pct": 0.5066,
"runs_scored": 625.0,
"runs_allowed": 635.0,
"run_differential": -10.0,
"run_differential_per_game": -0.0658,
"avg_runs_scored": 4.1118,
"avg_runs_allowed": 4.1776,
"offense_index": 0.913,
"defense_index": 1.0781,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 4.9,
"run_differential": -1.0
},
"available": true,
"quality_score": -0.0024
},
"opponent": {
"team": "CHW",
"games": 151,
"wins": 77,
"losses": 74,
"win_pct": 0.5099,
"runs_scored": 708.0,
"runs_allowed": 671.0,
"run_differential": 37.0,
"run_differential_per_game": 0.245,
"avg_runs_scored": 4.6887,
"avg_runs_allowed": 4.4437,
"offense_index": 1.0411,
"defense_index": 1.0135,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 4.7,
"run_differential": -5.0
},
"available": true,
"quality_score": -0.0317
},
"edges": {
"quality_edge": 0.0293,
"offense_edge": -0.087,
"opponent_offense_edge": 0.0411,
"defense_strength": 0.0781,
"opponent_defense_weakness": -0.0135,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0019,
"run_prevention": 0.9973,
"strikeout": 0.9976
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "800048",
"profile": {
"available": true,
"pitcher_id": "800048",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 657.0,
"k_percent": 26.0,
"bb_percent": 6.9,
"woba": 0.268,
"xwoba": 0.272,
"sweet_spot_percent": 31.7,
"barrel_batted_rate": 4.8,
"hard_hit_percent": 32.6,
"avg_best_speed": 75.8976,
"avg_hyper_speed": 93.2942,
"whiff_percent": 25.8,
"swing_percent": 48.1
},
"league_medians": {
"pa": 132.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6025,
"avg_hyper_speed": 93.9171,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.8785,
"command_and_miss": 0.4121,
"regression_edge": -0.1143,
"xwoba_edge": 1.1429,
"barrel_edge": 0.5333,
"hard_hit_edge": 0.7571,
"whiff_edge": 0.1143,
"bb_edge": 0.575,
"pitch_design_score": 0.0117
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "800048",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 100,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 100,
"pitch_usage": 0.0,
"release_speed": 90.0585793270255,
"release_spin_rate": 2102.105433699751,
"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": 100,
"pitch_usage": 0.0,
"release_speed": 90.0585793270255,
"release_spin_rate": 2102.105433699751,
"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.0586,
"release_spin_rate": 2102.1054,
"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.0117,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.0839,
"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.5886,
"sample_weight": 1.0,
"run_prevention_factor": 0.95,
"strikeout_factor": 1.0274,
"walk_factor": 0.954,
"homer_factor": 0.8928,
"woba_minus_xwoba": -0.004,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "800048",
"espn_id": 4619898,
"player_name": "Parker Messick",
"team": "CLE",
"role": "pitcher",
"espn_rank": 7,
"espn_total_ranked": 862,
"metrics": {
"espn_rank": 7,
"gp_value": 29.0,
"gp_rank": 261,
"gs_value": 29.0,
"gs_rank": 24,
"qs_value": 13.0,
"qs_rank": 32,
"era_value": 2.5067,
"era_rank": 5.0,
"w_value": 11.0,
"w_rank": 25,
"l_value": 9.0,
"l_rank": 36,
"sv_value": 0.0,
"sv_rank": 253,
"hld_value": 0.0,
"hld_rank": 357,
"ip_value": 172.1,
"ip_rank": 14,
"h_value": 131.0,
"h_rank": 64,
"er_value": 48.0,
"er_rank": 123,
"hr_value": 16.0,
"hr_rank": 92,
"bb_value": 47.0,
"bb_rank": 57,
"k_value": 178.0,
"k_rank": 16,
"k_per_9_value": 9.2959385,
"k_per_9_rank": 30,
"whip_value": 1.0328,
"whip_rank": 6.0,
"war_value": 5.71,
"war_rank": 7.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.95,
"adjusted": 2
},
"predicted_H": {
"original": 5.0,
"factor": 0.95,
"adjusted": 5
},
"predicted_BB": {
"original": 1.0,
"factor": 0.954,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 0.8928,
"adjusted": 0
},
"predicted_SO": {
"original": 7.0,
"factor": 1.0274,
"adjusted": 7
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 6.0,
"predicted_H": 6,
"predicted_R": 2,
"predicted_ER": 2,
"predicted_BB": 2,
"predicted_SO": 7,
"predicted_HR": 0,
"box_score_synced": true,
"BF": 27,
"Pitches": 114,
"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/20260916_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"
}
} |
| 20260916 | 20260916_DET@TOR | away | Keider Montero | Keider Montero | True | 5.2 | 4.0 | -5 | 3 | 2 | -1 | 6/6 | 1/2 | 4/4 | Last 10 before this game (10 available){
"model_context": {
"embedded_season": {
"ERA": 3.5510204081632653,
"WHIP": 1.0272108843537415,
"IP": 147.0,
"games_started": null,
"games_pitched": 30,
"role_avg_IP": 5.528,
"recent_avg_IP": 4.933,
"last_start_IP": 4.0,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": 0.0563,
"sample_weight": 1.0,
"run_prevention_factor": 0.9952,
"strikeout_factor": 0.9303,
"walk_factor": 0.93,
"homer_factor": 0.9836,
"regression_flag": "neutral",
"k_percent": 16.5,
"bb_percent": 5.7,
"woba": 0.275,
"xwoba": 0.292,
"barrel_percent": 7.5,
"hard_hit_percent": 37.1,
"whiff_percent": 18.3
},
"espn_rank": {
"rank": 43,
"total_ranked": null,
"metrics": null
},
"starter_workload_floor": {
"applied": true,
"floor_IP": 5.2,
"season_IP": 147.0,
"season_ERA": 3.551,
"season_WHIP": 1.027,
"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": 30.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8571,
"prior_weight": 0.1429
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "672456",
"report_date": "20260916",
"season_year": 2026,
"rows_used": 30,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 24.2,
"ER": 12.0,
"R": 12.0,
"H": 21.0,
"BB": 6.0,
"SO": 12.0,
"HR": 4.0,
"BF": 101.0,
"Pitches": 395.0
},
"per_game": {
"IP": 5.0,
"ER": 2.4,
"R": 2.4,
"H": 4.2,
"BB": 1.2,
"SO": 2.4,
"HR": 0.8,
"BF": 20.2,
"Pitches": 79.0
},
"rates": {
"ERA": 4.3784,
"WHIP": 1.0946,
"ER_per_IP": 0.48649,
"H_per_IP": 0.85135,
"BB_per_IP": 0.24324,
"SO_per_IP": 0.48649,
"HR_per_IP": 0.16216
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 49.2,
"ER": 22.0,
"R": 24.0,
"H": 41.0,
"BB": 12.0,
"SO": 33.0,
"HR": 8.0,
"BF": 206.0,
"Pitches": 767.0
},
"per_game": {
"IP": 5.0,
"ER": 2.2,
"R": 2.4,
"H": 4.1,
"BB": 1.2,
"SO": 3.3,
"HR": 0.8,
"BF": 20.6,
"Pitches": 76.7
},
"rates": {
"ERA": 3.9866,
"WHIP": 1.0671,
"ER_per_IP": 0.44295,
"H_per_IP": 0.8255,
"BB_per_IP": 0.24161,
"SO_per_IP": 0.66443,
"HR_per_IP": 0.16107
}
},
"season": {
"games": 30,
"totals": {
"IP": 147.0,
"ER": 58.0,
"R": 62.0,
"H": 117.0,
"BB": 34.0,
"SO": 98.0,
"HR": 17.0,
"BF": 593.0,
"Pitches": 2158.0
},
"per_game": {
"IP": 5.0,
"ER": 1.9333,
"R": 2.0667,
"H": 3.9,
"BB": 1.1333,
"SO": 3.2667,
"HR": 0.5667,
"BF": 19.7667,
"Pitches": 71.9333
},
"rates": {
"ERA": 3.551,
"WHIP": 1.0272,
"ER_per_IP": 0.39456,
"H_per_IP": 0.79592,
"BB_per_IP": 0.23129,
"SO_per_IP": 0.66667,
"HR_per_IP": 0.11565
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.0,
"predicted_ER": 2.345,
"predicted_H": 4.339,
"predicted_BB": 1.321,
"predicted_SO": 3.237,
"predicted_HR": 0.773,
"predicted_ERA": 4.1416,
"predicted_WHIP": 1.1108
}
},
"model_form_blend_trace": {
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4104,
"form_weight": 0.5896,
"form_reliability": 0.8571,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 30.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8571,
"prior_weight": 0.1429
},
"applied_metrics": {
"predicted_IP": {
"model": 5.2,
"form": 5.0,
"final": 5.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 2.345,
"final": 3.0242,
"source": "model_form_blend"
},
"predicted_H": {
"model": 7.0,
"form": 4.339,
"final": 5.431,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.321,
"final": 1.1893,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 3.237,
"final": 3.5501,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.773,
"final": 0.8662,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.1416,
"final": 4.1416,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1108,
"final": 1.1108,
"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": 22,
"H": 41,
"BB": 12,
"SO": 33,
"HR": 8,
"ERA": 3.9865771812080535,
"WHIP": 1.0671140939597314,
"K9": 5.97986577181208,
"HR9": 1.4496644295302012,
"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-09T00:00:00"
},
"recent_form_boost": 0.9441564927664565,
"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": 7.0,
"predicted_BB": 1.0,
"predicted_SO": 4.0,
"predicted_HR": 1.0
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 30.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8571,
"prior_weight": 0.1429
}
},
{
"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.2,
"predicted_ER": 3,
"predicted_H": 7,
"predicted_BB": 1,
"predicted_SO": 4,
"predicted_HR": 1
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "672456",
"player_name": "Keider Montero",
"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": 1.0,
"predicted_ER": 4.0,
"predicted_H": 7.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": "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": 7.0,
"predicted_HR": 1.0,
"predicted_IP": 5.2,
"predicted_SO": 4.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": 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": 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": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 1,
"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": 1.0,
"predicted_ER": 3.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 5.2,
"predicted_R": 3.0,
"predicted_SO": 4.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": 7.0,
"after": 6.0,
"delta": -1.0,
"percent_delta": -0.1429,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"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.2,
"after": 5.2,
"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": 0,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 7.0,
"after": 6.0,
"delta": -1.0,
"percent_delta": -0.1429,
"direction": "deboost",
"projection_effect": "better",
"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": 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": 6.0,
"delta": -1.0,
"percent_delta": -0.1429,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"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": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 1,
"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": 151,
"wins": 72,
"losses": 79,
"win_pct": 0.4768,
"runs_scored": 682.0,
"runs_allowed": 602.0,
"run_differential": 80.0,
"run_differential_per_game": 0.5298,
"avg_runs_scored": 4.5166,
"avg_runs_allowed": 3.9868,
"offense_index": 1.0026,
"defense_index": 1.1299,
"current_streak": "W6",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 6.3,
"avg_runs_allowed": 2.8,
"run_differential": 35.0
},
"available": true,
"quality_score": 0.15
},
"opponent": {
"team": "TOR",
"games": 152,
"wins": 75,
"losses": 77,
"win_pct": 0.4934,
"runs_scored": 614.0,
"runs_allowed": 655.0,
"run_differential": -41.0,
"run_differential_per_game": -0.2697,
"avg_runs_scored": 4.0395,
"avg_runs_allowed": 4.3092,
"offense_index": 0.8967,
"defense_index": 1.0454,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 4.6,
"run_differential": -7.0
},
"available": true,
"quality_score": -0.0735
},
"edges": {
"quality_edge": 0.2235,
"offense_edge": 0.0026,
"opponent_offense_edge": -0.1033,
"defense_strength": 0.1299,
"opponent_defense_weakness": -0.0454,
"recent_win_pct_edge": 0.4
},
"player_factors": {
"ip": 1.017,
"run_prevention": 0.9593,
"strikeout": 1.015
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "672456",
"profile": {
"available": true,
"pitcher_id": "672456",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 570.0,
"k_percent": 16.5,
"bb_percent": 5.7,
"woba": 0.275,
"xwoba": 0.292,
"sweet_spot_percent": 29.9,
"barrel_batted_rate": 7.5,
"hard_hit_percent": 37.1,
"avg_best_speed": 78.3577,
"avg_hyper_speed": 93.6182,
"whiff_percent": 18.3,
"swing_percent": 48.1
},
"league_medians": {
"pa": 132.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6025,
"avg_hyper_speed": 93.9171,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.4241,
"command_and_miss": -0.5136,
"regression_edge": -0.4857,
"xwoba_edge": 0.5714,
"barrel_edge": -0.0667,
"hard_hit_edge": 0.1143,
"whiff_edge": -0.9571,
"bb_edge": 0.875,
"pitch_design_score": 0.011
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "672456",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 80,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 80,
"pitch_usage": 0.0,
"release_speed": 90.04450909891175,
"release_spin_rate": 2356.4790670153343,
"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": 80,
"pitch_usage": 0.0,
"release_speed": 90.04450909891175,
"release_spin_rate": 2356.4790670153343,
"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.0445,
"release_spin_rate": 2356.4791,
"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.011,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.0783,
"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.0563,
"sample_weight": 1.0,
"run_prevention_factor": 0.9952,
"strikeout_factor": 0.9303,
"walk_factor": 0.93,
"homer_factor": 0.9836,
"woba_minus_xwoba": -0.017,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "672456",
"espn_id": 5182933,
"player_name": "Keider Montero",
"team": "DET",
"role": "pitcher",
"espn_rank": 43,
"espn_total_ranked": 862,
"metrics": {
"espn_rank": 43,
"gp_value": 30.0,
"gp_rank": 235,
"gs_value": 24.0,
"gs_rank": 78,
"qs_value": 9.0,
"qs_rank": 66,
"era_value": 3.551,
"era_rank": null,
"w_value": 9.0,
"w_rank": 45,
"l_value": 8.0,
"l_rank": 66,
"sv_value": 1.0,
"sv_rank": 141,
"hld_value": 0.0,
"hld_rank": 357,
"ip_value": 147.0,
"ip_rank": 55,
"h_value": 117.0,
"h_rank": 91,
"er_value": 58.0,
"er_rank": 85,
"hr_value": 17.0,
"hr_rank": 79,
"bb_value": 34.0,
"bb_rank": 138,
"k_value": 98.0,
"k_rank": 117,
"k_per_9_value": 6.0,
"k_per_9_rank": 57,
"whip_value": 1.0272,
"whip_rank": null,
"war_value": 2.75,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.9952,
"adjusted": 2
},
"predicted_H": {
"original": 4.0,
"factor": 0.9952,
"adjusted": 4
},
"predicted_BB": {
"original": 1.0,
"factor": 0.93,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 0.9836,
"adjusted": 1
},
"predicted_SO": {
"original": 3.0,
"factor": 0.9303,
"adjusted": 3
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 5.2,
"predicted_H": 6,
"predicted_R": 3,
"predicted_ER": 3,
"predicted_BB": 1,
"predicted_SO": 4,
"predicted_HR": 1,
"box_score_synced": true,
"BF": 24,
"Pitches": 102,
"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/20260916_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"
}
} |
| 20260916 | 20260916_DET@TOR | home | Max Scherzer | Max Scherzer | True | 5.0 | 5.0 | 0 | 3 | 1 | -2 | 5/3 | 1/3 | 6/3 | Last 10 before this game (10 available){
"model_context": {
"embedded_season": {
"ERA": 6.38423645320197,
"WHIP": 1.374384236453202,
"IP": 67.2,
"games_started": null,
"games_pitched": 15,
"role_avg_IP": 4.511,
"recent_avg_IP": 5.333,
"last_start_IP": 5.0,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": -0.2751,
"sample_weight": 1.0,
"run_prevention_factor": 1.0234,
"strikeout_factor": 0.9451,
"walk_factor": 1.006,
"homer_factor": 1.033,
"regression_flag": "neutral",
"k_percent": 17.3,
"bb_percent": 9.5,
"woba": 0.336,
"xwoba": 0.323,
"barrel_percent": 9.3,
"hard_hit_percent": 35.5,
"whiff_percent": 20.1
},
"espn_rank": {
"rank": 806,
"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": 15.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.75,
"prior_weight": 0.25
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "453286",
"report_date": "20260916",
"season_year": 2026,
"rows_used": 15,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 26.2,
"ER": 18.0,
"R": 18.0,
"H": 22.0,
"BB": 11.0,
"SO": 20.0,
"HR": 3.0,
"BF": 114.0,
"Pitches": 421.0
},
"per_game": {
"IP": 5.1,
"ER": 3.6,
"R": 3.6,
"H": 4.4,
"BB": 2.2,
"SO": 4.0,
"HR": 0.6,
"BF": 22.8,
"Pitches": 84.2
},
"rates": {
"ERA": 6.075,
"WHIP": 1.2375,
"ER_per_IP": 0.675,
"H_per_IP": 0.825,
"BB_per_IP": 0.4125,
"SO_per_IP": 0.75,
"HR_per_IP": 0.1125
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 49.0,
"ER": 28.0,
"R": 28.0,
"H": 43.0,
"BB": 20.0,
"SO": 41.0,
"HR": 7.0,
"BF": 211.0,
"Pitches": 838.0
},
"per_game": {
"IP": 5.0,
"ER": 2.8,
"R": 2.8,
"H": 4.3,
"BB": 2.0,
"SO": 4.1,
"HR": 0.7,
"BF": 21.1,
"Pitches": 83.8
},
"rates": {
"ERA": 5.1429,
"WHIP": 1.2857,
"ER_per_IP": 0.57143,
"H_per_IP": 0.87755,
"BB_per_IP": 0.40816,
"SO_per_IP": 0.83673,
"HR_per_IP": 0.14286
}
},
"season": {
"games": 15,
"totals": {
"IP": 67.2,
"ER": 48.0,
"R": 48.0,
"H": 65.0,
"BB": 28.0,
"SO": 51.0,
"HR": 14.0,
"BF": 295.0,
"Pitches": 1181.0
},
"per_game": {
"IP": 4.2,
"ER": 3.2,
"R": 3.2,
"H": 4.3333,
"BB": 1.8667,
"SO": 3.4,
"HR": 0.9333,
"BF": 19.6667,
"Pitches": 78.7333
},
"rates": {
"ERA": 6.3842,
"WHIP": 1.3744,
"ER_per_IP": 0.70936,
"H_per_IP": 0.96059,
"BB_per_IP": 0.41379,
"SO_per_IP": 0.75369,
"HR_per_IP": 0.2069
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.0,
"predicted_ER": 3.089,
"predicted_H": 4.538,
"predicted_BB": 2.033,
"predicted_SO": 4.153,
"predicted_HR": 0.725,
"predicted_ERA": 5.4921,
"predicted_WHIP": 1.298
}
},
"model_form_blend_trace": {
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4556,
"form_weight": 0.5444,
"form_reliability": 0.75,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 15.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.75,
"prior_weight": 0.25
},
"applied_metrics": {
"predicted_IP": {
"model": 5.0,
"form": 5.0,
"final": 5.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 3.089,
"final": 2.5928,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 4.538,
"final": 4.2929,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 2.033,
"final": 1.5623,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 6.0,
"form": 4.153,
"final": 4.9945,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.725,
"final": 0.3947,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.4921,
"final": 5.4921,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.298,
"final": 1.298,
"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": 28,
"H": 43,
"BB": 20,
"SO": 41,
"HR": 7,
"ERA": 5.142857142857143,
"WHIP": 1.2857142857142858,
"K9": 7.530612244897959,
"HR9": 1.2857142857142858,
"games_pitched": 10,
"quality_starts": 2,
"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-11T00:00:00"
},
"recent_form_boost": 1.079702993245843,
"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": 4.0,
"predicted_BB": 1.0,
"predicted_SO": 6.0,
"predicted_HR": 0.0
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 15.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.75,
"prior_weight": 0.25
}
},
{
"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": 4,
"predicted_H": 5,
"predicted_BB": 1,
"predicted_SO": 6,
"predicted_HR": 0
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "453286",
"player_name": "Max Scherzer",
"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": 1.0,
"predicted_ER": 2.0,
"predicted_H": 4.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_quality_floor",
"description": "Weak starter floor restored expected damage from recent form instead of assigning it to zero-inning bullpen rows.",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 4.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_SO": 6.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": 2.0,
"after": 4.0,
"delta": 2.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"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": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_ER",
"before": 2.0,
"after": 4.0,
"delta": 2.0,
"percent_delta": 1.0,
"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": 1.0,
"predicted_ER": 4.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_R": 4.0,
"predicted_SO": 6.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": 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": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 4.0,
"delta": 2.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"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": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_ER",
"before": 2.0,
"after": 4.0,
"delta": 2.0,
"percent_delta": 1.0,
"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": "TOR",
"games": 152,
"wins": 75,
"losses": 77,
"win_pct": 0.4934,
"runs_scored": 614.0,
"runs_allowed": 655.0,
"run_differential": -41.0,
"run_differential_per_game": -0.2697,
"avg_runs_scored": 4.0395,
"avg_runs_allowed": 4.3092,
"offense_index": 0.8967,
"defense_index": 1.0454,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 4.6,
"run_differential": -7.0
},
"available": true,
"quality_score": -0.0735
},
"opponent": {
"team": "DET",
"games": 151,
"wins": 72,
"losses": 79,
"win_pct": 0.4768,
"runs_scored": 682.0,
"runs_allowed": 602.0,
"run_differential": 80.0,
"run_differential_per_game": 0.5298,
"avg_runs_scored": 4.5166,
"avg_runs_allowed": 3.9868,
"offense_index": 1.0026,
"defense_index": 1.1299,
"current_streak": "W6",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 6.3,
"avg_runs_allowed": 2.8,
"run_differential": 35.0
},
"available": true,
"quality_score": 0.15
},
"edges": {
"quality_edge": -0.2235,
"offense_edge": -0.1033,
"opponent_offense_edge": 0.0026,
"defense_strength": 0.0454,
"opponent_defense_weakness": -0.1299,
"recent_win_pct_edge": -0.4
},
"player_factors": {
"ip": 0.9923,
"run_prevention": 1.0071,
"strikeout": 0.9931
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "453286",
"profile": {
"available": true,
"pitcher_id": "453286",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 271.0,
"k_percent": 17.3,
"bb_percent": 9.5,
"woba": 0.336,
"xwoba": 0.323,
"sweet_spot_percent": 35.5,
"barrel_batted_rate": 9.3,
"hard_hit_percent": 35.5,
"avg_best_speed": 76.9896,
"avg_hyper_speed": 93.5476,
"whiff_percent": 20.1,
"swing_percent": 49.7
},
"league_medians": {
"pa": 132.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6025,
"avg_hyper_speed": 93.9171,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.2783,
"command_and_miss": -0.5621,
"regression_edge": 0.3714,
"xwoba_edge": -0.3143,
"barrel_edge": -0.4667,
"hard_hit_edge": 0.3429,
"whiff_edge": -0.7,
"bb_edge": -0.075,
"pitch_design_score": -0.128
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "453286",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 86,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 86,
"pitch_usage": 0.0,
"release_speed": 87.56237904532217,
"release_spin_rate": 2269.379041029472,
"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": 86,
"pitch_usage": 0.0,
"release_speed": 87.56237904532217,
"release_spin_rate": 2269.379041029472,
"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.5624,
"release_spin_rate": 2269.379,
"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.128,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.9146,
"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.2751,
"sample_weight": 1.0,
"run_prevention_factor": 1.0234,
"strikeout_factor": 0.9451,
"walk_factor": 1.006,
"homer_factor": 1.033,
"woba_minus_xwoba": 0.013,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "453286",
"espn_id": 28976,
"player_name": "Max Scherzer",
"team": "TOR",
"role": "pitcher",
"espn_rank": 806,
"espn_total_ranked": 862,
"metrics": {
"espn_rank": 806,
"gp_value": 15.0,
"gp_rank": 465,
"gs_value": 15.0,
"gs_rank": 139,
"qs_value": 4.0,
"qs_rank": 126,
"era_value": 6.3842,
"era_rank": null,
"w_value": 2.0,
"w_rank": 321,
"l_value": 8.0,
"l_rank": 66,
"sv_value": 0.0,
"sv_rank": 253,
"hld_value": 0.0,
"hld_rank": 357,
"ip_value": 67.2,
"ip_rank": 203,
"h_value": 65.0,
"h_rank": 186,
"er_value": 48.0,
"er_rank": 123,
"hr_value": 14.0,
"hr_rank": 110,
"bb_value": 28.0,
"bb_rank": 195,
"k_value": 51.0,
"k_rank": 293,
"k_per_9_value": 6.7832513,
"k_per_9_rank": 38,
"whip_value": 1.3743,
"whip_rank": null,
"war_value": -0.61,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0234,
"adjusted": 3
},
"predicted_H": {
"original": 4.0,
"factor": 1.0234,
"adjusted": 4
},
"predicted_BB": {
"original": 2.0,
"factor": 1.006,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.033,
"adjusted": 1
},
"predicted_SO": {
"original": 4.0,
"factor": 0.9451,
"adjusted": 4
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 5.0,
"predicted_H": 5,
"predicted_R": 4,
"predicted_ER": 4,
"predicted_BB": 1,
"predicted_SO": 6,
"predicted_HR": 0,
"box_score_synced": true,
"BF": 21,
"Pitches": 87,
"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."
}
],
"provenance": {
"prediction": "output/games/20260916_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"
}
} |
| 20260916 | 20260916_KC@HOU | away | Daniel Lynch IV | Daniel Lynch IV | True | 5.0 | 5.0 | 0 | 1 | 0 | -1 | 2/2 | 3/1 | 5/3 | Last 10 before this game (10 available){
"model_context": {
"embedded_season": {
"ERA": 3.5162790697674415,
"WHIP": 1.1023255813953488,
"IP": 71.2,
"games_started": null,
"games_pitched": 53,
"role_avg_IP": 3.667,
"recent_avg_IP": 4.333,
"last_start_IP": 5.0,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": -0.0804,
"sample_weight": 1.0,
"run_prevention_factor": 1.0068,
"strikeout_factor": 0.9589,
"walk_factor": 0.966,
"homer_factor": 0.974,
"regression_flag": "negative_pitcher_regression",
"k_percent": 16.6,
"bb_percent": 7.5,
"woba": 0.279,
"xwoba": 0.314,
"barrel_percent": 5.9,
"hard_hit_percent": 37.1,
"whiff_percent": 23.2
},
"espn_rank": {
"rank": 208,
"total_ranked": null,
"metrics": null
},
"starter_workload_floor": {
"applied": true,
"floor_IP": 5.0,
"season_IP": 71.2,
"season_ERA": 3.516,
"season_WHIP": 1.102,
"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": 14.503,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7436,
"prior_weight": 0.2564
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "663738",
"report_date": "20260916",
"season_year": 2026,
"rows_used": 53,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 21.2,
"ER": 12.0,
"R": 12.0,
"H": 20.0,
"BB": 8.0,
"SO": 9.0,
"HR": 2.0,
"BF": 92.0,
"Pitches": 325.0
},
"per_game": {
"IP": 4.1,
"ER": 2.4,
"R": 2.4,
"H": 4.0,
"BB": 1.6,
"SO": 1.8,
"HR": 0.4,
"BF": 18.4,
"Pitches": 65.0
},
"rates": {
"ERA": 4.9846,
"WHIP": 1.2923,
"ER_per_IP": 0.55385,
"H_per_IP": 0.92308,
"BB_per_IP": 0.36923,
"SO_per_IP": 0.41538,
"HR_per_IP": 0.09231
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 28.1,
"ER": 18.0,
"R": 19.0,
"H": 29.0,
"BB": 10.0,
"SO": 15.0,
"HR": 4.0,
"BF": 123.0,
"Pitches": 430.0
},
"per_game": {
"IP": 2.2,
"ER": 1.8,
"R": 1.9,
"H": 2.9,
"BB": 1.0,
"SO": 1.5,
"HR": 0.4,
"BF": 12.3,
"Pitches": 43.0
},
"rates": {
"ERA": 5.7176,
"WHIP": 1.3765,
"ER_per_IP": 0.63529,
"H_per_IP": 1.02353,
"BB_per_IP": 0.35294,
"SO_per_IP": 0.52941,
"HR_per_IP": 0.14118
}
},
"season": {
"games": 53,
"totals": {
"IP": 71.2,
"ER": 28.0,
"R": 32.0,
"H": 57.0,
"BB": 22.0,
"SO": 49.0,
"HR": 6.0,
"BF": 295.0,
"Pitches": 1074.0
},
"per_game": {
"IP": 1.1,
"ER": 0.5283,
"R": 0.6038,
"H": 1.0755,
"BB": 0.4151,
"SO": 0.9245,
"HR": 0.1132,
"BF": 5.566,
"Pitches": 20.2642
},
"rates": {
"ERA": 3.5163,
"WHIP": 1.1023,
"ER_per_IP": 0.3907,
"H_per_IP": 0.79535,
"BB_per_IP": 0.30698,
"SO_per_IP": 0.68372,
"HR_per_IP": 0.08372
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 3.2,
"predicted_ER": 1.95,
"predicted_H": 3.419,
"predicted_BB": 1.292,
"predicted_SO": 2.244,
"predicted_HR": 0.427,
"predicted_ERA": 4.8421,
"predicted_WHIP": 1.2999
}
},
"model_form_blend_trace": {
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4583,
"form_weight": 0.5417,
"form_reliability": 0.7436,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 14.503,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7436,
"prior_weight": 0.2564
},
"applied_metrics": {
"predicted_IP": {
"model": 5.0,
"form": 3.2,
"final": 4.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 1.95,
"final": 1.5146,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 3.419,
"final": 2.7686,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 1.292,
"final": 2.0748,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 2.244,
"final": 3.5072,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.427,
"final": 0.2313,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.8421,
"final": 4.8421,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2999,
"final": 1.2999,
"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": 28.1,
"ER": 18,
"H": 29,
"BB": 10,
"SO": 15,
"HR": 4,
"ERA": 5.7176470588235295,
"WHIP": 1.3764705882352941,
"K9": 4.764705882352941,
"HR9": 1.2705882352941178,
"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": 1.1367726549438624,
"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": 2.0,
"predicted_BB": 3.0,
"predicted_SO": 5.0,
"predicted_HR": 0.0
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 14.503,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7436,
"prior_weight": 0.2564
}
},
{
"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": 1,
"predicted_H": 2,
"predicted_BB": 3,
"predicted_SO": 5,
"predicted_HR": 0
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "663738",
"player_name": "Daniel Lynch IV",
"position": "Starter",
"team": "KC",
"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": 2.0,
"predicted_HR": 0.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": "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": 3.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_SO": 5.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": 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.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": {}
},
{
"index": 3,
"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": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_R": 1.0,
"predicted_SO": 5.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": 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.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": 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": 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.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": "KC",
"games": 151,
"wins": 66,
"losses": 85,
"win_pct": 0.4371,
"runs_scored": 636.0,
"runs_allowed": 732.0,
"run_differential": -96.0,
"run_differential_per_game": -0.6358,
"avg_runs_scored": 4.2119,
"avg_runs_allowed": 4.8477,
"offense_index": 0.9378,
"defense_index": 0.9265,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.0,
"avg_runs_allowed": 4.1,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.2013
},
"opponent": {
"team": "HOU",
"games": 151,
"wins": 76,
"losses": 75,
"win_pct": 0.5033,
"runs_scored": 673.0,
"runs_allowed": 724.0,
"run_differential": -51.0,
"run_differential_per_game": -0.3377,
"avg_runs_scored": 4.457,
"avg_runs_allowed": 4.7947,
"offense_index": 0.9924,
"defense_index": 0.9367,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.4,
"avg_runs_allowed": 4.7,
"run_differential": -13.0
},
"available": true,
"quality_score": -0.0736
},
"edges": {
"quality_edge": -0.1277,
"offense_edge": -0.0622,
"opponent_offense_edge": -0.0076,
"defense_strength": -0.0735,
"opponent_defense_weakness": 0.0633,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.993,
"run_prevention": 1.0125,
"strikeout": 0.9968
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "663738",
"profile": {
"available": true,
"pitcher_id": "663738",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 267.0,
"k_percent": 16.6,
"bb_percent": 7.5,
"woba": 0.279,
"xwoba": 0.314,
"sweet_spot_percent": 31.2,
"barrel_batted_rate": 5.9,
"hard_hit_percent": 37.1,
"avg_best_speed": 78.4389,
"avg_hyper_speed": 93.8469,
"whiff_percent": 23.2,
"swing_percent": 46.6
},
"league_medians": {
"pa": 132.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6025,
"avg_hyper_speed": 93.9171,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.199,
"command_and_miss": -0.3521,
"regression_edge": -1.0,
"xwoba_edge": -0.0571,
"barrel_edge": 0.2889,
"hard_hit_edge": 0.1143,
"whiff_edge": -0.2571,
"bb_edge": 0.425,
"pitch_design_score": -0.0037
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "663738",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 56,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 56,
"pitch_usage": 0.0,
"release_speed": 89.7829260154076,
"release_spin_rate": 2092.374680566941,
"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": 56,
"pitch_usage": 0.0,
"release_speed": 89.7829260154076,
"release_spin_rate": 2092.374680566941,
"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.7829,
"release_spin_rate": 2092.3747,
"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.0037,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0264,
"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.0804,
"sample_weight": 1.0,
"run_prevention_factor": 1.0068,
"strikeout_factor": 0.9589,
"walk_factor": 0.966,
"homer_factor": 0.974,
"woba_minus_xwoba": -0.035,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "663738",
"espn_id": 41227,
"player_name": "Daniel Lynch IV",
"team": "KC",
"role": "pitcher",
"espn_rank": 208,
"espn_total_ranked": 862,
"metrics": {
"espn_rank": 208,
"gp_value": 53.0,
"gp_rank": 98,
"gs_value": 7.0,
"gs_rank": 201,
"qs_value": 0.0,
"qs_rank": 214,
"era_value": 3.5162,
"era_rank": null,
"w_value": 5.0,
"w_rank": 156,
"l_value": 5.0,
"l_rank": 144,
"sv_value": 1.0,
"sv_rank": 141,
"hld_value": 13.0,
"hld_rank": 52,
"ip_value": 71.2,
"ip_rank": 186,
"h_value": 57.0,
"h_rank": 208,
"er_value": 28.0,
"er_rank": 221,
"hr_value": 6.0,
"hr_rank": 276,
"bb_value": 22.0,
"bb_rank": 276,
"k_value": 49.0,
"k_rank": 305,
"k_per_9_value": 6.153488,
"k_per_9_rank": 44,
"whip_value": 1.1023,
"whip_rank": null,
"war_value": 0.8,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0068,
"adjusted": 3
},
"predicted_H": {
"original": 4.0,
"factor": 1.0068,
"adjusted": 4
},
"predicted_BB": {
"original": 2.0,
"factor": 0.966,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 0.974,
"adjusted": 1
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9589,
"adjusted": 2
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 5.0,
"predicted_H": 2,
"predicted_R": 1,
"predicted_ER": 1,
"predicted_BB": 3,
"predicted_SO": 5,
"predicted_HR": 0,
"box_score_synced": true,
"BF": 20,
"Pitches": 89,
"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/20260916_KC@HOU.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"
}
} |
| 20260916 | 20260916_KC@HOU | home | Cristian Javier | Cristian Javier | True | 4.2 | 5.1 | 2 | 2 | 2 | 0 | 5/5 | 3/3 | 4/2 | Last 10 before this game (10 available){
"model_context": {
"embedded_season": {
"ERA": 5.497005988023952,
"WHIP": 1.4550898203592815,
"IP": 55.2,
"games_started": null,
"games_pitched": 15,
"role_avg_IP": 4.233,
"recent_avg_IP": 4.8,
"last_start_IP": 6.0,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": -0.1562,
"sample_weight": 0.892,
"run_prevention_factor": 1.0133,
"strikeout_factor": 1.0291,
"walk_factor": 1.0054,
"homer_factor": 1.0292,
"regression_flag": "neutral",
"k_percent": 22.6,
"bb_percent": 9.5,
"woba": 0.345,
"xwoba": 0.332,
"barrel_percent": 9.2,
"hard_hit_percent": 34.4,
"whiff_percent": 30.1
},
"espn_rank": {
"rank": 593,
"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": 15.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.75,
"prior_weight": 0.25
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "664299",
"report_date": "20260916",
"season_year": 2026,
"rows_used": 15,
"reference_playing_time": 4.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 23.1,
"ER": 10.0,
"R": 10.0,
"H": 19.0,
"BB": 7.0,
"SO": 30.0,
"HR": 3.0,
"BF": 94.0,
"Pitches": 413.0
},
"per_game": {
"IP": 4.2,
"ER": 2.0,
"R": 2.0,
"H": 3.8,
"BB": 1.4,
"SO": 6.0,
"HR": 0.6,
"BF": 18.8,
"Pitches": 82.6
},
"rates": {
"ERA": 3.8571,
"WHIP": 1.1143,
"ER_per_IP": 0.42857,
"H_per_IP": 0.81429,
"BB_per_IP": 0.3,
"SO_per_IP": 1.28571,
"HR_per_IP": 0.12857
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 43.1,
"ER": 20.0,
"R": 20.0,
"H": 42.0,
"BB": 11.0,
"SO": 47.0,
"HR": 6.0,
"BF": 180.0,
"Pitches": 734.0
},
"per_game": {
"IP": 4.1,
"ER": 2.0,
"R": 2.0,
"H": 4.2,
"BB": 1.1,
"SO": 4.7,
"HR": 0.6,
"BF": 18.0,
"Pitches": 73.4
},
"rates": {
"ERA": 4.1538,
"WHIP": 1.2231,
"ER_per_IP": 0.46154,
"H_per_IP": 0.96923,
"BB_per_IP": 0.25385,
"SO_per_IP": 1.08462,
"HR_per_IP": 0.13846
}
},
"season": {
"games": 15,
"totals": {
"IP": 55.2,
"ER": 34.0,
"R": 34.0,
"H": 58.0,
"BB": 23.0,
"SO": 55.0,
"HR": 9.0,
"BF": 243.0,
"Pitches": 979.0
},
"per_game": {
"IP": 3.2,
"ER": 2.2667,
"R": 2.2667,
"H": 3.8667,
"BB": 1.5333,
"SO": 3.6667,
"HR": 0.6,
"BF": 16.2,
"Pitches": 65.2667
},
"rates": {
"ERA": 5.497,
"WHIP": 1.4551,
"ER_per_IP": 0.61078,
"H_per_IP": 1.04192,
"BB_per_IP": 0.41317,
"SO_per_IP": 0.98802,
"HR_per_IP": 0.16168
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 4.1,
"predicted_ER": 2.141,
"predicted_H": 4.115,
"predicted_BB": 1.431,
"predicted_SO": 4.878,
"predicted_HR": 0.623,
"predicted_ERA": 4.3508,
"predicted_WHIP": 1.2521
}
},
"model_form_blend_trace": {
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4556,
"form_weight": 0.5444,
"form_reliability": 0.75,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 15.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.75,
"prior_weight": 0.25
},
"applied_metrics": {
"predicted_IP": {
"model": 4.2,
"form": 4.1,
"final": 4.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 2.141,
"final": 2.0768,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 4.115,
"final": 4.5182,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 1.431,
"final": 2.1459,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 4.878,
"final": 4.0223,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.623,
"final": 0.3391,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.3508,
"final": 4.3508,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2521,
"final": 1.2521,
"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": 43.1,
"ER": 20,
"H": 42,
"BB": 11,
"SO": 47,
"HR": 6,
"ERA": 4.153846153846154,
"WHIP": 1.2230769230769232,
"K9": 9.761538461538462,
"HR9": 1.2461538461538464,
"games_pitched": 10,
"quality_starts": 2,
"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-10T00:00:00"
},
"recent_form_boost": 0.9668733229161727,
"stat_evolution": [
{
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_IP": 4.666666666666667,
"predicted_ER": 2.0,
"predicted_H": 5.0,
"predicted_BB": 3.0,
"predicted_SO": 3.0,
"predicted_HR": 0.0
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 15.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.75,
"prior_weight": 0.25
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "664299",
"player_name": "Cristian Javier",
"position": "Starter",
"team": "HOU",
"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": 2.0,
"predicted_H": 5.0,
"predicted_HR": 0.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": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 2.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 4.2,
"predicted_R": 2.0,
"predicted_SO": 4.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": 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": 4.6667,
"after": 4.2,
"delta": -0.4667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"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": {
"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": 3.0,
"after": 3.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": 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": 4.6667,
"after": 4.2,
"delta": -0.4667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"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": {
"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": "neutral"
}
}
},
"team_form_snapshot": {
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "HOU",
"games": 151,
"wins": 76,
"losses": 75,
"win_pct": 0.5033,
"runs_scored": 673.0,
"runs_allowed": 724.0,
"run_differential": -51.0,
"run_differential_per_game": -0.3377,
"avg_runs_scored": 4.457,
"avg_runs_allowed": 4.7947,
"offense_index": 0.9924,
"defense_index": 0.9367,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.4,
"avg_runs_allowed": 4.7,
"run_differential": -13.0
},
"available": true,
"quality_score": -0.0736
},
"opponent": {
"team": "KC",
"games": 151,
"wins": 66,
"losses": 85,
"win_pct": 0.4371,
"runs_scored": 636.0,
"runs_allowed": 732.0,
"run_differential": -96.0,
"run_differential_per_game": -0.6358,
"avg_runs_scored": 4.2119,
"avg_runs_allowed": 4.8477,
"offense_index": 0.9378,
"defense_index": 0.9265,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.0,
"avg_runs_allowed": 4.1,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.2013
},
"edges": {
"quality_edge": 0.1277,
"offense_edge": -0.0076,
"opponent_offense_edge": -0.0622,
"defense_strength": -0.0633,
"opponent_defense_weakness": 0.0735,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0057,
"run_prevention": 0.99,
"strikeout": 1.0088
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "664299",
"profile": {
"available": true,
"pitcher_id": "664299",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 223.0,
"k_percent": 22.6,
"bb_percent": 9.5,
"woba": 0.345,
"xwoba": 0.332,
"sweet_spot_percent": 39.3,
"barrel_batted_rate": 9.2,
"hard_hit_percent": 34.4,
"avg_best_speed": 79.2674,
"avg_hyper_speed": 93.8852,
"whiff_percent": 30.1,
"swing_percent": 52.3
},
"league_medians": {
"pa": 132.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6025,
"avg_hyper_speed": 93.9171,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.4969,
"command_and_miss": 0.2786,
"regression_edge": 0.3714,
"xwoba_edge": -0.5714,
"barrel_edge": -0.4444,
"hard_hit_edge": 0.5,
"whiff_edge": 0.7286,
"bb_edge": -0.075,
"pitch_design_score": -0.0801
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "664299",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 84,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 84,
"pitch_usage": 0.0,
"release_speed": 88.41813925049985,
"release_spin_rate": 2328.3245518037866,
"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": 84,
"pitch_usage": 0.0,
"release_speed": 88.41813925049985,
"release_spin_rate": 2328.3245518037866,
"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.4181,
"release_spin_rate": 2328.3246,
"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.0801,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.5723,
"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.1562,
"sample_weight": 0.892,
"run_prevention_factor": 1.0133,
"strikeout_factor": 1.0291,
"walk_factor": 1.0054,
"homer_factor": 1.0292,
"woba_minus_xwoba": 0.013,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664299",
"espn_id": 41261,
"player_name": "Cristian Javier",
"team": "HOU",
"role": "pitcher",
"espn_rank": 593,
"espn_total_ranked": 862,
"metrics": {
"espn_rank": 593,
"gp_value": 15.0,
"gp_rank": 465,
"gs_value": 10.0,
"gs_rank": 174,
"qs_value": 2.0,
"qs_rank": 159,
"era_value": 5.497,
"era_rank": null,
"w_value": 2.0,
"w_rank": 321,
"l_value": 5.0,
"l_rank": 144,
"sv_value": 0.0,
"sv_rank": 253,
"hld_value": 0.0,
"hld_rank": 357,
"ip_value": 55.2,
"ip_rank": 278,
"h_value": 58.0,
"h_rank": 205,
"er_value": 34.0,
"er_rank": 175,
"hr_value": 9.0,
"hr_rank": 180,
"bb_value": 23.0,
"bb_rank": 250,
"k_value": 55.0,
"k_rank": 272,
"k_per_9_value": 8.892216,
"k_per_9_rank": 26,
"whip_value": 1.455,
"whip_rank": null,
"war_value": -0.11,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0119,
"adjusted": 3
},
"predicted_H": {
"original": 4.0,
"factor": 1.0119,
"adjusted": 4
},
"predicted_BB": {
"original": 2.0,
"factor": 1.0048,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.026,
"adjusted": 1
},
"predicted_SO": {
"original": 5.0,
"factor": 1.026,
"adjusted": 5
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 4.2,
"predicted_H": 5,
"predicted_R": 2,
"predicted_ER": 2,
"predicted_BB": 3,
"predicted_SO": 4,
"predicted_HR": 0,
"box_score_synced": true,
"BF": 22,
"Pitches": 88,
"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/20260916_KC@HOU.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"
}
} |
| 20260916 | 20260916_LAD@CIN | away | Blake Snell | Blake Snell | True | 6.0 | 1.0 | -15 | 0 | 0 | 0 | 3/1 | 3/0 | 7/1 | Last 10 before this game (7 available){
"model_context": {
"embedded_season": {
"ERA": 1.9115044247787611,
"WHIP": 1.088495575221239,
"IP": 37.2,
"games_started": null,
"games_pitched": 7,
"role_avg_IP": 5.381,
"recent_avg_IP": 5.733,
"last_start_IP": 5.2,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": 0.7465,
"sample_weight": 0.524,
"run_prevention_factor": 0.9365,
"strikeout_factor": 1.0671,
"walk_factor": 1.0126,
"homer_factor": 0.8526,
"regression_flag": "neutral",
"k_percent": 33.1,
"bb_percent": 10.4,
"woba": 0.235,
"xwoba": 0.225,
"barrel_percent": 1.2,
"hard_hit_percent": 14.0,
"whiff_percent": 36.3
},
"espn_rank": {
"rank": 125,
"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.7627118644067797,
"last_10": 0.23728813559322032
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5833,
"prior_weight": 0.4167
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "605483",
"report_date": "20260916",
"season_year": 2026,
"rows_used": 7,
"reference_playing_time": 6.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 28.2,
"ER": 3.0,
"R": 3.0,
"H": 16.0,
"BB": 13.0,
"SO": 36.0,
"HR": 0.0,
"BF": 114.0,
"Pitches": 484.0
},
"per_game": {
"IP": 5.2,
"ER": 0.6,
"R": 0.6,
"H": 3.2,
"BB": 2.6,
"SO": 7.2,
"HR": 0.0,
"BF": 22.8,
"Pitches": 96.8
},
"rates": {
"ERA": 0.9419,
"WHIP": 1.0116,
"ER_per_IP": 0.10465,
"H_per_IP": 0.55814,
"BB_per_IP": 0.45349,
"SO_per_IP": 1.25581,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 7,
"totals": {
"IP": 37.2,
"ER": 8.0,
"R": 9.0,
"H": 25.0,
"BB": 16.0,
"SO": 51.0,
"HR": 0.0,
"BF": 154.0,
"Pitches": 645.0
},
"per_game": {
"IP": 5.1,
"ER": 1.1429,
"R": 1.2857,
"H": 3.5714,
"BB": 2.2857,
"SO": 7.2857,
"HR": 0.0,
"BF": 22.0,
"Pitches": 92.1429
},
"rates": {
"ERA": 1.9115,
"WHIP": 1.0885,
"ER_per_IP": 0.21239,
"H_per_IP": 0.66372,
"BB_per_IP": 0.42478,
"SO_per_IP": 1.35398,
"HR_per_IP": 0.0
}
},
"season": {
"games": 7,
"totals": {
"IP": 37.2,
"ER": 8.0,
"R": 9.0,
"H": 25.0,
"BB": 16.0,
"SO": 51.0,
"HR": 0.0,
"BF": 154.0,
"Pitches": 645.0
},
"per_game": {
"IP": 5.1,
"ER": 1.1429,
"R": 1.2857,
"H": 3.5714,
"BB": 2.2857,
"SO": 7.2857,
"HR": 0.0,
"BF": 22.0,
"Pitches": 92.1429
},
"rates": {
"ERA": 1.9115,
"WHIP": 1.0885,
"ER_per_IP": 0.21239,
"H_per_IP": 0.66372,
"BB_per_IP": 0.42478,
"SO_per_IP": 1.35398,
"HR_per_IP": 0.0
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.2,
"predicted_ER": 1.647,
"predicted_H": 4.297,
"predicted_BB": 2.395,
"predicted_SO": 6.549,
"predicted_HR": 0.353,
"predicted_ERA": 2.574,
"predicted_WHIP": 1.1619
}
},
"model_form_blend_trace": {
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5261,
"form_weight": 0.4739,
"form_reliability": 0.5833,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5833,
"prior_weight": 0.4167
},
"applied_metrics": {
"predicted_IP": {
"model": 6.0,
"form": 5.2,
"final": 6.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 1.647,
"final": 0.7806,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 4.297,
"final": 3.6147,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 2.395,
"final": 2.7133,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 6.549,
"final": 5.2081,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.353,
"final": 0.1673,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.574,
"final": 2.574,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1619,
"final": 1.1619,
"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": 37.2,
"ER": 8,
"H": 25,
"BB": 16,
"SO": 51,
"HR": 0,
"ERA": 1.911504424778761,
"WHIP": 1.0884955752212389,
"K9": 12.1858407079646,
"HR9": 0.0,
"games_pitched": 7,
"quality_starts": 4,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 7,
"error_prone": false
},
"games_count": 7,
"latest_game_date": "2026-09-11T00:00:00"
},
"recent_form_boost": 0.7112453446996987,
"stat_evolution": [
{
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_IP": 6.0,
"predicted_ER": 0.0,
"predicted_H": 3.0,
"predicted_BB": 3.0,
"predicted_SO": 4.0,
"predicted_HR": 0.0
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5833,
"prior_weight": 0.4167
}
},
{
"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": 0,
"predicted_H": 3,
"predicted_BB": 3,
"predicted_SO": 7,
"predicted_HR": 0
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "605483",
"player_name": "Blake Snell",
"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": 3.0,
"predicted_ER": 0.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 6.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": "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": 3.0,
"predicted_ER": 0.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 6.0,
"predicted_SO": 7.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 4.0,
"after": 7.0,
"delta": 3.0,
"percent_delta": 0.75,
"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": 4.0,
"after": 7.0,
"delta": 3.0,
"percent_delta": 0.75,
"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": 3.0,
"predicted_ER": 0.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 6.0,
"predicted_R": 0.0,
"predicted_SO": 7.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 4.0,
"after": 7.0,
"delta": 3.0,
"percent_delta": 0.75,
"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": 4.0,
"after": 7.0,
"delta": 3.0,
"percent_delta": 0.75,
"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": "LAD",
"games": 151,
"wins": 92,
"losses": 59,
"win_pct": 0.6093,
"runs_scored": 749.0,
"runs_allowed": 572.0,
"run_differential": 177.0,
"run_differential_per_game": 1.1722,
"avg_runs_scored": 4.9603,
"avg_runs_allowed": 3.7881,
"offense_index": 1.1037,
"defense_index": 1.1864,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.7,
"avg_runs_allowed": 2.9,
"run_differential": 28.0
},
"available": true,
"quality_score": 0.3414
},
"opponent": {
"team": "CIN",
"games": 151,
"wins": 70,
"losses": 81,
"win_pct": 0.4636,
"runs_scored": 625.0,
"runs_allowed": 777.0,
"run_differential": -152.0,
"run_differential_per_game": -1.0066,
"avg_runs_scored": 4.1391,
"avg_runs_allowed": 5.1457,
"offense_index": 0.921,
"defense_index": 0.8734,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 7.8,
"run_differential": -41.0
},
"available": true,
"quality_score": -0.2241
},
"edges": {
"quality_edge": 0.5655,
"offense_edge": 0.1037,
"opponent_offense_edge": -0.079,
"defense_strength": 0.1864,
"opponent_defense_weakness": 0.1266,
"recent_win_pct_edge": 0.5
},
"player_factors": {
"ip": 1.0314,
"run_prevention": 0.9404,
"strikeout": 1.0233
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "605483",
"profile": {
"available": true,
"pitcher_id": "605483",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 131.0,
"k_percent": 33.1,
"bb_percent": 10.4,
"woba": 0.235,
"xwoba": 0.225,
"sweet_spot_percent": 29.1,
"barrel_batted_rate": 1.2,
"hard_hit_percent": 14.0,
"avg_best_speed": 70.7406,
"avg_hyper_speed": 90.7371,
"whiff_percent": 36.3,
"swing_percent": 49.9
},
"league_medians": {
"pa": 132.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6025,
"avg_hyper_speed": 93.9171,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": 1.928,
"command_and_miss": 1.2186,
"regression_edge": 0.2857,
"xwoba_edge": 2.4857,
"barrel_edge": 1.3333,
"hard_hit_edge": 2.5,
"whiff_edge": 1.6143,
"bb_edge": -0.3,
"pitch_design_score": -0.0065
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "605483",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 93,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 93,
"pitch_usage": 0.0,
"release_speed": 89.73249448384554,
"release_spin_rate": 2364.123835006601,
"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": 93,
"pitch_usage": 0.0,
"release_speed": 89.73249448384554,
"release_spin_rate": 2364.123835006601,
"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.7325,
"release_spin_rate": 2364.1238,
"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.0065,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0465,
"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.7465,
"sample_weight": 0.524,
"run_prevention_factor": 0.9365,
"strikeout_factor": 1.0671,
"walk_factor": 1.0126,
"homer_factor": 0.8526,
"woba_minus_xwoba": 0.01,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "605483",
"espn_id": 33748,
"player_name": "Blake Snell",
"team": "LAD",
"role": "pitcher",
"espn_rank": 125,
"espn_total_ranked": 862,
"metrics": {
"espn_rank": 125,
"gp_value": 7.0,
"gp_rank": 593,
"gs_value": 7.0,
"gs_rank": 201,
"qs_value": 4.0,
"qs_rank": 126,
"era_value": 1.9115,
"era_rank": null,
"w_value": 4.0,
"w_rank": 199,
"l_value": 1.0,
"l_rank": 433,
"sv_value": 0.0,
"sv_rank": 253,
"hld_value": 0.0,
"hld_rank": 357,
"ip_value": 37.2,
"ip_rank": 388,
"h_value": 25.0,
"h_rank": 470,
"er_value": 8.0,
"er_rank": 594,
"hr_value": 0.0,
"hr_rank": 750,
"bb_value": 16.0,
"bb_rank": 371,
"k_value": 51.0,
"k_rank": 293,
"k_per_9_value": 12.185842,
"k_per_9_rank": 20,
"whip_value": 1.0884,
"whip_rank": null,
"war_value": 1.47,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9667,
"adjusted": 1
},
"predicted_H": {
"original": 3.0,
"factor": 0.9667,
"adjusted": 3
},
"predicted_BB": {
"original": 3.0,
"factor": 1.0066,
"adjusted": 3
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9228,
"adjusted": 0
},
"predicted_SO": {
"original": 7.0,
"factor": 1.0352,
"adjusted": 7
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 6.0,
"predicted_H": 3,
"predicted_R": 0,
"predicted_ER": 0,
"predicted_BB": 3,
"predicted_SO": 7,
"predicted_HR": 0,
"box_score_synced": true,
"BF": 24,
"Pitches": 109,
"published_line_source": "scoring_simulation.box_score"
}
},
"findings": [
{
"code": "PARTIAL_PRIOR_HISTORY",
"severity": "warning",
"title": "Only 7 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 +0."
},
{
"code": "WORKLOAD_MISS",
"severity": "error",
"title": "Workload missed by at least three innings",
"detail": "The actual outing differed by -15 outs from the projected workload."
},
{
"code": "WALK_COMPONENT_MISS",
"severity": "warning",
"title": "Walk component missed",
"detail": "Actual minus predicted walks was -3."
},
{
"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/20260916_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"
}
} |
| 20260916 | 20260916_LAD@CIN | home | Andrew Abbott | Andrew Abbott | True | 4.1 | 4.2 | 1 | 1 | 1 | 0 | 3/3 | 1/5 | 7/5 | Last 10 before this game (10 available){
"model_context": {
"embedded_season": {
"ERA": 4.781857451403887,
"WHIP": 1.4643628509719222,
"IP": 154.1,
"games_started": null,
"games_pitched": 30,
"role_avg_IP": 5.144,
"recent_avg_IP": 4.267,
"last_start_IP": 2.0,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": -0.4446,
"sample_weight": 1.0,
"run_prevention_factor": 1.0378,
"strikeout_factor": 0.9589,
"walk_factor": 1.022,
"homer_factor": 1.0519,
"regression_flag": "neutral",
"k_percent": 17.7,
"bb_percent": 10.3,
"woba": 0.336,
"xwoba": 0.341,
"barrel_percent": 8.4,
"hard_hit_percent": 38.9,
"whiff_percent": 22.1
},
"espn_rank": {
"rank": 162,
"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": 30.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8571,
"prior_weight": 0.1429
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "671096",
"report_date": "20260916",
"season_year": 2026,
"rows_used": 30,
"reference_playing_time": 4.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 21.1,
"ER": 21.0,
"R": 23.0,
"H": 31.0,
"BB": 6.0,
"SO": 18.0,
"HR": 7.0,
"BF": 101.0,
"Pitches": 355.0
},
"per_game": {
"IP": 4.1,
"ER": 4.2,
"R": 4.6,
"H": 6.2,
"BB": 1.2,
"SO": 3.6,
"HR": 1.4,
"BF": 20.2,
"Pitches": 71.0
},
"rates": {
"ERA": 8.8594,
"WHIP": 1.7344,
"ER_per_IP": 0.98438,
"H_per_IP": 1.45312,
"BB_per_IP": 0.28125,
"SO_per_IP": 0.84375,
"HR_per_IP": 0.32812
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 49.1,
"ER": 34.0,
"R": 37.0,
"H": 55.0,
"BB": 22.0,
"SO": 36.0,
"HR": 8.0,
"BF": 222.0,
"Pitches": 834.0
},
"per_game": {
"IP": 5.0,
"ER": 3.4,
"R": 3.7,
"H": 5.5,
"BB": 2.2,
"SO": 3.6,
"HR": 0.8,
"BF": 22.2,
"Pitches": 83.4
},
"rates": {
"ERA": 6.2027,
"WHIP": 1.5608,
"ER_per_IP": 0.68919,
"H_per_IP": 1.11486,
"BB_per_IP": 0.44595,
"SO_per_IP": 0.72973,
"HR_per_IP": 0.16216
}
},
"season": {
"games": 30,
"totals": {
"IP": 154.1,
"ER": 82.0,
"R": 88.0,
"H": 156.0,
"BB": 70.0,
"SO": 120.0,
"HR": 24.0,
"BF": 679.0,
"Pitches": 2671.0
},
"per_game": {
"IP": 5.0,
"ER": 2.7333,
"R": 2.9333,
"H": 5.2,
"BB": 2.3333,
"SO": 4.0,
"HR": 0.8,
"BF": 22.6333,
"Pitches": 89.0333
},
"rates": {
"ERA": 4.7819,
"WHIP": 1.4644,
"ER_per_IP": 0.53132,
"H_per_IP": 1.0108,
"BB_per_IP": 0.45356,
"SO_per_IP": 0.77754,
"HR_per_IP": 0.15551
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 4.2,
"predicted_ER": 3.519,
"predicted_H": 5.669,
"predicted_BB": 1.752,
"predicted_SO": 3.811,
"predicted_HR": 1.046,
"predicted_ERA": 6.7457,
"predicted_WHIP": 1.5806
}
},
"model_form_blend_trace": {
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4104,
"form_weight": 0.5896,
"form_reliability": 0.8571,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 30.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8571,
"prior_weight": 0.1429
},
"applied_metrics": {
"predicted_IP": {
"model": 4.2,
"form": 4.2,
"final": 4.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 3.519,
"final": 2.4853,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 5.669,
"final": 4.5737,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.752,
"final": 1.4434,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 7.0,
"form": 3.811,
"final": 5.1197,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 1.046,
"final": 1.0271,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 6.7457,
"final": 6.7457,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5806,
"final": 1.5806,
"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.1,
"ER": 34,
"H": 55,
"BB": 22,
"SO": 36,
"HR": 8,
"ERA": 6.202702702702703,
"WHIP": 1.5608108108108107,
"K9": 6.5675675675675675,
"HR9": 1.4594594594594594,
"games_pitched": 10,
"quality_starts": 4,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-09-11T00:00:00"
},
"recent_form_boost": 1.2058130318558815,
"stat_evolution": [
{
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_IP": 4.666666666666667,
"predicted_ER": 1.0,
"predicted_H": 3.0,
"predicted_BB": 1.0,
"predicted_SO": 7.0,
"predicted_HR": 1.0
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 30.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8571,
"prior_weight": 0.1429
}
},
{
"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": 1,
"predicted_H": 3,
"predicted_BB": 1,
"predicted_SO": 7,
"predicted_HR": 1
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "671096",
"player_name": "Andrew Abbott",
"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": 1.0,
"predicted_ER": 1.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 4.6667,
"predicted_SO": 7.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"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": 1.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 4.1,
"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": 1.0,
"after": 1.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": 4.6667,
"after": 4.1,
"delta": -0.5667,
"percent_delta": -0.1214,
"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": 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": 1.0,
"predicted_ER": 1.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 4.1,
"predicted_R": 1.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": 1.0,
"after": 1.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": 4.1,
"after": 4.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": 1.0,
"after": 1.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": 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": 4.6667,
"after": 4.1,
"delta": -0.5667,
"percent_delta": -0.1214,
"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": 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": 151,
"wins": 70,
"losses": 81,
"win_pct": 0.4636,
"runs_scored": 625.0,
"runs_allowed": 777.0,
"run_differential": -152.0,
"run_differential_per_game": -1.0066,
"avg_runs_scored": 4.1391,
"avg_runs_allowed": 5.1457,
"offense_index": 0.921,
"defense_index": 0.8734,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 7.8,
"run_differential": -41.0
},
"available": true,
"quality_score": -0.2241
},
"opponent": {
"team": "LAD",
"games": 151,
"wins": 92,
"losses": 59,
"win_pct": 0.6093,
"runs_scored": 749.0,
"runs_allowed": 572.0,
"run_differential": 177.0,
"run_differential_per_game": 1.1722,
"avg_runs_scored": 4.9603,
"avg_runs_allowed": 3.7881,
"offense_index": 1.1037,
"defense_index": 1.1864,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.7,
"avg_runs_allowed": 2.9,
"run_differential": 28.0
},
"available": true,
"quality_score": 0.3414
},
"edges": {
"quality_edge": -0.5655,
"offense_edge": -0.079,
"opponent_offense_edge": 0.1037,
"defense_strength": -0.1266,
"opponent_defense_weakness": -0.1864,
"recent_win_pct_edge": -0.5
},
"player_factors": {
"ip": 0.9694,
"run_prevention": 1.0575,
"strikeout": 0.9747
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "671096",
"profile": {
"available": true,
"pitcher_id": "671096",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 630.0,
"k_percent": 17.7,
"bb_percent": 10.3,
"woba": 0.336,
"xwoba": 0.341,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 8.4,
"hard_hit_percent": 38.9,
"avg_best_speed": 79.6059,
"avg_hyper_speed": 94.2025,
"whiff_percent": 22.1,
"swing_percent": 46.4
},
"league_medians": {
"pa": 132.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6025,
"avg_hyper_speed": 93.9171,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.5273,
"command_and_miss": -0.4764,
"regression_edge": -0.1429,
"xwoba_edge": -0.8286,
"barrel_edge": -0.2667,
"hard_hit_edge": -0.1429,
"whiff_edge": -0.4143,
"bb_edge": -0.275,
"pitch_design_score": -0.14
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "671096",
"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": 87.3488539717345,
"release_spin_rate": 2446.6549585872185,
"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": 87.3488539717345,
"release_spin_rate": 2446.6549585872185,
"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.3489,
"release_spin_rate": 2446.655,
"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.14,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.0,
"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.4446,
"sample_weight": 1.0,
"run_prevention_factor": 1.0378,
"strikeout_factor": 0.9589,
"walk_factor": 1.022,
"homer_factor": 1.0519,
"woba_minus_xwoba": -0.005,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "671096",
"espn_id": 4414528,
"player_name": "Andrew Abbott",
"team": "CIN",
"role": "pitcher",
"espn_rank": 162,
"espn_total_ranked": 862,
"metrics": {
"espn_rank": 162,
"gp_value": 30.0,
"gp_rank": 235,
"gs_value": 30.0,
"gs_rank": 8,
"qs_value": 11.0,
"qs_rank": 47,
"era_value": 4.7818,
"era_rank": 46.0,
"w_value": 6.0,
"w_rank": 112,
"l_value": 11.0,
"l_rank": 11,
"sv_value": 0.0,
"sv_rank": 253,
"hld_value": 0.0,
"hld_rank": 357,
"ip_value": 154.1,
"ip_rank": 45,
"h_value": 156.0,
"h_rank": 16,
"er_value": 82.0,
"er_rank": 13,
"hr_value": 24.0,
"hr_rank": 18,
"bb_value": 70.0,
"bb_rank": 8,
"k_value": 120.0,
"k_rank": 76,
"k_per_9_value": 6.9978404,
"k_per_9_rank": 45,
"whip_value": 1.4643,
"whip_rank": 48.0,
"war_value": 1.13,
"war_rank": 42.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 4.0,
"factor": 1.0378,
"adjusted": 4
},
"predicted_H": {
"original": 6.0,
"factor": 1.0378,
"adjusted": 6
},
"predicted_BB": {
"original": 2.0,
"factor": 1.022,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0519,
"adjusted": 1
},
"predicted_SO": {
"original": 4.0,
"factor": 0.9589,
"adjusted": 4
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 4.1,
"predicted_H": 3,
"predicted_R": 1,
"predicted_ER": 1,
"predicted_BB": 1,
"predicted_SO": 7,
"predicted_HR": 1,
"box_score_synced": true,
"BF": 17,
"Pitches": 80,
"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."
},
{
"code": "WALK_COMPONENT_MISS",
"severity": "warning",
"title": "Walk component missed",
"detail": "Actual minus predicted walks was +4."
}
],
"provenance": {
"prediction": "output/games/20260916_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"
}
} |
| 20260916 | 20260916_MIA@ARI | away | Ryan Gusto | Ryan Gusto | True | 4.2 | 4.1 | -1 | 1 | 2 | 1 | 1/8 | 4/1 | 5/4 | Last 10 before this game (10 available){
"model_context": {
"embedded_season": {
"ERA": 4.136170212765958,
"WHIP": 1.4042553191489362,
"IP": 78.1,
"games_started": null,
"games_pitched": 21,
"role_avg_IP": 4.312,
"recent_avg_IP": 4.933,
"last_start_IP": 6.0,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": -0.4205,
"sample_weight": 1.0,
"run_prevention_factor": 1.0357,
"strikeout_factor": 0.956,
"walk_factor": 0.96,
"homer_factor": 1.0758,
"regression_flag": "neutral",
"k_percent": 18.7,
"bb_percent": 7.2,
"woba": 0.331,
"xwoba": 0.336,
"barrel_percent": 8.7,
"hard_hit_percent": 42.9,
"whiff_percent": 20.6
},
"espn_rank": {
"rank": 214,
"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": 21.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8077,
"prior_weight": 0.1923
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "687473",
"report_date": "20260916",
"season_year": 2026,
"rows_used": 21,
"reference_playing_time": 4.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 24.2,
"ER": 8.0,
"R": 8.0,
"H": 28.0,
"BB": 11.0,
"SO": 16.0,
"HR": 1.0,
"BF": 110.0,
"Pitches": 409.0
},
"per_game": {
"IP": 5.0,
"ER": 1.6,
"R": 1.6,
"H": 5.6,
"BB": 2.2,
"SO": 3.2,
"HR": 0.2,
"BF": 22.0,
"Pitches": 81.8
},
"rates": {
"ERA": 2.9189,
"WHIP": 1.5811,
"ER_per_IP": 0.32432,
"H_per_IP": 1.13514,
"BB_per_IP": 0.44595,
"SO_per_IP": 0.64865,
"HR_per_IP": 0.04054
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 47.2,
"ER": 20.0,
"R": 22.0,
"H": 53.0,
"BB": 15.0,
"SO": 38.0,
"HR": 6.0,
"BF": 209.0,
"Pitches": 758.0
},
"per_game": {
"IP": 4.2,
"ER": 2.0,
"R": 2.2,
"H": 5.3,
"BB": 1.5,
"SO": 3.8,
"HR": 0.6,
"BF": 20.9,
"Pitches": 75.8
},
"rates": {
"ERA": 3.7762,
"WHIP": 1.4266,
"ER_per_IP": 0.41958,
"H_per_IP": 1.11189,
"BB_per_IP": 0.31469,
"SO_per_IP": 0.7972,
"HR_per_IP": 0.12587
}
},
"season": {
"games": 21,
"totals": {
"IP": 78.1,
"ER": 36.0,
"R": 39.0,
"H": 85.0,
"BB": 25.0,
"SO": 65.0,
"HR": 9.0,
"BF": 347.0,
"Pitches": 1267.0
},
"per_game": {
"IP": 3.2,
"ER": 1.7143,
"R": 1.8571,
"H": 4.0476,
"BB": 1.1905,
"SO": 3.0952,
"HR": 0.4286,
"BF": 16.5238,
"Pitches": 60.3333
},
"rates": {
"ERA": 4.1362,
"WHIP": 1.4043,
"ER_per_IP": 0.45957,
"H_per_IP": 1.08511,
"BB_per_IP": 0.31915,
"SO_per_IP": 0.82979,
"HR_per_IP": 0.11489
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 4.2,
"predicted_ER": 1.886,
"predicted_H": 5.04,
"predicted_BB": 1.731,
"predicted_SO": 3.588,
"predicted_HR": 0.449,
"predicted_ERA": 3.669,
"predicted_WHIP": 1.4638
}
},
"model_form_blend_trace": {
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4312,
"form_weight": 0.5688,
"form_reliability": 0.8077,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 21.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8077,
"prior_weight": 0.1923
},
"applied_metrics": {
"predicted_IP": {
"model": 4.2,
"form": 4.2,
"final": 4.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 1.886,
"final": 1.5039,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 5.04,
"final": 3.2978,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 4.0,
"form": 1.731,
"final": 2.7095,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 3.588,
"final": 4.1969,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.449,
"final": 0.2554,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.669,
"final": 3.669,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4638,
"final": 1.4638,
"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": 20,
"H": 53,
"BB": 15,
"SO": 38,
"HR": 6,
"ERA": 3.776223776223776,
"WHIP": 1.4265734265734265,
"K9": 7.174825174825174,
"HR9": 1.1328671328671327,
"games_pitched": 10,
"quality_starts": 2,
"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-11T00:00:00"
},
"recent_form_boost": 0.9294782180210677,
"stat_evolution": [
{
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_IP": 4.666666666666667,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_BB": 4.0,
"predicted_SO": 5.0,
"predicted_HR": 0.0
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 21.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8077,
"prior_weight": 0.1923
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "687473",
"player_name": "Ryan Gusto",
"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": 4.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 4.6667,
"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": 4.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 4.2,
"predicted_R": 1.0,
"predicted_SO": 5.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": 1.0,
"after": 1.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.6667,
"after": 4.2,
"delta": -0.4667,
"percent_delta": -0.1,
"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": 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": 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": 1.0,
"after": 1.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.6667,
"after": 4.2,
"delta": -0.4667,
"percent_delta": -0.1,
"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": 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": "MIA",
"games": 152,
"wins": 75,
"losses": 77,
"win_pct": 0.4934,
"runs_scored": 677.0,
"runs_allowed": 670.0,
"run_differential": 7.0,
"run_differential_per_game": 0.0461,
"avg_runs_scored": 4.4539,
"avg_runs_allowed": 4.4079,
"offense_index": 0.9901,
"defense_index": 1.0206,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 6.3,
"run_differential": -2.0
},
"available": true,
"quality_score": -0.035
},
"opponent": {
"team": "ARI",
"games": 152,
"wins": 80,
"losses": 72,
"win_pct": 0.5263,
"runs_scored": 675.0,
"runs_allowed": 674.0,
"run_differential": 1.0,
"run_differential_per_game": 0.0066,
"avg_runs_scored": 4.4408,
"avg_runs_allowed": 4.4342,
"offense_index": 0.9872,
"defense_index": 1.0145,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 4.2,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.0582
},
"edges": {
"quality_edge": -0.0932,
"offense_edge": -0.0099,
"opponent_offense_edge": -0.0128,
"defense_strength": 0.0206,
"opponent_defense_weakness": -0.0145,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9974,
"run_prevention": 1.0006,
"strikeout": 0.9982
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "687473",
"profile": {
"available": true,
"pitcher_id": "687473",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 321.0,
"k_percent": 18.7,
"bb_percent": 7.2,
"woba": 0.331,
"xwoba": 0.336,
"sweet_spot_percent": 38.1,
"barrel_batted_rate": 8.7,
"hard_hit_percent": 42.9,
"avg_best_speed": 79.3118,
"avg_hyper_speed": 94.1907,
"whiff_percent": 20.6,
"swing_percent": 49.5
},
"league_medians": {
"pa": 132.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6025,
"avg_hyper_speed": 93.9171,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.5643,
"command_and_miss": -0.3321,
"regression_edge": -0.1429,
"xwoba_edge": -0.6857,
"barrel_edge": -0.3333,
"hard_hit_edge": -0.7143,
"whiff_edge": -0.6286,
"bb_edge": 0.5,
"pitch_design_score": -0.0483
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "687473",
"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.98674243262057,
"release_spin_rate": 2250.483822316965,
"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.98674243262057,
"release_spin_rate": 2250.483822316965,
"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.9867,
"release_spin_rate": 2250.4838,
"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.0483,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.3448,
"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.4205,
"sample_weight": 1.0,
"run_prevention_factor": 1.0357,
"strikeout_factor": 0.956,
"walk_factor": 0.96,
"homer_factor": 1.0758,
"woba_minus_xwoba": -0.005,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687473",
"espn_id": 5131986,
"player_name": "Ryan Gusto",
"team": "MIA",
"role": "pitcher",
"espn_rank": 214,
"espn_total_ranked": 862,
"metrics": {
"espn_rank": 214,
"gp_value": 21.0,
"gp_rank": 389,
"gs_value": 16.0,
"gs_rank": 134,
"qs_value": 2.0,
"qs_rank": 159,
"era_value": 4.1361,
"era_rank": null,
"w_value": 1.0,
"w_rank": 418,
"l_value": 5.0,
"l_rank": 144,
"sv_value": 0.0,
"sv_rank": 253,
"hld_value": 1.0,
"hld_rank": 274,
"ip_value": 78.1,
"ip_rank": 169,
"h_value": 85.0,
"h_rank": 141,
"er_value": 36.0,
"er_rank": 168,
"hr_value": 9.0,
"hr_rank": 180,
"bb_value": 25.0,
"bb_rank": 226,
"k_value": 65.0,
"k_rank": 213,
"k_per_9_value": 7.468085,
"k_per_9_rank": 34,
"whip_value": 1.4042,
"whip_rank": null,
"war_value": 0.77,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0357,
"adjusted": 2
},
"predicted_H": {
"original": 5.0,
"factor": 1.0357,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 0.96,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0758,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 0.956,
"adjusted": 3
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 4.2,
"predicted_H": 1,
"predicted_R": 1,
"predicted_ER": 1,
"predicted_BB": 4,
"predicted_SO": 5,
"predicted_HR": 0,
"box_score_synced": true,
"BF": 19,
"Pitches": 90,
"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 7",
"detail": "Actual minus predicted hits was +7."
},
{
"code": "WALK_COMPONENT_MISS",
"severity": "warning",
"title": "Walk component missed",
"detail": "Actual minus predicted walks was -3."
},
{
"code": "HOMER_COMPONENT_MISS",
"severity": "warning",
"title": "Home-run component missed",
"detail": "Actual minus predicted home runs was +2."
}
],
"provenance": {
"prediction": "output/games/20260916_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"
}
} |
| 20260916 | 20260916_MIA@ARI | home | Merrill Kelly | Merrill Kelly | True | 5.1 | 4.2 | -2 | 3 | 3 | 0 | 5/7 | 1/2 | 6/9 | Last 10 before this game (10 available){
"model_context": {
"embedded_season": {
"ERA": 4.973684210526316,
"WHIP": 1.4605263157894737,
"IP": 152.0,
"games_started": null,
"games_pitched": 27,
"role_avg_IP": 5.63,
"recent_avg_IP": 5.4,
"last_start_IP": 4.1,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": -0.9748,
"sample_weight": 1.0,
"run_prevention_factor": 1.0829,
"strikeout_factor": 0.9423,
"walk_factor": 1.02,
"homer_factor": 1.1616,
"regression_flag": "negative_pitcher_regression",
"k_percent": 15.5,
"bb_percent": 10.2,
"woba": 0.352,
"xwoba": 0.384,
"barrel_percent": 11.5,
"hard_hit_percent": 42.0,
"whiff_percent": 21.4
},
"espn_rank": {
"rank": 308,
"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": 27.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8438,
"prior_weight": 0.1562
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "518876",
"report_date": "20260916",
"season_year": 2026,
"rows_used": 27,
"reference_playing_time": 5.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 27.0,
"ER": 13.0,
"R": 13.0,
"H": 23.0,
"BB": 14.0,
"SO": 20.0,
"HR": 2.0,
"BF": 118.0,
"Pitches": 459.0
},
"per_game": {
"IP": 5.1,
"ER": 2.6,
"R": 2.6,
"H": 4.6,
"BB": 2.8,
"SO": 4.0,
"HR": 0.4,
"BF": 23.6,
"Pitches": 91.8
},
"rates": {
"ERA": 4.3333,
"WHIP": 1.3704,
"ER_per_IP": 0.48148,
"H_per_IP": 0.85185,
"BB_per_IP": 0.51852,
"SO_per_IP": 0.74074,
"HR_per_IP": 0.07407
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 53.1,
"ER": 27.0,
"R": 28.0,
"H": 48.0,
"BB": 27.0,
"SO": 40.0,
"HR": 6.0,
"BF": 228.0,
"Pitches": 886.0
},
"per_game": {
"IP": 5.1,
"ER": 2.7,
"R": 2.8,
"H": 4.8,
"BB": 2.7,
"SO": 4.0,
"HR": 0.6,
"BF": 22.8,
"Pitches": 88.6
},
"rates": {
"ERA": 4.5562,
"WHIP": 1.4062,
"ER_per_IP": 0.50625,
"H_per_IP": 0.9,
"BB_per_IP": 0.50625,
"SO_per_IP": 0.75,
"HR_per_IP": 0.1125
}
},
"season": {
"games": 27,
"totals": {
"IP": 152.0,
"ER": 84.0,
"R": 87.0,
"H": 155.0,
"BB": 67.0,
"SO": 102.0,
"HR": 27.0,
"BF": 660.0,
"Pitches": 2452.0
},
"per_game": {
"IP": 5.2,
"ER": 3.1111,
"R": 3.2222,
"H": 5.7407,
"BB": 2.4815,
"SO": 3.7778,
"HR": 1.0,
"BF": 24.4444,
"Pitches": 90.8148
},
"rates": {
"ERA": 4.9737,
"WHIP": 1.4605,
"ER_per_IP": 0.55263,
"H_per_IP": 1.01974,
"BB_per_IP": 0.44079,
"SO_per_IP": 0.67105,
"HR_per_IP": 0.17763
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.1,
"predicted_ER": 2.718,
"predicted_H": 4.923,
"predicted_BB": 2.581,
"predicted_SO": 4.11,
"predicted_HR": 0.616,
"predicted_ERA": 4.539,
"predicted_WHIP": 1.3925
}
},
"model_form_blend_trace": {
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.416,
"form_weight": 0.584,
"form_reliability": 0.8438,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 27.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8438,
"prior_weight": 0.1562
},
"applied_metrics": {
"predicted_IP": {
"model": 5.1,
"form": 5.1,
"final": 5.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 2.718,
"final": 3.2513,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 4.923,
"final": 4.955,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 2.581,
"final": 1.9233,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 6.0,
"form": 4.11,
"final": 4.8962,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 2.0,
"form": 0.616,
"final": 1.1917,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.539,
"final": 4.539,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3925,
"final": 1.3925,
"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": 27,
"H": 48,
"BB": 27,
"SO": 40,
"HR": 6,
"ERA": 4.5562499999999995,
"WHIP": 1.40625,
"K9": 6.75,
"HR9": 1.0125,
"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-11T00:00:00"
},
"recent_form_boost": 1.0167230825315572,
"stat_evolution": [
{
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_IP": 5.333333333333333,
"predicted_ER": 4.0,
"predicted_H": 5.0,
"predicted_BB": 1.0,
"predicted_SO": 6.0,
"predicted_HR": 2.0
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 27.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8438,
"prior_weight": 0.1562
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "518876",
"player_name": "Merrill Kelly",
"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": 1.0,
"predicted_ER": 4.0,
"predicted_H": 5.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": 4.0,
"predicted_H": 5.0,
"predicted_HR": 2.0,
"predicted_IP": 5.1,
"predicted_R": 4.0,
"predicted_SO": 6.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": 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": 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": 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.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": 4.0,
"after": 4.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": 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": 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.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": "ARI",
"games": 152,
"wins": 80,
"losses": 72,
"win_pct": 0.5263,
"runs_scored": 675.0,
"runs_allowed": 674.0,
"run_differential": 1.0,
"run_differential_per_game": 0.0066,
"avg_runs_scored": 4.4408,
"avg_runs_allowed": 4.4342,
"offense_index": 0.9872,
"defense_index": 1.0145,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.6,
"avg_runs_allowed": 4.2,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.0582
},
"opponent": {
"team": "MIA",
"games": 152,
"wins": 75,
"losses": 77,
"win_pct": 0.4934,
"runs_scored": 677.0,
"runs_allowed": 670.0,
"run_differential": 7.0,
"run_differential_per_game": 0.0461,
"avg_runs_scored": 4.4539,
"avg_runs_allowed": 4.4079,
"offense_index": 0.9901,
"defense_index": 1.0206,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 6.1,
"avg_runs_allowed": 6.3,
"run_differential": -2.0
},
"available": true,
"quality_score": -0.035
},
"edges": {
"quality_edge": 0.0932,
"offense_edge": -0.0128,
"opponent_offense_edge": -0.0099,
"defense_strength": 0.0145,
"opponent_defense_weakness": -0.0206,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0046,
"run_prevention": 0.9923,
"strikeout": 1.0036
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "518876",
"profile": {
"available": true,
"pitcher_id": "518876",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 611.0,
"k_percent": 15.5,
"bb_percent": 10.2,
"woba": 0.352,
"xwoba": 0.384,
"sweet_spot_percent": 37.9,
"barrel_batted_rate": 11.5,
"hard_hit_percent": 42.0,
"avg_best_speed": 78.9219,
"avg_hyper_speed": 94.6956,
"whiff_percent": 21.4,
"swing_percent": 48.9
},
"league_medians": {
"pa": 132.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6025,
"avg_hyper_speed": 93.9171,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": -1.2719,
"command_and_miss": -0.6479,
"regression_edge": -0.9143,
"xwoba_edge": -2.0571,
"barrel_edge": -0.9556,
"hard_hit_edge": -0.5857,
"whiff_edge": -0.5143,
"bb_edge": -0.25,
"pitch_design_score": -0.0334
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "518876",
"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": 89.25174635296194,
"release_spin_rate": 2318.4019078070933,
"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": 89.25174635296194,
"release_spin_rate": 2318.4019078070933,
"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.2517,
"release_spin_rate": 2318.4019,
"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.0334,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.2388,
"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.9748,
"sample_weight": 1.0,
"run_prevention_factor": 1.0829,
"strikeout_factor": 0.9423,
"walk_factor": 1.02,
"homer_factor": 1.1616,
"woba_minus_xwoba": -0.032,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "518876",
"espn_id": 32968,
"player_name": "Merrill Kelly",
"team": "ARI",
"role": "pitcher",
"espn_rank": 308,
"espn_total_ranked": 862,
"metrics": {
"espn_rank": 308,
"gp_value": 27.0,
"gp_rank": 303,
"gs_value": 27.0,
"gs_rank": 53,
"qs_value": 9.0,
"qs_rank": 66,
"era_value": 4.9736,
"era_rank": 47.0,
"w_value": 9.0,
"w_rank": 45,
"l_value": 13.0,
"l_rank": 7,
"sv_value": 0.0,
"sv_rank": 253,
"hld_value": 0.0,
"hld_rank": 357,
"ip_value": 152.0,
"ip_rank": 47,
"h_value": 155.0,
"h_rank": 19,
"er_value": 84.0,
"er_rank": 10,
"hr_value": 27.0,
"hr_rank": 9,
"bb_value": 67.0,
"bb_rank": 10,
"k_value": 102.0,
"k_rank": 103,
"k_per_9_value": 6.0394735,
"k_per_9_rank": 59,
"whip_value": 1.4605,
"whip_rank": 47.0,
"war_value": 0.29,
"war_rank": 46.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0829,
"adjusted": 3
},
"predicted_H": {
"original": 5.0,
"factor": 1.0829,
"adjusted": 5
},
"predicted_BB": {
"original": 3.0,
"factor": 1.02,
"adjusted": 3
},
"predicted_HR": {
"original": 1.0,
"factor": 1.1616,
"adjusted": 1
},
"predicted_SO": {
"original": 4.0,
"factor": 0.9423,
"adjusted": 4
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 5.1,
"predicted_H": 5,
"predicted_R": 4,
"predicted_ER": 4,
"predicted_BB": 1,
"predicted_SO": 6,
"predicted_HR": 2,
"box_score_synced": true,
"BF": 23,
"Pitches": 98,
"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/20260916_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"
}
} |
| 20260916 | 20260916_MIL@PIT | away | Logan Henderson | Logan Henderson | True | 6.0 | 5.0 | -3 | 1 | 3 | 2 | 4/6 | 1/1 | 6/8 | Last 10 before this game (10 available){
"model_context": {
"embedded_season": {
"ERA": 2.3433962264150945,
"WHIP": 0.7811320754716982,
"IP": 88.1,
"games_started": null,
"games_pitched": 16,
"role_avg_IP": 5.521,
"recent_avg_IP": 6.4,
"last_start_IP": 5.0,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": 0.7463,
"sample_weight": 1.0,
"run_prevention_factor": 0.9366,
"strikeout_factor": 1.0577,
"walk_factor": 0.908,
"homer_factor": 0.9663,
"regression_flag": "neutral",
"k_percent": 30.2,
"bb_percent": 4.6,
"woba": 0.237,
"xwoba": 0.251,
"barrel_percent": 8.5,
"hard_hit_percent": 37.1,
"whiff_percent": 26.9
},
"espn_rank": {
"rank": 29,
"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": 16.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7619,
"prior_weight": 0.2381
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "701656",
"report_date": "20260916",
"season_year": 2026,
"rows_used": 16,
"reference_playing_time": 6.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 32.0,
"ER": 5.0,
"R": 6.0,
"H": 14.0,
"BB": 4.0,
"SO": 30.0,
"HR": 3.0,
"BF": 112.0,
"Pitches": 481.0
},
"per_game": {
"IP": 6.1,
"ER": 1.0,
"R": 1.2,
"H": 2.8,
"BB": 0.8,
"SO": 6.0,
"HR": 0.6,
"BF": 22.4,
"Pitches": 96.2
},
"rates": {
"ERA": 1.4062,
"WHIP": 0.5625,
"ER_per_IP": 0.15625,
"H_per_IP": 0.4375,
"BB_per_IP": 0.125,
"SO_per_IP": 0.9375,
"HR_per_IP": 0.09375
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 60.0,
"ER": 13.0,
"R": 14.0,
"H": 33.0,
"BB": 8.0,
"SO": 65.0,
"HR": 10.0,
"BF": 217.0,
"Pitches": 901.0
},
"per_game": {
"IP": 6.0,
"ER": 1.3,
"R": 1.4,
"H": 3.3,
"BB": 0.8,
"SO": 6.5,
"HR": 1.0,
"BF": 21.7,
"Pitches": 90.1
},
"rates": {
"ERA": 1.95,
"WHIP": 0.6833,
"ER_per_IP": 0.21667,
"H_per_IP": 0.55,
"BB_per_IP": 0.13333,
"SO_per_IP": 1.08333,
"HR_per_IP": 0.16667
}
},
"season": {
"games": 16,
"totals": {
"IP": 88.1,
"ER": 23.0,
"R": 24.0,
"H": 54.0,
"BB": 15.0,
"SO": 99.0,
"HR": 12.0,
"BF": 328.0,
"Pitches": 1331.0
},
"per_game": {
"IP": 5.2,
"ER": 1.4375,
"R": 1.5,
"H": 3.375,
"BB": 0.9375,
"SO": 6.1875,
"HR": 0.75,
"BF": 20.5,
"Pitches": 83.1875
},
"rates": {
"ERA": 2.3434,
"WHIP": 0.7811,
"ER_per_IP": 0.26038,
"H_per_IP": 0.61132,
"BB_per_IP": 0.16981,
"SO_per_IP": 1.12075,
"HR_per_IP": 0.13585
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 6.0,
"predicted_ER": 1.643,
"predicted_H": 3.77,
"predicted_BB": 1.17,
"predicted_SO": 6.091,
"predicted_HR": 0.802,
"predicted_ERA": 2.4394,
"predicted_WHIP": 0.8147
}
},
"model_form_blend_trace": {
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4506,
"form_weight": 0.5494,
"form_reliability": 0.7619,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 16.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7619,
"prior_weight": 0.2381
},
"applied_metrics": {
"predicted_IP": {
"model": 6.0,
"form": 6.0,
"final": 6.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 1.643,
"final": 1.3533,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 3.77,
"final": 3.8736,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.17,
"final": 1.0934,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 6.091,
"final": 5.5994,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.802,
"final": 0.4406,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.4394,
"final": 2.4394,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.8147,
"final": 0.8147,
"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": 60.0,
"ER": 13,
"H": 33,
"BB": 8,
"SO": 65,
"HR": 10,
"ERA": 1.95,
"WHIP": 0.6833333333333333,
"K9": 9.75,
"HR9": 1.5,
"games_pitched": 10,
"quality_starts": 6,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 2,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-09-09T00:00:00"
},
"recent_form_boost": 0.7054470408648905,
"stat_evolution": [
{
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_IP": 6.0,
"predicted_ER": 1.0,
"predicted_H": 4.0,
"predicted_BB": 1.0,
"predicted_SO": 5.0,
"predicted_HR": 0.0
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 16.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7619,
"prior_weight": 0.2381
}
},
{
"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": 1,
"predicted_H": 4,
"predicted_BB": 1,
"predicted_SO": 6,
"predicted_HR": 0
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "701656",
"player_name": "Logan Henderson",
"position": "Starter",
"team": "MIL",
"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": 1.0,
"predicted_H": 4.0,
"predicted_HR": 0.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": "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": 1.0,
"predicted_H": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 6.0,
"predicted_SO": 6.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": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 6.0,
"delta": 1.0,
"percent_delta": 0.2,
"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": 5.0,
"after": 6.0,
"delta": 1.0,
"percent_delta": 0.2,
"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": 1.0,
"predicted_ER": 1.0,
"predicted_H": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 6.0,
"predicted_R": 1.0,
"predicted_SO": 6.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": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1.0,
"after": 1.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 6.0,
"delta": 1.0,
"percent_delta": 0.2,
"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": 5.0,
"after": 6.0,
"delta": 1.0,
"percent_delta": 0.2,
"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": "MIL",
"games": 151,
"wins": 94,
"losses": 57,
"win_pct": 0.6225,
"runs_scored": 783.0,
"runs_allowed": 584.0,
"run_differential": 199.0,
"run_differential_per_game": 1.3179,
"avg_runs_scored": 5.1854,
"avg_runs_allowed": 3.8675,
"offense_index": 1.1538,
"defense_index": 1.162,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 7.8,
"avg_runs_allowed": 5.0,
"run_differential": 28.0
},
"available": true,
"quality_score": 0.3354
},
"opponent": {
"team": "PIT",
"games": 151,
"wins": 75,
"losses": 76,
"win_pct": 0.4967,
"runs_scored": 719.0,
"runs_allowed": 697.0,
"run_differential": 22.0,
"run_differential_per_game": 0.1457,
"avg_runs_scored": 4.7616,
"avg_runs_allowed": 4.6159,
"offense_index": 1.0595,
"defense_index": 0.9736,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 2.8,
"avg_runs_allowed": 3.5,
"run_differential": -7.0
},
"available": true,
"quality_score": 0.05
},
"edges": {
"quality_edge": 0.2854,
"offense_edge": 0.1538,
"opponent_offense_edge": 0.0595,
"defense_strength": 0.162,
"opponent_defense_weakness": 0.0264,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0139,
"run_prevention": 0.979,
"strikeout": 1.0038
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "701656",
"profile": {
"available": true,
"pitcher_id": "701656",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 309.0,
"k_percent": 30.2,
"bb_percent": 4.6,
"woba": 0.237,
"xwoba": 0.251,
"sweet_spot_percent": 33.8,
"barrel_batted_rate": 8.5,
"hard_hit_percent": 37.1,
"avg_best_speed": 76.982,
"avg_hyper_speed": 93.8123,
"whiff_percent": 26.9,
"swing_percent": 53.1
},
"league_medians": {
"pa": 132.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6025,
"avg_hyper_speed": 93.9171,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": 1.0209,
"command_and_miss": 0.8521,
"regression_edge": -0.4,
"xwoba_edge": 1.7429,
"barrel_edge": -0.2889,
"hard_hit_edge": 0.1143,
"whiff_edge": 0.2714,
"bb_edge": 1.15,
"pitch_design_score": -0.0875
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "701656",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 95,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 95,
"pitch_usage": 0.0,
"release_speed": 88.28694847372871,
"release_spin_rate": 2417.384349324889,
"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": 95,
"pitch_usage": 0.0,
"release_speed": 88.28694847372871,
"release_spin_rate": 2417.384349324889,
"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.2869,
"release_spin_rate": 2417.3843,
"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.0875,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.6248,
"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.7463,
"sample_weight": 1.0,
"run_prevention_factor": 0.9366,
"strikeout_factor": 1.0577,
"walk_factor": 0.908,
"homer_factor": 0.9663,
"woba_minus_xwoba": -0.014,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "701656",
"espn_id": 4917878,
"player_name": "Logan Henderson",
"team": "MIL",
"role": "pitcher",
"espn_rank": 29,
"espn_total_ranked": 862,
"metrics": {
"espn_rank": 29,
"gp_value": 16.0,
"gp_rank": 450,
"gs_value": 16.0,
"gs_rank": 134,
"qs_value": 7.0,
"qs_rank": 84,
"era_value": 2.3433,
"era_rank": null,
"w_value": 10.0,
"w_rank": 32,
"l_value": 3.0,
"l_rank": 249,
"sv_value": 0.0,
"sv_rank": 253,
"hld_value": 0.0,
"hld_rank": 357,
"ip_value": 88.1,
"ip_rank": 150,
"h_value": 54.0,
"h_rank": 232,
"er_value": 23.0,
"er_rank": 282,
"hr_value": 12.0,
"hr_rank": 139,
"bb_value": 15.0,
"bb_rank": 393,
"k_value": 99.0,
"k_rank": 114,
"k_per_9_value": 10.086793,
"k_per_9_rank": 20,
"whip_value": 0.7811,
"whip_rank": null,
"war_value": 3.15,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9366,
"adjusted": 1
},
"predicted_H": {
"original": 3.0,
"factor": 0.9366,
"adjusted": 3
},
"predicted_BB": {
"original": 1.0,
"factor": 0.908,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 0.9663,
"adjusted": 1
},
"predicted_SO": {
"original": 6.0,
"factor": 1.0577,
"adjusted": 6
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 6.0,
"predicted_H": 4,
"predicted_R": 1,
"predicted_ER": 1,
"predicted_BB": 1,
"predicted_SO": 6,
"predicted_HR": 0,
"box_score_synced": true,
"BF": 23,
"Pitches": 94,
"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 +2."
},
{
"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/20260916_MIL@PIT.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"
}
} |
| 20260916 | 20260916_MIL@PIT | home | Jared Jones | Jared Jones | True | 5.0 | 5.0 | 0 | 5 | 3 | -2 | 6/7 | 2/1 | 1/9 | Last 10 before this game (10 available){
"model_context": {
"embedded_season": {
"ERA": 4.097276264591439,
"WHIP": 1.1673151750972761,
"IP": 85.2,
"games_started": null,
"games_pitched": 18,
"role_avg_IP": 4.759,
"recent_avg_IP": 5.333,
"last_start_IP": 7.0,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": 0.4209,
"sample_weight": 1.0,
"run_prevention_factor": 0.9642,
"strikeout_factor": 1.0777,
"walk_factor": 0.984,
"homer_factor": 0.9974,
"regression_flag": "neutral",
"k_percent": 28.0,
"bb_percent": 8.4,
"woba": 0.299,
"xwoba": 0.287,
"barrel_percent": 8.0,
"hard_hit_percent": 38.7,
"whiff_percent": 32.6
},
"espn_rank": {
"rank": 113,
"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": "683003",
"report_date": "20260916",
"season_year": 2026,
"rows_used": 18,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 26.2,
"ER": 6.0,
"R": 6.0,
"H": 18.0,
"BB": 11.0,
"SO": 35.0,
"HR": 2.0,
"BF": 108.0,
"Pitches": 439.0
},
"per_game": {
"IP": 5.1,
"ER": 1.2,
"R": 1.2,
"H": 3.6,
"BB": 2.2,
"SO": 7.0,
"HR": 0.4,
"BF": 21.6,
"Pitches": 87.8
},
"rates": {
"ERA": 2.025,
"WHIP": 1.0875,
"ER_per_IP": 0.225,
"H_per_IP": 0.675,
"BB_per_IP": 0.4125,
"SO_per_IP": 1.3125,
"HR_per_IP": 0.075
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 50.2,
"ER": 22.0,
"R": 22.0,
"H": 41.0,
"BB": 19.0,
"SO": 61.0,
"HR": 7.0,
"BF": 213.0,
"Pitches": 825.0
},
"per_game": {
"IP": 5.0,
"ER": 2.2,
"R": 2.2,
"H": 4.1,
"BB": 1.9,
"SO": 6.1,
"HR": 0.7,
"BF": 21.3,
"Pitches": 82.5
},
"rates": {
"ERA": 3.9079,
"WHIP": 1.1842,
"ER_per_IP": 0.43421,
"H_per_IP": 0.80921,
"BB_per_IP": 0.375,
"SO_per_IP": 1.20395,
"HR_per_IP": 0.13816
}
},
"season": {
"games": 18,
"totals": {
"IP": 85.2,
"ER": 39.0,
"R": 40.0,
"H": 70.0,
"BB": 30.0,
"SO": 100.0,
"HR": 12.0,
"BF": 357.0,
"Pitches": 1402.0
},
"per_game": {
"IP": 4.2,
"ER": 2.1667,
"R": 2.2222,
"H": 3.8889,
"BB": 1.6667,
"SO": 5.5556,
"HR": 0.6667,
"BF": 19.8333,
"Pitches": 77.8889
},
"rates": {
"ERA": 4.0973,
"WHIP": 1.1673,
"ER_per_IP": 0.45525,
"H_per_IP": 0.81712,
"BB_per_IP": 0.35019,
"SO_per_IP": 1.16732,
"HR_per_IP": 0.14008
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.0,
"predicted_ER": 1.92,
"predicted_H": 4.047,
"predicted_BB": 1.944,
"predicted_SO": 5.97,
"predicted_HR": 0.598,
"predicted_ERA": 3.4111,
"predicted_WHIP": 1.1828
}
},
"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": 5.0,
"form": 5.0,
"final": 5.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 5.0,
"form": 1.92,
"final": 3.2809,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 4.047,
"final": 4.9099,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.944,
"final": 1.9687,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 5.97,
"final": 3.774,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 2.0,
"form": 0.598,
"final": 1.2175,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.4111,
"final": 3.4111,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1828,
"final": 1.1828,
"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": 50.2,
"ER": 22,
"H": 41,
"BB": 19,
"SO": 61,
"HR": 7,
"ERA": 3.907894736842105,
"WHIP": 1.1842105263157894,
"K9": 10.835526315789473,
"HR9": 1.2434210526315788,
"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-10T00:00:00"
},
"recent_form_boost": 0.9382321285841887,
"stat_evolution": [
{
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_IP": 5.0,
"predicted_ER": 5.0,
"predicted_H": 6.0,
"predicted_BB": 2.0,
"predicted_SO": 1.0,
"predicted_HR": 2.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
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "683003",
"player_name": "Jared Jones",
"position": "Starter",
"team": "PIT",
"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": 5.0,
"predicted_H": 6.0,
"predicted_HR": 2.0,
"predicted_IP": 5.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"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": 5.0,
"predicted_H": 6.0,
"predicted_HR": 2.0,
"predicted_IP": 5.0,
"predicted_R": 5.0,
"predicted_SO": 1.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": 5.0,
"after": 5.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.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.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": 5.0,
"after": 5.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.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.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": "PIT",
"games": 151,
"wins": 75,
"losses": 76,
"win_pct": 0.4967,
"runs_scored": 719.0,
"runs_allowed": 697.0,
"run_differential": 22.0,
"run_differential_per_game": 0.1457,
"avg_runs_scored": 4.7616,
"avg_runs_allowed": 4.6159,
"offense_index": 1.0595,
"defense_index": 0.9736,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 2.8,
"avg_runs_allowed": 3.5,
"run_differential": -7.0
},
"available": true,
"quality_score": 0.05
},
"opponent": {
"team": "MIL",
"games": 151,
"wins": 94,
"losses": 57,
"win_pct": 0.6225,
"runs_scored": 783.0,
"runs_allowed": 584.0,
"run_differential": 199.0,
"run_differential_per_game": 1.3179,
"avg_runs_scored": 5.1854,
"avg_runs_allowed": 3.8675,
"offense_index": 1.1538,
"defense_index": 1.162,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 7.8,
"avg_runs_allowed": 5.0,
"run_differential": 28.0
},
"available": true,
"quality_score": 0.3354
},
"edges": {
"quality_edge": -0.2854,
"offense_edge": 0.0595,
"opponent_offense_edge": 0.1538,
"defense_strength": -0.0264,
"opponent_defense_weakness": -0.162,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9816,
"run_prevention": 1.0415,
"strikeout": 0.9791
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "683003",
"profile": {
"available": true,
"pitcher_id": "683003",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 332.0,
"k_percent": 28.0,
"bb_percent": 8.4,
"woba": 0.299,
"xwoba": 0.287,
"sweet_spot_percent": 33.8,
"barrel_batted_rate": 8.0,
"hard_hit_percent": 38.7,
"avg_best_speed": 78.8857,
"avg_hyper_speed": 94.1867,
"whiff_percent": 32.6,
"swing_percent": 48.6
},
"league_medians": {
"pa": 132.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6025,
"avg_hyper_speed": 93.9171,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.2853,
"command_and_miss": 0.8057,
"regression_edge": 0.3429,
"xwoba_edge": 0.7143,
"barrel_edge": -0.1778,
"hard_hit_edge": -0.1143,
"whiff_edge": 1.0857,
"bb_edge": 0.2,
"pitch_design_score": 0.2164
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "683003",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 83,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 83,
"pitch_usage": 0.0,
"release_speed": 93.71251478216777,
"release_spin_rate": 2515.6100719859387,
"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": 83,
"pitch_usage": 0.0,
"release_speed": 93.71251478216777,
"release_spin_rate": 2515.6100719859387,
"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": 93.7125,
"release_spin_rate": 2515.6101,
"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.2164,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.5455,
"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.4209,
"sample_weight": 1.0,
"run_prevention_factor": 0.9642,
"strikeout_factor": 1.0777,
"walk_factor": 0.984,
"homer_factor": 0.9974,
"woba_minus_xwoba": 0.012,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683003",
"espn_id": 4918156,
"player_name": "Jared Jones",
"team": "PIT",
"role": "pitcher",
"espn_rank": 113,
"espn_total_ranked": 862,
"metrics": {
"espn_rank": 113,
"gp_value": 18.0,
"gp_rank": 425,
"gs_value": 18.0,
"gs_rank": 119,
"qs_value": 5.0,
"qs_rank": 112,
"era_value": 4.0972,
"era_rank": null,
"w_value": 4.0,
"w_rank": 199,
"l_value": 6.0,
"l_rank": 115,
"sv_value": 0.0,
"sv_rank": 253,
"hld_value": 0.0,
"hld_rank": 357,
"ip_value": 85.2,
"ip_rank": 155,
"h_value": 70.0,
"h_rank": 171,
"er_value": 39.0,
"er_rank": 158,
"hr_value": 12.0,
"hr_rank": 139,
"bb_value": 30.0,
"bb_rank": 182,
"k_value": 100.0,
"k_rank": 108,
"k_per_9_value": 10.5058365,
"k_per_9_rank": 18,
"whip_value": 1.1673,
"whip_rank": null,
"war_value": 1.64,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.9642,
"adjusted": 2
},
"predicted_H": {
"original": 4.0,
"factor": 0.9642,
"adjusted": 4
},
"predicted_BB": {
"original": 2.0,
"factor": 0.984,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 0.9974,
"adjusted": 1
},
"predicted_SO": {
"original": 6.0,
"factor": 1.0777,
"adjusted": 6
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 5.0,
"predicted_H": 6,
"predicted_R": 5,
"predicted_ER": 5,
"predicted_BB": 2,
"predicted_SO": 1,
"predicted_HR": 2,
"box_score_synced": true,
"BF": 23,
"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": "HOMER_COMPONENT_MISS",
"severity": "warning",
"title": "Home-run component missed",
"detail": "Actual minus predicted home runs was -2."
}
],
"provenance": {
"prediction": "output/games/20260916_MIL@PIT.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"
}
} |
| 20260916 | 20260916_NYY@MIN | away | Carlos Rodón | Carlos Rodón | True | 5.2 | 6.0 | 1 | 3 | 2 | -1 | 5/4 | 0/3 | 5/5 | Last 10 before this game (10 available){
"model_context": {
"embedded_season": {
"ERA": 2.9431279620853084,
"WHIP": 1.123222748815166,
"IP": 70.1,
"games_started": null,
"games_pitched": 14,
"role_avg_IP": 5.024,
"recent_avg_IP": 4.8,
"last_start_IP": 6.1,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": 0.1466,
"sample_weight": 1.0,
"run_prevention_factor": 0.9875,
"strikeout_factor": 1.0509,
"walk_factor": 1.058,
"homer_factor": 0.9812,
"regression_flag": "negative_pitcher_regression",
"k_percent": 26.9,
"bb_percent": 12.1,
"woba": 0.263,
"xwoba": 0.3,
"barrel_percent": 6.4,
"hard_hit_percent": 38.9,
"whiff_percent": 29.0
},
"espn_rank": {
"rank": 132,
"total_ranked": null,
"metrics": null
},
"starter_workload_floor": {
"applied": true,
"floor_IP": 5.2,
"season_IP": 70.1,
"season_ERA": 2.943,
"season_WHIP": 1.123,
"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": 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": "607074",
"report_date": "20260916",
"season_year": 2026,
"rows_used": 14,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 24.0,
"ER": 6.0,
"R": 8.0,
"H": 12.0,
"BB": 9.0,
"SO": 26.0,
"HR": 3.0,
"BF": 96.0,
"Pitches": 412.0
},
"per_game": {
"IP": 4.2,
"ER": 1.2,
"R": 1.6,
"H": 2.4,
"BB": 1.8,
"SO": 5.2,
"HR": 0.6,
"BF": 19.2,
"Pitches": 82.4
},
"rates": {
"ERA": 2.25,
"WHIP": 0.875,
"ER_per_IP": 0.25,
"H_per_IP": 0.5,
"BB_per_IP": 0.375,
"SO_per_IP": 1.08333,
"HR_per_IP": 0.125
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 51.1,
"ER": 16.0,
"R": 20.0,
"H": 32.0,
"BB": 22.0,
"SO": 58.0,
"HR": 5.0,
"BF": 209.0,
"Pitches": 886.0
},
"per_game": {
"IP": 5.0,
"ER": 1.6,
"R": 2.0,
"H": 3.2,
"BB": 2.2,
"SO": 5.8,
"HR": 0.5,
"BF": 20.9,
"Pitches": 88.6
},
"rates": {
"ERA": 2.8052,
"WHIP": 1.0519,
"ER_per_IP": 0.31169,
"H_per_IP": 0.62338,
"BB_per_IP": 0.42857,
"SO_per_IP": 1.12987,
"HR_per_IP": 0.0974
}
},
"season": {
"games": 14,
"totals": {
"IP": 70.1,
"ER": 23.0,
"R": 28.0,
"H": 44.0,
"BB": 35.0,
"SO": 78.0,
"HR": 6.0,
"BF": 290.0,
"Pitches": 1240.0
},
"per_game": {
"IP": 5.0,
"ER": 1.6429,
"R": 2.0,
"H": 3.1429,
"BB": 2.5,
"SO": 5.5714,
"HR": 0.4286,
"BF": 20.7143,
"Pitches": 88.5714
},
"rates": {
"ERA": 2.9431,
"WHIP": 1.1232,
"ER_per_IP": 0.32701,
"H_per_IP": 0.62559,
"BB_per_IP": 0.49763,
"SO_per_IP": 1.109,
"HR_per_IP": 0.08531
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.0,
"predicted_ER": 1.743,
"predicted_H": 3.419,
"predicted_BB": 2.058,
"predicted_SO": 5.374,
"predicted_HR": 0.597,
"predicted_ERA": 3.0971,
"predicted_WHIP": 1.0813
}
},
"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.2,
"form": 5.0,
"final": 5.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 1.743,
"final": 2.7839,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 3.419,
"final": 4.1482,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 2.058,
"final": 1.1088,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 5.374,
"final": 4.2791,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.597,
"final": 0.7829,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.0971,
"final": 3.0971,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0813,
"final": 1.0813,
"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": 51.1,
"ER": 16,
"H": 32,
"BB": 22,
"SO": 58,
"HR": 5,
"ERA": 2.8051948051948052,
"WHIP": 1.051948051948052,
"K9": 10.16883116883117,
"HR9": 0.8766233766233767,
"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-11T00:00:00"
},
"recent_form_boost": 0.8108718244146741,
"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": 5.0,
"predicted_BB": 0.0,
"predicted_SO": 3.0,
"predicted_HR": 1.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": "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.2,
"predicted_ER": 3,
"predicted_H": 5,
"predicted_BB": 0,
"predicted_SO": 5,
"predicted_HR": 1
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "607074",
"player_name": "Carlos Rod\u00f3n",
"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": 0.0,
"predicted_ER": 4.0,
"predicted_H": 5.0,
"predicted_HR": 1.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": "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": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 5.2,
"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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"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.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"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": 0.0,
"predicted_ER": 3.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 5.2,
"predicted_R": 3.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": 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": 5.2,
"after": 5.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 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.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"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": "NYY",
"games": 151,
"wins": 88,
"losses": 63,
"win_pct": 0.5828,
"runs_scored": 693.0,
"runs_allowed": 556.0,
"run_differential": 137.0,
"run_differential_per_game": 0.9073,
"avg_runs_scored": 4.5894,
"avg_runs_allowed": 3.6821,
"offense_index": 1.019,
"defense_index": 1.2232,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.5,
"avg_runs_allowed": 3.2,
"run_differential": 23.0
},
"available": true,
"quality_score": 0.2862
},
"opponent": {
"team": "MIN",
"games": 151,
"wins": 70,
"losses": 81,
"win_pct": 0.4636,
"runs_scored": 687.0,
"runs_allowed": 761.0,
"run_differential": -74.0,
"run_differential_per_game": -0.4901,
"avg_runs_scored": 4.5497,
"avg_runs_allowed": 5.0397,
"offense_index": 1.0102,
"defense_index": 0.8937,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.8,
"avg_runs_allowed": 6.1,
"run_differential": -33.0
},
"available": true,
"quality_score": -0.1608
},
"edges": {
"quality_edge": 0.447,
"offense_edge": 0.019,
"opponent_offense_edge": 0.0102,
"defense_strength": 0.2232,
"opponent_defense_weakness": 0.1063,
"recent_win_pct_edge": 0.5
},
"player_factors": {
"ip": 1.0242,
"run_prevention": 0.957,
"strikeout": 1.0126
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "607074",
"profile": {
"available": true,
"pitcher_id": "607074",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 265.0,
"k_percent": 26.9,
"bb_percent": 12.1,
"woba": 0.263,
"xwoba": 0.3,
"sweet_spot_percent": 36.6,
"barrel_batted_rate": 6.4,
"hard_hit_percent": 38.9,
"avg_best_speed": 80.8066,
"avg_hyper_speed": 94.1958,
"whiff_percent": 29.0,
"swing_percent": 48.3
},
"league_medians": {
"pa": 132.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6025,
"avg_hyper_speed": 93.9171,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.2723,
"command_and_miss": 0.37,
"regression_edge": -1.0571,
"xwoba_edge": 0.3429,
"barrel_edge": 0.1778,
"hard_hit_edge": -0.1429,
"whiff_edge": 0.5714,
"bb_edge": -0.725,
"pitch_design_score": 0.045
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "607074",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 83,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 83,
"pitch_usage": 0.0,
"release_speed": 90.65198000775298,
"release_spin_rate": 2325.208546674393,
"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": 83,
"pitch_usage": 0.0,
"release_speed": 90.65198000775298,
"release_spin_rate": 2325.208546674393,
"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.652,
"release_spin_rate": 2325.2085,
"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.045,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.3213,
"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.1466,
"sample_weight": 1.0,
"run_prevention_factor": 0.9875,
"strikeout_factor": 1.0509,
"walk_factor": 1.058,
"homer_factor": 0.9812,
"woba_minus_xwoba": -0.037,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "607074",
"espn_id": 33696,
"player_name": "Carlos Rodon",
"team": "NYY",
"role": "pitcher",
"espn_rank": 132,
"espn_total_ranked": 862,
"metrics": {
"espn_rank": 132,
"gp_value": 14.0,
"gp_rank": 481,
"gs_value": 14.0,
"gs_rank": 149,
"qs_value": 4.0,
"qs_rank": 126,
"era_value": 2.9431,
"era_rank": null,
"w_value": 6.0,
"w_rank": 112,
"l_value": 3.0,
"l_rank": 249,
"sv_value": 0.0,
"sv_rank": 253,
"hld_value": 0.0,
"hld_rank": 357,
"ip_value": 70.1,
"ip_rank": 187,
"h_value": 44.0,
"h_rank": 295,
"er_value": 23.0,
"er_rank": 282,
"hr_value": 6.0,
"hr_rank": 276,
"bb_value": 35.0,
"bb_rank": 127,
"k_value": 78.0,
"k_rank": 163,
"k_per_9_value": 9.981042,
"k_per_9_rank": 23,
"whip_value": 1.1232,
"whip_rank": null,
"war_value": 1.4,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9875,
"adjusted": 1
},
"predicted_H": {
"original": 3.0,
"factor": 0.9875,
"adjusted": 3
},
"predicted_BB": {
"original": 2.0,
"factor": 1.058,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 0.9812,
"adjusted": 1
},
"predicted_SO": {
"original": 5.0,
"factor": 1.0509,
"adjusted": 5
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 5.2,
"predicted_H": 5,
"predicted_R": 3,
"predicted_ER": 3,
"predicted_BB": 0,
"predicted_SO": 5,
"predicted_HR": 1,
"box_score_synced": true,
"BF": 22,
"Pitches": 86,
"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."
},
{
"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/20260916_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"
}
} |
| 20260916 | 20260916_NYY@MIN | home | Zebby Matthews | Zebby Matthews | True | 5.2 | 6.0 | 1 | 3 | 0 | -3 | 8/2 | 0/2 | 4/8 | Last 10 before this game (10 available){
"model_context": {
"embedded_season": {
"ERA": 4.977653631284916,
"WHIP": 1.2737430167597765,
"IP": 119.1,
"games_started": null,
"games_pitched": 21,
"role_avg_IP": 5.683,
"recent_avg_IP": 5.667,
"last_start_IP": 2.1,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": -0.3563,
"sample_weight": 1.0,
"run_prevention_factor": 1.0303,
"strikeout_factor": 0.9697,
"walk_factor": 0.964,
"homer_factor": 1.1065,
"regression_flag": "neutral",
"k_percent": 19.8,
"bb_percent": 7.4,
"woba": 0.332,
"xwoba": 0.33,
"barrel_percent": 11.1,
"hard_hit_percent": 41.7,
"whiff_percent": 21.9
},
"espn_rank": {
"rank": 219,
"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": 21.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8077,
"prior_weight": 0.1923
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "805673",
"report_date": "20260916",
"season_year": 2026,
"rows_used": 21,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 28.1,
"ER": 12.0,
"R": 12.0,
"H": 22.0,
"BB": 7.0,
"SO": 22.0,
"HR": 5.0,
"BF": 113.0,
"Pitches": 440.0
},
"per_game": {
"IP": 5.2,
"ER": 2.4,
"R": 2.4,
"H": 4.4,
"BB": 1.4,
"SO": 4.4,
"HR": 1.0,
"BF": 22.6,
"Pitches": 88.0
},
"rates": {
"ERA": 3.8118,
"WHIP": 1.0235,
"ER_per_IP": 0.42353,
"H_per_IP": 0.77647,
"BB_per_IP": 0.24706,
"SO_per_IP": 0.77647,
"HR_per_IP": 0.17647
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 52.1,
"ER": 32.0,
"R": 37.0,
"H": 51.0,
"BB": 19.0,
"SO": 45.0,
"HR": 9.0,
"BF": 225.0,
"Pitches": 897.0
},
"per_game": {
"IP": 5.1,
"ER": 3.2,
"R": 3.7,
"H": 5.1,
"BB": 1.9,
"SO": 4.5,
"HR": 0.9,
"BF": 22.5,
"Pitches": 89.7
},
"rates": {
"ERA": 5.5032,
"WHIP": 1.3376,
"ER_per_IP": 0.61146,
"H_per_IP": 0.97452,
"BB_per_IP": 0.36306,
"SO_per_IP": 0.85987,
"HR_per_IP": 0.17197
}
},
"season": {
"games": 21,
"totals": {
"IP": 119.1,
"ER": 66.0,
"R": 71.0,
"H": 115.0,
"BB": 37.0,
"SO": 99.0,
"HR": 23.0,
"BF": 500.0,
"Pitches": 1920.0
},
"per_game": {
"IP": 5.2,
"ER": 3.1429,
"R": 3.381,
"H": 5.4762,
"BB": 1.7619,
"SO": 4.7143,
"HR": 1.0952,
"BF": 23.8095,
"Pitches": 91.4286
},
"rates": {
"ERA": 4.9777,
"WHIP": 1.2737,
"ER_per_IP": 0.55307,
"H_per_IP": 0.96369,
"BB_per_IP": 0.31006,
"SO_per_IP": 0.82961,
"HR_per_IP": 0.19274
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.2,
"predicted_ER": 2.859,
"predicted_H": 5.019,
"predicted_BB": 1.751,
"predicted_SO": 4.679,
"predicted_HR": 0.959,
"predicted_ERA": 4.6177,
"predicted_WHIP": 1.2149
}
},
"model_form_blend_trace": {
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4312,
"form_weight": 0.5688,
"form_reliability": 0.8077,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 21.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8077,
"prior_weight": 0.1923
},
"applied_metrics": {
"predicted_IP": {
"model": 5.2,
"form": 5.2,
"final": 5.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 2.859,
"final": 3.3511,
"source": "model_form_blend"
},
"predicted_H": {
"model": 8.0,
"form": 5.019,
"final": 6.3045,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 1.751,
"final": 0.9959,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 4.679,
"final": 4.3862,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 2.0,
"form": 0.959,
"final": 1.4079,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.6177,
"final": 4.6177,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2149,
"final": 1.2149,
"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": 52.1,
"ER": 32,
"H": 51,
"BB": 19,
"SO": 45,
"HR": 9,
"ERA": 5.503184713375796,
"WHIP": 1.3375796178343948,
"K9": 7.738853503184713,
"HR9": 1.5477707006369426,
"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": 1.1215364782321942,
"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": 8.0,
"predicted_BB": 0.0,
"predicted_SO": 4.0,
"predicted_HR": 2.0
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 21.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8077,
"prior_weight": 0.1923
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "805673",
"player_name": "Zebby Matthews",
"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": 0.0,
"predicted_ER": 4.0,
"predicted_H": 8.0,
"predicted_HR": 2.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": 0.0,
"predicted_ER": 4.0,
"predicted_H": 8.0,
"predicted_HR": 2.0,
"predicted_IP": 5.2,
"predicted_R": 4.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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 8.0,
"after": 8.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.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": 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.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 8.0,
"after": 8.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.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": 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.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"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": 151,
"wins": 70,
"losses": 81,
"win_pct": 0.4636,
"runs_scored": 687.0,
"runs_allowed": 761.0,
"run_differential": -74.0,
"run_differential_per_game": -0.4901,
"avg_runs_scored": 4.5497,
"avg_runs_allowed": 5.0397,
"offense_index": 1.0102,
"defense_index": 0.8937,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 3,
"losses": 7,
"win_pct": 0.3,
"avg_runs_scored": 2.8,
"avg_runs_allowed": 6.1,
"run_differential": -33.0
},
"available": true,
"quality_score": -0.1608
},
"opponent": {
"team": "NYY",
"games": 151,
"wins": 88,
"losses": 63,
"win_pct": 0.5828,
"runs_scored": 693.0,
"runs_allowed": 556.0,
"run_differential": 137.0,
"run_differential_per_game": 0.9073,
"avg_runs_scored": 4.5894,
"avg_runs_allowed": 3.6821,
"offense_index": 1.019,
"defense_index": 1.2232,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.5,
"avg_runs_allowed": 3.2,
"run_differential": 23.0
},
"available": true,
"quality_score": 0.2862
},
"edges": {
"quality_edge": -0.447,
"offense_edge": 0.0102,
"opponent_offense_edge": 0.019,
"defense_strength": -0.1063,
"opponent_defense_weakness": -0.2232,
"recent_win_pct_edge": -0.5
},
"player_factors": {
"ip": 0.9782,
"run_prevention": 1.036,
"strikeout": 0.9851
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "805673",
"profile": {
"available": true,
"pitcher_id": "805673",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 486.0,
"k_percent": 19.8,
"bb_percent": 7.4,
"woba": 0.332,
"xwoba": 0.33,
"sweet_spot_percent": 34.4,
"barrel_batted_rate": 11.1,
"hard_hit_percent": 41.7,
"avg_best_speed": 80.7963,
"avg_hyper_speed": 94.7164,
"whiff_percent": 21.9,
"swing_percent": 47.3
},
"league_medians": {
"pa": 132.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6025,
"avg_hyper_speed": 93.9171,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.5519,
"command_and_miss": -0.2064,
"regression_edge": 0.0571,
"xwoba_edge": -0.5143,
"barrel_edge": -0.8667,
"hard_hit_edge": -0.5429,
"whiff_edge": -0.4429,
"bb_edge": 0.45,
"pitch_design_score": 0.0087
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "805673",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 95,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 95,
"pitch_usage": 0.0,
"release_speed": 90.00374123757365,
"release_spin_rate": 2242.4371241852723,
"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": 95,
"pitch_usage": 0.0,
"release_speed": 90.00374123757365,
"release_spin_rate": 2242.4371241852723,
"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.0037,
"release_spin_rate": 2242.4371,
"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.0087,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.062,
"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.3563,
"sample_weight": 1.0,
"run_prevention_factor": 1.0303,
"strikeout_factor": 0.9697,
"walk_factor": 0.964,
"homer_factor": 1.1065,
"woba_minus_xwoba": 0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "805673",
"espn_id": 4791597,
"player_name": "Zebby Matthews",
"team": "MIN",
"role": "pitcher",
"espn_rank": 219,
"espn_total_ranked": 862,
"metrics": {
"espn_rank": 219,
"gp_value": 21.0,
"gp_rank": 389,
"gs_value": 21.0,
"gs_rank": 97,
"qs_value": 10.0,
"qs_rank": 60,
"era_value": 4.9776,
"era_rank": null,
"w_value": 9.0,
"w_rank": 45,
"l_value": 10.0,
"l_rank": 22,
"sv_value": 0.0,
"sv_rank": 253,
"hld_value": 0.0,
"hld_rank": 357,
"ip_value": 119.1,
"ip_rank": 96,
"h_value": 115.0,
"h_rank": 95,
"er_value": 66.0,
"er_rank": 52,
"hr_value": 23.0,
"hr_rank": 22,
"bb_value": 37.0,
"bb_rank": 117,
"k_value": 99.0,
"k_rank": 114,
"k_per_9_value": 7.4664803,
"k_per_9_rank": 32,
"whip_value": 1.2737,
"whip_rank": null,
"war_value": 0.74,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0303,
"adjusted": 3
},
"predicted_H": {
"original": 5.0,
"factor": 1.0303,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 0.964,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.1065,
"adjusted": 1
},
"predicted_SO": {
"original": 5.0,
"factor": 0.9697,
"adjusted": 5
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 5.2,
"predicted_H": 8,
"predicted_R": 4,
"predicted_ER": 4,
"predicted_BB": 0,
"predicted_SO": 4,
"predicted_HR": 2,
"box_score_synced": true,
"BF": 26,
"Pitches": 98,
"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": "HIT_COMPONENT_MISS",
"severity": "warning",
"title": "Hits missed by 6",
"detail": "Actual minus predicted hits was -6."
},
{
"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."
},
{
"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/20260916_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"
}
} |
| 20260916 | 20260916_OAK@TB | away | Brady Basso | Brady Basso | True | 5.0 | 2.2 | -7 | 1 | 4 | 3 | 5/7 | 1/0 | 4/0 | Last 10 before this game (10 available){
"model_context": {
"embedded_season": {
"ERA": 3.8571428571428568,
"WHIP": 1.3928571428571428,
"IP": 37.1,
"games_started": null,
"games_pitched": 23,
"role_avg_IP": 2.4,
"recent_avg_IP": 2.4,
"last_start_IP": 4.0,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": 0.0641,
"sample_weight": 0.572,
"run_prevention_factor": 0.9946,
"strikeout_factor": 0.9729,
"walk_factor": 0.9439,
"homer_factor": 0.9628,
"regression_flag": "positive_pitcher_regression",
"k_percent": 17.3,
"bb_percent": 4.3,
"woba": 0.335,
"xwoba": 0.298,
"barrel_percent": 5.5,
"hard_hit_percent": 33.9,
"whiff_percent": 21.4
},
"espn_rank": {
"rank": 220,
"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": 7.555,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6018,
"prior_weight": 0.3982
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "669620",
"report_date": "20260916",
"season_year": 2026,
"rows_used": 23,
"reference_playing_time": 8.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 11.1,
"ER": 3.0,
"R": 4.0,
"H": 12.0,
"BB": 4.0,
"SO": 9.0,
"HR": 0.0,
"BF": 48.0,
"Pitches": 179.0
},
"per_game": {
"IP": 2.1,
"ER": 0.6,
"R": 0.8,
"H": 2.4,
"BB": 0.8,
"SO": 1.8,
"HR": 0.0,
"BF": 9.6,
"Pitches": 35.8
},
"rates": {
"ERA": 2.3824,
"WHIP": 1.4118,
"ER_per_IP": 0.26471,
"H_per_IP": 1.05882,
"BB_per_IP": 0.35294,
"SO_per_IP": 0.79412,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 20.1,
"ER": 7.0,
"R": 8.0,
"H": 23.0,
"BB": 4.0,
"SO": 14.0,
"HR": 2.0,
"BF": 86.0,
"Pitches": 313.0
},
"per_game": {
"IP": 2.0,
"ER": 0.7,
"R": 0.8,
"H": 2.3,
"BB": 0.4,
"SO": 1.4,
"HR": 0.2,
"BF": 8.6,
"Pitches": 31.3
},
"rates": {
"ERA": 3.0984,
"WHIP": 1.3279,
"ER_per_IP": 0.34426,
"H_per_IP": 1.13115,
"BB_per_IP": 0.19672,
"SO_per_IP": 0.68852,
"HR_per_IP": 0.09836
}
},
"season": {
"games": 23,
"totals": {
"IP": 37.1,
"ER": 16.0,
"R": 17.0,
"H": 45.0,
"BB": 7.0,
"SO": 28.0,
"HR": 3.0,
"BF": 162.0,
"Pitches": 573.0
},
"per_game": {
"IP": 1.2,
"ER": 0.6957,
"R": 0.7391,
"H": 1.9565,
"BB": 0.3043,
"SO": 1.2174,
"HR": 0.1304,
"BF": 7.0435,
"Pitches": 24.913
},
"rates": {
"ERA": 3.8571,
"WHIP": 1.3929,
"ER_per_IP": 0.42857,
"H_per_IP": 1.20536,
"BB_per_IP": 0.1875,
"SO_per_IP": 0.75,
"HR_per_IP": 0.08036
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 4.1,
"predicted_ER": 1.76,
"predicted_H": 4.697,
"predicted_BB": 1.367,
"predicted_SO": 3.658,
"predicted_HR": 0.395,
"predicted_ERA": 3.5685,
"predicted_WHIP": 1.3659
}
},
"model_form_blend_trace": {
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5182,
"form_weight": 0.4818,
"form_reliability": 0.6018,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.555,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6018,
"prior_weight": 0.3982
},
"applied_metrics": {
"predicted_IP": {
"model": 8.0,
"form": 4.1,
"final": 6.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 1.76,
"final": 1.3661,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 4.697,
"final": 4.854,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.367,
"final": 1.1768,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 3.658,
"final": 3.8352,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.395,
"final": 0.1903,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.5685,
"final": 3.5685,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3659,
"final": 1.3659,
"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.1,
"ER": 7,
"H": 23,
"BB": 4,
"SO": 14,
"HR": 2,
"ERA": 3.0983606557377046,
"WHIP": 1.3278688524590163,
"K9": 6.196721311475409,
"HR9": 0.8852459016393441,
"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.9000962717681436,
"stat_evolution": [
{
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_IP": 8.0,
"predicted_ER": 1.0,
"predicted_H": 5.0,
"predicted_BB": 1.0,
"predicted_SO": 4.0,
"predicted_HR": 0.0
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.555,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6018,
"prior_weight": 0.3982
}
},
{
"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": 5,
"predicted_BB": 1,
"predicted_SO": 4,
"predicted_HR": 0
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "669620",
"player_name": "Brady Basso",
"position": "Starter",
"team": "OAK",
"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": 1.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 8.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_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_SO": 4.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": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 8.0,
"after": 5.0,
"delta": -3.0,
"percent_delta": -0.375,
"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": 8.0,
"after": 5.0,
"delta": -3.0,
"percent_delta": -0.375,
"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": 1.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 5.0,
"predicted_R": 1.0,
"predicted_SO": 4.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": 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": 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": 1.0,
"after": 1.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": 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": 8.0,
"after": 5.0,
"delta": -3.0,
"percent_delta": -0.375,
"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": 8.0,
"after": 5.0,
"delta": -3.0,
"percent_delta": -0.375,
"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": "OAK",
"games": 151,
"wins": 61,
"losses": 90,
"win_pct": 0.404,
"runs_scored": 657.0,
"runs_allowed": 861.0,
"run_differential": -204.0,
"run_differential_per_game": -1.351,
"avg_runs_scored": 4.351,
"avg_runs_allowed": 5.702,
"offense_index": 0.9682,
"defense_index": 0.7882,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 5.2,
"run_differential": -13.0
},
"available": true,
"quality_score": -0.2119
},
"opponent": {
"team": "TB",
"games": 150,
"wins": 91,
"losses": 59,
"win_pct": 0.6067,
"runs_scored": 684.0,
"runs_allowed": 614.0,
"run_differential": 70.0,
"run_differential_per_game": 0.4667,
"avg_runs_scored": 4.56,
"avg_runs_allowed": 4.0933,
"offense_index": 1.0147,
"defense_index": 1.0979,
"current_streak": "W4",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.6,
"avg_runs_allowed": 3.1,
"run_differential": 25.0
},
"available": true,
"quality_score": 0.2528
},
"edges": {
"quality_edge": -0.4647,
"offense_edge": -0.0318,
"opponent_offense_edge": 0.0147,
"defense_strength": -0.2118,
"opponent_defense_weakness": -0.0979,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9745,
"run_prevention": 1.0468,
"strikeout": 0.9849
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "669620",
"profile": {
"available": true,
"pitcher_id": "669620",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 143.0,
"k_percent": 17.3,
"bb_percent": 4.3,
"woba": 0.335,
"xwoba": 0.298,
"sweet_spot_percent": 38.6,
"barrel_batted_rate": 5.5,
"hard_hit_percent": 33.9,
"avg_best_speed": 76.9846,
"avg_hyper_speed": 93.7674,
"whiff_percent": 21.4,
"swing_percent": 51.5
},
"league_medians": {
"pa": 132.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6025,
"avg_hyper_speed": 93.9171,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.1382,
"command_and_miss": -0.2371,
"regression_edge": 1.0571,
"xwoba_edge": 0.4,
"barrel_edge": 0.3778,
"hard_hit_edge": 0.5714,
"whiff_edge": -0.5143,
"bb_edge": 1.225,
"pitch_design_score": -0.1179
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669620",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 26,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 26,
"pitch_usage": 0.0,
"release_speed": 87.74306528896737,
"release_spin_rate": 2227.824795129905,
"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": 26,
"pitch_usage": 0.0,
"release_speed": 87.74306528896737,
"release_spin_rate": 2227.824795129905,
"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.7431,
"release_spin_rate": 2227.8248,
"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.1179,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.8423,
"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.0641,
"sample_weight": 0.572,
"run_prevention_factor": 0.9946,
"strikeout_factor": 0.9729,
"walk_factor": 0.9439,
"homer_factor": 0.9628,
"woba_minus_xwoba": 0.037,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "669620",
"espn_id": 4179551,
"player_name": "Brady Basso",
"team": "ATH",
"role": "pitcher",
"espn_rank": 220,
"espn_total_ranked": 862,
"metrics": {
"espn_rank": 220,
"gp_value": 23.0,
"gp_rank": 365,
"gs_value": 5.0,
"gs_rank": 223,
"qs_value": 0.0,
"qs_rank": 214,
"era_value": 3.8571,
"era_rank": null,
"w_value": 1.0,
"w_rank": 418,
"l_value": 2.0,
"l_rank": 336,
"sv_value": 0.0,
"sv_rank": 253,
"hld_value": 3.0,
"hld_rank": 211,
"ip_value": 37.1,
"ip_rank": 391,
"h_value": 45.0,
"h_rank": 287,
"er_value": 16.0,
"er_rank": 410,
"hr_value": 3.0,
"hr_rank": 456,
"bb_value": 7.0,
"bb_rank": 562,
"k_value": 28.0,
"k_rank": 439,
"k_per_9_value": 6.75,
"k_per_9_rank": 30,
"whip_value": 1.3928,
"whip_rank": null,
"war_value": 0.72,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.9969,
"adjusted": 2
},
"predicted_H": {
"original": 5.0,
"factor": 0.9969,
"adjusted": 5
},
"predicted_BB": {
"original": 1.0,
"factor": 0.9679,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9787,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 0.9845,
"adjusted": 3
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 5.0,
"predicted_H": 5,
"predicted_R": 1,
"predicted_ER": 1,
"predicted_BB": 1,
"predicted_SO": 4,
"predicted_HR": 0,
"box_score_synced": true,
"BF": 22,
"Pitches": 90,
"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 -7 outs from the projected workload."
}
],
"provenance": {
"prediction": "output/games/20260916_OAK@TB.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"
}
} |
| 20260916 | 20260916_OAK@TB | home | Nick Martinez | Nick Martinez | True | 5.2 | 5.0 | -2 | 0 | 2 | 2 | 2/5 | 0/0 | 4/3 | Last 10 before this game (10 available){
"model_context": {
"embedded_season": {
"ERA": 2.9218436873747495,
"WHIP": 1.0701402805611222,
"IP": 166.1,
"games_started": null,
"games_pitched": 28,
"role_avg_IP": 5.94,
"recent_avg_IP": 5.667,
"last_start_IP": 6.1,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": -0.0894,
"sample_weight": 1.0,
"run_prevention_factor": 1.0076,
"strikeout_factor": 0.9166,
"walk_factor": 0.888,
"homer_factor": 0.9617,
"regression_flag": "neutral",
"k_percent": 14.8,
"bb_percent": 3.6,
"woba": 0.288,
"xwoba": 0.311,
"barrel_percent": 6.7,
"hard_hit_percent": 32.9,
"whiff_percent": 17.6
},
"espn_rank": {
"rank": 19,
"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": "607259",
"report_date": "20260916",
"season_year": 2026,
"rows_used": 28,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 28.1,
"ER": 12.0,
"R": 12.0,
"H": 24.0,
"BB": 4.0,
"SO": 20.0,
"HR": 3.0,
"BF": 111.0,
"Pitches": 407.0
},
"per_game": {
"IP": 5.2,
"ER": 2.4,
"R": 2.4,
"H": 4.8,
"BB": 0.8,
"SO": 4.0,
"HR": 0.6,
"BF": 22.2,
"Pitches": 81.4
},
"rates": {
"ERA": 3.8118,
"WHIP": 0.9882,
"ER_per_IP": 0.42353,
"H_per_IP": 0.84706,
"BB_per_IP": 0.14118,
"SO_per_IP": 0.70588,
"HR_per_IP": 0.10588
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 61.0,
"ER": 23.0,
"R": 23.0,
"H": 55.0,
"BB": 5.0,
"SO": 36.0,
"HR": 8.0,
"BF": 235.0,
"Pitches": 826.0
},
"per_game": {
"IP": 6.0,
"ER": 2.3,
"R": 2.3,
"H": 5.5,
"BB": 0.5,
"SO": 3.6,
"HR": 0.8,
"BF": 23.5,
"Pitches": 82.6
},
"rates": {
"ERA": 3.3934,
"WHIP": 0.9836,
"ER_per_IP": 0.37705,
"H_per_IP": 0.90164,
"BB_per_IP": 0.08197,
"SO_per_IP": 0.59016,
"HR_per_IP": 0.13115
}
},
"season": {
"games": 28,
"totals": {
"IP": 166.1,
"ER": 54.0,
"R": 54.0,
"H": 154.0,
"BB": 24.0,
"SO": 98.0,
"HR": 19.0,
"BF": 663.0,
"Pitches": 2308.0
},
"per_game": {
"IP": 6.0,
"ER": 1.9286,
"R": 1.9286,
"H": 5.5,
"BB": 0.8571,
"SO": 3.5,
"HR": 0.6786,
"BF": 23.6786,
"Pitches": 82.4286
},
"rates": {
"ERA": 2.9218,
"WHIP": 1.0701,
"ER_per_IP": 0.32465,
"H_per_IP": 0.92585,
"BB_per_IP": 0.14429,
"SO_per_IP": 0.58918,
"HR_per_IP": 0.11423
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.2,
"predicted_ER": 2.359,
"predicted_H": 5.216,
"predicted_BB": 0.927,
"predicted_SO": 3.999,
"predicted_HR": 0.705,
"predicted_ERA": 3.6463,
"predicted_WHIP": 1.055
}
},
"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.2,
"form": 5.2,
"final": 5.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 2.359,
"final": 1.3824,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 5.216,
"final": 3.8845,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.927,
"final": 0.5432,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 3.999,
"final": 3.9994,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.705,
"final": 0.4131,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.6463,
"final": 3.6463,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.055,
"final": 1.055,
"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": 61.0,
"ER": 23,
"H": 55,
"BB": 5,
"SO": 36,
"HR": 8,
"ERA": 3.3934426229508197,
"WHIP": 0.9836065573770492,
"K9": 5.311475409836065,
"HR9": 1.180327868852459,
"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-10T00:00:00"
},
"recent_form_boost": 0.8753411665479507,
"stat_evolution": [
{
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_IP": 5.666666666666667,
"predicted_ER": 0.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": 28.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8485,
"prior_weight": 0.1515
}
},
{
"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.2,
"predicted_ER": 0,
"predicted_H": 2,
"predicted_BB": 0,
"predicted_SO": 4,
"predicted_HR": 0
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "607259",
"player_name": "Nick Martinez",
"position": "Starter",
"team": "TB",
"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": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.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": "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": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 5.2,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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.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": 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.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"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": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 5.2,
"predicted_R": 0.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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.2,
"after": 5.2,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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.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": 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.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"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": "TB",
"games": 150,
"wins": 91,
"losses": 59,
"win_pct": 0.6067,
"runs_scored": 684.0,
"runs_allowed": 614.0,
"run_differential": 70.0,
"run_differential_per_game": 0.4667,
"avg_runs_scored": 4.56,
"avg_runs_allowed": 4.0933,
"offense_index": 1.0147,
"defense_index": 1.0979,
"current_streak": "W4",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.6,
"avg_runs_allowed": 3.1,
"run_differential": 25.0
},
"available": true,
"quality_score": 0.2528
},
"opponent": {
"team": "OAK",
"games": 151,
"wins": 61,
"losses": 90,
"win_pct": 0.404,
"runs_scored": 657.0,
"runs_allowed": 861.0,
"run_differential": -204.0,
"run_differential_per_game": -1.351,
"avg_runs_scored": 4.351,
"avg_runs_allowed": 5.702,
"offense_index": 0.9682,
"defense_index": 0.7882,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.9,
"avg_runs_allowed": 5.2,
"run_differential": -13.0
},
"available": true,
"quality_score": -0.2119
},
"edges": {
"quality_edge": 0.4647,
"offense_edge": 0.0147,
"opponent_offense_edge": -0.0318,
"defense_strength": 0.0979,
"opponent_defense_weakness": 0.2118,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0228,
"run_prevention": 0.9619,
"strikeout": 1.0165
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "607259",
"profile": {
"available": true,
"pitcher_id": "607259",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 641.0,
"k_percent": 14.8,
"bb_percent": 3.6,
"woba": 0.288,
"xwoba": 0.311,
"sweet_spot_percent": 34.9,
"barrel_batted_rate": 6.7,
"hard_hit_percent": 32.9,
"avg_best_speed": 75.6535,
"avg_hyper_speed": 93.1391,
"whiff_percent": 17.6,
"swing_percent": 50.6
},
"league_medians": {
"pa": 132.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6025,
"avg_hyper_speed": 93.9171,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.2366,
"command_and_miss": -0.5529,
"regression_edge": -0.6571,
"xwoba_edge": 0.0286,
"barrel_edge": 0.1111,
"hard_hit_edge": 0.7143,
"whiff_edge": -1.0571,
"bb_edge": 1.4,
"pitch_design_score": -0.1558
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "607259",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 88,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 88,
"pitch_usage": 0.0,
"release_speed": 87.06612591043829,
"release_spin_rate": 2194.617152596476,
"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": 88,
"pitch_usage": 0.0,
"release_speed": 87.06612591043829,
"release_spin_rate": 2194.617152596476,
"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.0661,
"release_spin_rate": 2194.6172,
"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.1558,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.1131,
"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.0894,
"sample_weight": 1.0,
"run_prevention_factor": 1.0076,
"strikeout_factor": 0.9166,
"walk_factor": 0.888,
"homer_factor": 0.9617,
"woba_minus_xwoba": -0.023,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "607259",
"espn_id": 33372,
"player_name": "Nick Martinez",
"team": "TB",
"role": "pitcher",
"espn_rank": 19,
"espn_total_ranked": 862,
"metrics": {
"espn_rank": 19,
"gp_value": 28.0,
"gp_rank": 289,
"gs_value": 28.0,
"gs_rank": 36,
"qs_value": 15.0,
"qs_rank": 20,
"era_value": 2.9218,
"era_rank": 12.0,
"w_value": 14.0,
"w_rank": 7,
"l_value": 4.0,
"l_rank": 196,
"sv_value": 0.0,
"sv_rank": 253,
"hld_value": 0.0,
"hld_rank": 357,
"ip_value": 166.1,
"ip_rank": 19,
"h_value": 154.0,
"h_rank": 20,
"er_value": 54.0,
"er_rank": 101,
"hr_value": 19.0,
"hr_rank": 58,
"bb_value": 24.0,
"bb_rank": 240,
"k_value": 98.0,
"k_rank": 117,
"k_per_9_value": 5.302605,
"k_per_9_rank": 166,
"whip_value": 1.0701,
"whip_rank": 12.0,
"war_value": 3.83,
"war_rank": 17.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0076,
"adjusted": 2
},
"predicted_H": {
"original": 5.0,
"factor": 1.0076,
"adjusted": 5
},
"predicted_BB": {
"original": 1.0,
"factor": 0.888,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 0.9617,
"adjusted": 1
},
"predicted_SO": {
"original": 4.0,
"factor": 0.9166,
"adjusted": 4
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 5.2,
"predicted_H": 2,
"predicted_R": 0,
"predicted_ER": 0,
"predicted_BB": 0,
"predicted_SO": 4,
"predicted_HR": 0,
"box_score_synced": true,
"BF": 20,
"Pitches": 77,
"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 +2."
}
],
"provenance": {
"prediction": "output/games/20260916_OAK@TB.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"
}
} |
| 20260916 | 20260916_PHI@WAS | away | Zack Wheeler | Zack Wheeler | True | 5.2 | 7.0 | 4 | 3 | 0 | -3 | 4/4 | 4/1 | 5/5 | Last 10 before this game (10 available){
"model_context": {
"embedded_season": {
"ERA": 3.13953488372093,
"WHIP": 1.0744186046511628,
"IP": 143.1,
"games_started": null,
"games_pitched": 25,
"role_avg_IP": 5.733,
"recent_avg_IP": 5.6,
"last_start_IP": 7.0,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": 0.6854,
"sample_weight": 1.0,
"run_prevention_factor": 0.9417,
"strikeout_factor": 1.0806,
"walk_factor": 0.972,
"homer_factor": 0.9356,
"regression_flag": "neutral",
"k_percent": 30.0,
"bb_percent": 7.8,
"woba": 0.284,
"xwoba": 0.27,
"barrel_percent": 6.5,
"hard_hit_percent": 35.1,
"whiff_percent": 31.1
},
"espn_rank": {
"rank": 11,
"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": "554430",
"report_date": "20260916",
"season_year": 2026,
"rows_used": 25,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 28.0,
"ER": 13.0,
"R": 13.0,
"H": 23.0,
"BB": 16.0,
"SO": 35.0,
"HR": 6.0,
"BF": 120.0,
"Pitches": 514.0
},
"per_game": {
"IP": 5.2,
"ER": 2.6,
"R": 2.6,
"H": 4.6,
"BB": 3.2,
"SO": 7.0,
"HR": 1.2,
"BF": 24.0,
"Pitches": 102.8
},
"rates": {
"ERA": 4.1786,
"WHIP": 1.3929,
"ER_per_IP": 0.46429,
"H_per_IP": 0.82143,
"BB_per_IP": 0.57143,
"SO_per_IP": 1.25,
"HR_per_IP": 0.21429
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 50.1,
"ER": 28.0,
"R": 29.0,
"H": 48.0,
"BB": 23.0,
"SO": 64.0,
"HR": 10.0,
"BF": 219.0,
"Pitches": 907.0
},
"per_game": {
"IP": 5.0,
"ER": 2.8,
"R": 2.9,
"H": 4.8,
"BB": 2.3,
"SO": 6.4,
"HR": 1.0,
"BF": 21.9,
"Pitches": 90.7
},
"rates": {
"ERA": 5.0066,
"WHIP": 1.4106,
"ER_per_IP": 0.55629,
"H_per_IP": 0.95364,
"BB_per_IP": 0.45695,
"SO_per_IP": 1.27152,
"HR_per_IP": 0.19868
}
},
"season": {
"games": 25,
"totals": {
"IP": 143.1,
"ER": 50.0,
"R": 51.0,
"H": 109.0,
"BB": 45.0,
"SO": 172.0,
"HR": 20.0,
"BF": 574.0,
"Pitches": 2360.0
},
"per_game": {
"IP": 5.2,
"ER": 2.0,
"R": 2.04,
"H": 4.36,
"BB": 1.8,
"SO": 6.88,
"HR": 0.8,
"BF": 22.96,
"Pitches": 94.4
},
"rates": {
"ERA": 3.1395,
"WHIP": 1.0744,
"ER_per_IP": 0.34884,
"H_per_IP": 0.76047,
"BB_per_IP": 0.31395,
"SO_per_IP": 1.2,
"HR_per_IP": 0.13953
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.1,
"predicted_ER": 2.619,
"predicted_H": 4.79,
"predicted_BB": 2.528,
"predicted_SO": 6.545,
"predicted_HR": 1.018,
"predicted_ERA": 4.3066,
"predicted_WHIP": 1.3373
}
},
"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.2,
"form": 5.1,
"final": 5.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 2.619,
"final": 3.1996,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 4.79,
"final": 4.4579,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 4.0,
"form": 2.528,
"final": 3.1469,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 6.545,
"final": 5.475,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 1.018,
"final": 0.59,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.3066,
"final": 4.3066,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3373,
"final": 1.3373,
"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": 50.1,
"ER": 28,
"H": 48,
"BB": 23,
"SO": 64,
"HR": 10,
"ERA": 5.006622516556292,
"WHIP": 1.4105960264900663,
"K9": 11.443708609271525,
"HR9": 1.7880794701986757,
"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-10T00:00:00"
},
"recent_form_boost": 1.0674986413063916,
"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": 0.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
}
},
{
"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.2,
"predicted_ER": 3,
"predicted_H": 4,
"predicted_BB": 4,
"predicted_SO": 7,
"predicted_HR": 0
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "554430",
"player_name": "Zack Wheeler",
"position": "Starter",
"team": "PHI",
"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": 0.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": "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": 3.0,
"predicted_H": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 5.2,
"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": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"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": 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": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 2,
"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_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": 4.0,
"predicted_ER": 3.0,
"predicted_H": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 5.2,
"predicted_R": 3.0,
"predicted_SO": 5.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": 3.0,
"after": 3.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": 5.2,
"after": 5.2,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 5.0,
"delta": -2.0,
"percent_delta": -0.2857,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 7.0,
"after": 5.0,
"delta": -2.0,
"percent_delta": -0.2857,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"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": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"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": 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": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"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": "PHI",
"games": 151,
"wins": 83,
"losses": 68,
"win_pct": 0.5497,
"runs_scored": 678.0,
"runs_allowed": 650.0,
"run_differential": 28.0,
"run_differential_per_game": 0.1854,
"avg_runs_scored": 4.4901,
"avg_runs_allowed": 4.3046,
"offense_index": 0.9991,
"defense_index": 1.044,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 5.0,
"run_differential": -5.0
},
"available": true,
"quality_score": 0.0299
},
"opponent": {
"team": "WAS",
"games": 152,
"wins": 71,
"losses": 81,
"win_pct": 0.4671,
"runs_scored": 778.0,
"runs_allowed": 772.0,
"run_differential": 6.0,
"run_differential_per_game": 0.0395,
"avg_runs_scored": 5.1184,
"avg_runs_allowed": 5.0789,
"offense_index": 1.1389,
"defense_index": 0.8849,
"current_streak": "W4",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.3,
"avg_runs_allowed": 5.1,
"run_differential": -8.0
},
"available": true,
"quality_score": -0.0581
},
"edges": {
"quality_edge": 0.088,
"offense_edge": -0.0009,
"opponent_offense_edge": 0.1389,
"defense_strength": 0.044,
"opponent_defense_weakness": 0.1151,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 0.9993,
"run_prevention": 1.0134,
"strikeout": 0.9915
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "554430",
"profile": {
"available": true,
"pitcher_id": "554430",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 546.0,
"k_percent": 30.0,
"bb_percent": 7.8,
"woba": 0.284,
"xwoba": 0.27,
"sweet_spot_percent": 34.0,
"barrel_batted_rate": 6.5,
"hard_hit_percent": 35.1,
"avg_best_speed": 74.7526,
"avg_hyper_speed": 93.4024,
"whiff_percent": 31.1,
"swing_percent": 49.5
},
"league_medians": {
"pa": 132.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6025,
"avg_hyper_speed": 93.9171,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.7372,
"command_and_miss": 0.8893,
"regression_edge": 0.4,
"xwoba_edge": 1.2,
"barrel_edge": 0.1556,
"hard_hit_edge": 0.4,
"whiff_edge": 0.8714,
"bb_edge": 0.35,
"pitch_design_score": 0.0171
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "554430",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 97,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 97,
"pitch_usage": 0.0,
"release_speed": 90.15337890549876,
"release_spin_rate": 2372.0885855263646,
"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": 97,
"pitch_usage": 0.0,
"release_speed": 90.15337890549876,
"release_spin_rate": 2372.0885855263646,
"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.1534,
"release_spin_rate": 2372.0886,
"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.0171,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1218,
"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.6854,
"sample_weight": 1.0,
"run_prevention_factor": 0.9417,
"strikeout_factor": 1.0806,
"walk_factor": 0.972,
"homer_factor": 0.9356,
"woba_minus_xwoba": 0.014,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "554430",
"espn_id": 31267,
"player_name": "Zack Wheeler",
"team": "PHI",
"role": "pitcher",
"espn_rank": 11,
"espn_total_ranked": 862,
"metrics": {
"espn_rank": 11,
"gp_value": 25.0,
"gp_rank": 336,
"gs_value": 25.0,
"gs_rank": 67,
"qs_value": 15.0,
"qs_rank": 20,
"era_value": 3.1395,
"era_rank": null,
"w_value": 12.0,
"w_rank": 17,
"l_value": 5.0,
"l_rank": 144,
"sv_value": 0.0,
"sv_rank": 253,
"hld_value": 0.0,
"hld_rank": 357,
"ip_value": 143.1,
"ip_rank": 61,
"h_value": 109.0,
"h_rank": 110,
"er_value": 50.0,
"er_rank": 109,
"hr_value": 20.0,
"hr_rank": 41,
"bb_value": 45.0,
"bb_rank": 70,
"k_value": 172.0,
"k_rank": 22,
"k_per_9_value": 10.8,
"k_per_9_rank": 9,
"whip_value": 1.0744,
"whip_rank": null,
"war_value": 4.92,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.9417,
"adjusted": 2
},
"predicted_H": {
"original": 5.0,
"factor": 0.9417,
"adjusted": 5
},
"predicted_BB": {
"original": 3.0,
"factor": 0.972,
"adjusted": 3
},
"predicted_HR": {
"original": 1.0,
"factor": 0.9356,
"adjusted": 1
},
"predicted_SO": {
"original": 7.0,
"factor": 1.0806,
"adjusted": 8
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 5.2,
"predicted_H": 4,
"predicted_R": 3,
"predicted_ER": 3,
"predicted_BB": 4,
"predicted_SO": 5,
"predicted_HR": 0,
"box_score_synced": true,
"BF": 25,
"Pitches": 107,
"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": "WALK_COMPONENT_MISS",
"severity": "warning",
"title": "Walk component missed",
"detail": "Actual minus predicted walks 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."
},
{
"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/20260916_PHI@WAS.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"
}
} |
| 20260916 | 20260916_PHI@WAS | home | Jared Simpson | Jared Simpson | True | 3.0 | 0.1 | -8 | 0 | 2 | 2 | 1/1 | 2/4 | 5/0 | Last 10 before this game (2 available){
"model_context": {
"embedded_season": {
"ERA": 0.0,
"WHIP": 0.0,
"IP": 4.0,
"games_started": null,
"games_pitched": 2,
"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.0113,
"sample_weight": 0.45,
"run_prevention_factor": 0.999,
"strikeout_factor": 1.0021,
"walk_factor": 1.09,
"homer_factor": 0.9185,
"regression_flag": "negative_pitcher_regression",
"k_percent": 28.6,
"bb_percent": 21.4,
"woba": 0.15,
"xwoba": 0.312,
"barrel_percent": 0.0,
"hard_hit_percent": 28.6,
"whiff_percent": 19.2
},
"espn_rank": {
"rank": 572,
"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": 0.809,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.1393,
"prior_weight": 0.8607
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "688692",
"report_date": "20260916",
"season_year": 2026,
"rows_used": 2,
"reference_playing_time": 4.0,
"windows": {
"last_5": {
"games": 2,
"totals": {
"IP": 4.0,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.0,
"SO": 4.0,
"HR": 0.0,
"BF": 11.0,
"Pitches": 49.0
},
"per_game": {
"IP": 2.0,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.0,
"SO": 2.0,
"HR": 0.0,
"BF": 5.5,
"Pitches": 24.5
},
"rates": {
"ERA": 0.0,
"WHIP": 0.0,
"ER_per_IP": 0.0,
"H_per_IP": 0.0,
"BB_per_IP": 0.0,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 2,
"totals": {
"IP": 4.0,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.0,
"SO": 4.0,
"HR": 0.0,
"BF": 11.0,
"Pitches": 49.0
},
"per_game": {
"IP": 2.0,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.0,
"SO": 2.0,
"HR": 0.0,
"BF": 5.5,
"Pitches": 24.5
},
"rates": {
"ERA": 0.0,
"WHIP": 0.0,
"ER_per_IP": 0.0,
"H_per_IP": 0.0,
"BB_per_IP": 0.0,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"season": {
"games": 2,
"totals": {
"IP": 4.0,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.0,
"SO": 4.0,
"HR": 0.0,
"BF": 11.0,
"Pitches": 49.0
},
"per_game": {
"IP": 2.0,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.0,
"SO": 2.0,
"HR": 0.0,
"BF": 5.5,
"Pitches": 24.5
},
"rates": {
"ERA": 0.0,
"WHIP": 0.0,
"ER_per_IP": 0.0,
"H_per_IP": 0.0,
"BB_per_IP": 0.0,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 3.2,
"predicted_ER": 1.615,
"predicted_H": 3.12,
"predicted_BB": 1.193,
"predicted_SO": 3.524,
"predicted_HR": 0.471,
"predicted_ERA": 3.9047,
"predicted_WHIP": 1.1591
}
},
"model_form_blend_trace": {
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.7136,
"form_weight": 0.2864,
"form_reliability": 0.1393,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.809,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.1393,
"prior_weight": 0.8607
},
"applied_metrics": {
"predicted_IP": {
"model": 4.0,
"form": 3.2,
"final": 4.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 1.615,
"final": 0.4625,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 3.12,
"final": 1.6071,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.193,
"final": 1.7689,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 3.524,
"final": 4.5773,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.471,
"final": 0.1349,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.9047,
"final": 3.9047,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1591,
"final": 1.1591,
"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": 4.0,
"ER": 0,
"H": 0,
"BB": 0,
"SO": 4,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.0,
"K9": 9.0,
"HR9": 0.0,
"games_pitched": 2,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 3,
"error_prone": false
},
"games_count": 3,
"latest_game_date": "2026-09-08T00:00:00"
},
"recent_form_boost": 0.9300761324970976,
"stat_evolution": [
{
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_IP": 4.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_BB": 2.0,
"predicted_SO": 5.0,
"predicted_HR": 0.0
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.809,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.1393,
"prior_weight": 0.8607
}
},
{
"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": 0,
"predicted_H": 1,
"predicted_BB": 2,
"predicted_SO": 5,
"predicted_HR": 0
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "688692",
"player_name": "Jared Simpson",
"position": "Starter",
"team": "WAS",
"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": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 4.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": 2.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 3.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.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.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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": 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": 2.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 3.0,
"predicted_R": 0.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.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": 3.0,
"after": 3.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.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.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"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": 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": "WAS",
"games": 152,
"wins": 71,
"losses": 81,
"win_pct": 0.4671,
"runs_scored": 778.0,
"runs_allowed": 772.0,
"run_differential": 6.0,
"run_differential_per_game": 0.0395,
"avg_runs_scored": 5.1184,
"avg_runs_allowed": 5.0789,
"offense_index": 1.1389,
"defense_index": 0.8849,
"current_streak": "W4",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.3,
"avg_runs_allowed": 5.1,
"run_differential": -8.0
},
"available": true,
"quality_score": -0.0581
},
"opponent": {
"team": "PHI",
"games": 151,
"wins": 83,
"losses": 68,
"win_pct": 0.5497,
"runs_scored": 678.0,
"runs_allowed": 650.0,
"run_differential": 28.0,
"run_differential_per_game": 0.1854,
"avg_runs_scored": 4.4901,
"avg_runs_allowed": 4.3046,
"offense_index": 0.9991,
"defense_index": 1.044,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 5.0,
"run_differential": -5.0
},
"available": true,
"quality_score": 0.0299
},
"edges": {
"quality_edge": -0.088,
"offense_edge": 0.1389,
"opponent_offense_edge": -0.0009,
"defense_strength": -0.1151,
"opponent_defense_weakness": -0.044,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 0.9931,
"run_prevention": 1.0158,
"strikeout": 0.9974
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "688692",
"profile": {
"available": true,
"pitcher_id": "688692",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 11.0,
"k_percent": 28.6,
"bb_percent": 21.4,
"woba": 0.15,
"xwoba": 0.312,
"sweet_spot_percent": 57.1,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 28.6,
"avg_best_speed": 81.9924,
"avg_hyper_speed": 94.2879,
"whiff_percent": 19.2,
"swing_percent": 38.8
},
"league_medians": {
"pa": 132.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6025,
"avg_hyper_speed": 93.9171,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": 0.5615,
"command_and_miss": -0.3657,
"regression_edge": -2.0,
"xwoba_edge": 0.0,
"barrel_edge": 1.6,
"hard_hit_edge": 1.3286,
"whiff_edge": -0.8286,
"bb_edge": -2.5,
"pitch_design_score": 0.0725
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "688692",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 24,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 24,
"pitch_usage": 0.0,
"release_speed": 91.143431372549,
"release_spin_rate": 2008.8196078431367,
"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": 24,
"pitch_usage": 0.0,
"release_speed": 91.143431372549,
"release_spin_rate": 2008.8196078431367,
"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.1434,
"release_spin_rate": 2008.8196,
"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.0725,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.5178,
"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.0113,
"sample_weight": 0.45,
"run_prevention_factor": 0.999,
"strikeout_factor": 1.0021,
"walk_factor": 1.09,
"homer_factor": 0.9185,
"woba_minus_xwoba": -0.162,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "688692",
"espn_id": 4719315,
"player_name": "Jared Simpson",
"team": "WSH",
"role": "pitcher",
"espn_rank": 572,
"espn_total_ranked": 862,
"metrics": {
"espn_rank": 572,
"gp_value": 3.0,
"gp_rank": 718,
"gs_value": 0.0,
"gs_rank": 368,
"qs_value": 0.0,
"qs_rank": 214,
"era_value": 6.75,
"era_rank": null,
"w_value": 1.0,
"w_rank": 418,
"l_value": 0.0,
"l_rank": 580,
"sv_value": 0.0,
"sv_rank": 253,
"hld_value": 0.0,
"hld_rank": 357,
"ip_value": 4.0,
"ip_rank": 738,
"h_value": 0.0,
"h_rank": 848,
"er_value": 3.0,
"er_rank": 719,
"hr_value": 0.0,
"hr_rank": 750,
"bb_value": 3.0,
"bb_rank": 688,
"k_value": 4.0,
"k_rank": 708,
"k_per_9_value": 9.0,
"k_per_9_rank": 25,
"whip_value": 0.75,
"whip_rank": null,
"war_value": -0.08,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9996,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9996,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0405,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9633,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0009,
"adjusted": 3
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 3.0,
"predicted_H": 1,
"predicted_R": 0,
"predicted_ER": 0,
"predicted_BB": 2,
"predicted_SO": 5,
"predicted_HR": 0,
"box_score_synced": true,
"BF": 14,
"Pitches": 58,
"published_line_source": "scoring_simulation.box_score"
}
},
"findings": [
{
"code": "PARTIAL_PRIOR_HISTORY",
"severity": "warning",
"title": "Only 2 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."
},
{
"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."
}
],
"provenance": {
"prediction": "output/games/20260916_PHI@WAS.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"
}
} |
| 20260916 | 20260916_SD@COL | away | Robbie Ray | Robbie Ray | True | 5.0 | 6.0 | 3 | 4 | 3 | -1 | 5/3 | 3/2 | 4/6 | Last 10 before this game (10 available){
"model_context": {
"embedded_season": {
"ERA": 3.569296375266524,
"WHIP": 1.349680170575693,
"IP": 156.1,
"games_started": null,
"games_pitched": 29,
"role_avg_IP": 5.357,
"recent_avg_IP": 4.933,
"last_start_IP": 5.0,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": -0.3217,
"sample_weight": 1.0,
"run_prevention_factor": 1.0273,
"strikeout_factor": 0.9909,
"walk_factor": 1.062,
"homer_factor": 1.0407,
"regression_flag": "neutral",
"k_percent": 20.0,
"bb_percent": 12.3,
"woba": 0.315,
"xwoba": 0.336,
"barrel_percent": 8.3,
"hard_hit_percent": 38.0,
"whiff_percent": 25.4
},
"espn_rank": {
"rank": 72,
"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": "592662",
"report_date": "20260916",
"season_year": 2026,
"rows_used": 29,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 24.2,
"ER": 14.0,
"R": 14.0,
"H": 20.0,
"BB": 16.0,
"SO": 19.0,
"HR": 4.0,
"BF": 107.0,
"Pitches": 445.0
},
"per_game": {
"IP": 5.0,
"ER": 2.8,
"R": 2.8,
"H": 4.0,
"BB": 3.2,
"SO": 3.8,
"HR": 0.8,
"BF": 21.4,
"Pitches": 89.0
},
"rates": {
"ERA": 5.1081,
"WHIP": 1.4595,
"ER_per_IP": 0.56757,
"H_per_IP": 0.81081,
"BB_per_IP": 0.64865,
"SO_per_IP": 0.77027,
"HR_per_IP": 0.16216
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 49.2,
"ER": 22.0,
"R": 24.0,
"H": 47.0,
"BB": 29.0,
"SO": 42.0,
"HR": 6.0,
"BF": 218.0,
"Pitches": 873.0
},
"per_game": {
"IP": 5.0,
"ER": 2.2,
"R": 2.4,
"H": 4.7,
"BB": 2.9,
"SO": 4.2,
"HR": 0.6,
"BF": 21.8,
"Pitches": 87.3
},
"rates": {
"ERA": 3.9866,
"WHIP": 1.5302,
"ER_per_IP": 0.44295,
"H_per_IP": 0.94631,
"BB_per_IP": 0.58389,
"SO_per_IP": 0.84564,
"HR_per_IP": 0.12081
}
},
"season": {
"games": 29,
"totals": {
"IP": 156.1,
"ER": 62.0,
"R": 70.0,
"H": 130.0,
"BB": 81.0,
"SO": 132.0,
"HR": 21.0,
"BF": 661.0,
"Pitches": 2682.0
},
"per_game": {
"IP": 5.1,
"ER": 2.1379,
"R": 2.4138,
"H": 4.4828,
"BB": 2.7931,
"SO": 4.5517,
"HR": 0.7241,
"BF": 22.7931,
"Pitches": 92.4828
},
"rates": {
"ERA": 3.5693,
"WHIP": 1.3497,
"ER_per_IP": 0.39659,
"H_per_IP": 0.83156,
"BB_per_IP": 0.51812,
"SO_per_IP": 0.84435,
"HR_per_IP": 0.13433
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.0,
"predicted_ER": 2.487,
"predicted_H": 4.444,
"predicted_BB": 2.864,
"predicted_SO": 4.198,
"predicted_HR": 0.722,
"predicted_ERA": 4.4268,
"predicted_WHIP": 1.4453
}
},
"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": 5.0,
"final": 5.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 2.487,
"final": 3.1106,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 4.444,
"final": 4.6732,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 2.864,
"final": 2.9201,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 4.198,
"final": 4.1164,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.722,
"final": 0.8366,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.4268,
"final": 4.4268,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4453,
"final": 1.4453,
"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": 22,
"H": 47,
"BB": 29,
"SO": 42,
"HR": 6,
"ERA": 3.986577181208054,
"WHIP": 1.5302013422818792,
"K9": 7.610738255033557,
"HR9": 1.087248322147651,
"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-11T00:00:00"
},
"recent_form_boost": 0.9557336739745103,
"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": 5.0,
"predicted_BB": 3.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": "592662",
"player_name": "Robbie Ray",
"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": 3.0,
"predicted_ER": 4.0,
"predicted_H": 5.0,
"predicted_HR": 1.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": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 4.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 5.0,
"predicted_R": 4.0,
"predicted_SO": 4.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": 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": 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": 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": 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": 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,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
},
"team_form_snapshot": {
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SD",
"games": 151,
"wins": 82,
"losses": 69,
"win_pct": 0.543,
"runs_scored": 650.0,
"runs_allowed": 633.0,
"run_differential": 17.0,
"run_differential_per_game": 0.1126,
"avg_runs_scored": 4.3046,
"avg_runs_allowed": 4.1921,
"offense_index": 0.9577,
"defense_index": 1.0722,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 4.7,
"run_differential": 6.0
},
"available": true,
"quality_score": 0.1553
},
"opponent": {
"team": "COL",
"games": 151,
"wins": 56,
"losses": 95,
"win_pct": 0.3709,
"runs_scored": 712.0,
"runs_allowed": 876.0,
"run_differential": -164.0,
"run_differential_per_game": -1.0861,
"avg_runs_scored": 4.7152,
"avg_runs_allowed": 5.8013,
"offense_index": 1.0491,
"defense_index": 0.7748,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 7.4,
"run_differential": -23.0
},
"available": true,
"quality_score": -0.3476
},
"edges": {
"quality_edge": 0.5029,
"offense_edge": -0.0423,
"opponent_offense_edge": 0.0491,
"defense_strength": 0.0722,
"opponent_defense_weakness": 0.2252,
"recent_win_pct_edge": 0.6
},
"player_factors": {
"ip": 1.0203,
"run_prevention": 0.9755,
"strikeout": 1.0112
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "592662",
"profile": {
"available": true,
"pitcher_id": "592662",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 610.0,
"k_percent": 20.0,
"bb_percent": 12.3,
"woba": 0.315,
"xwoba": 0.336,
"sweet_spot_percent": 32.7,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 38.0,
"avg_best_speed": 78.7872,
"avg_hyper_speed": 94.1035,
"whiff_percent": 25.4,
"swing_percent": 46.0
},
"league_medians": {
"pa": 132.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6025,
"avg_hyper_speed": 93.9171,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.3337,
"command_and_miss": -0.2636,
"regression_edge": -0.6,
"xwoba_edge": -0.6857,
"barrel_edge": -0.2444,
"hard_hit_edge": -0.0143,
"whiff_edge": 0.0571,
"bb_edge": -0.775,
"pitch_design_score": -0.0782
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "592662",
"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": 88.45174099396903,
"release_spin_rate": 2131.1514136705164,
"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": 88.45174099396903,
"release_spin_rate": 2131.1514136705164,
"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.4517,
"release_spin_rate": 2131.1514,
"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.0782,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.5588,
"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.3217,
"sample_weight": 1.0,
"run_prevention_factor": 1.0273,
"strikeout_factor": 0.9909,
"walk_factor": 1.062,
"homer_factor": 1.0407,
"woba_minus_xwoba": -0.021,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "592662",
"espn_id": 32175,
"player_name": "Robbie Ray",
"team": "SD",
"role": "pitcher",
"espn_rank": 72,
"espn_total_ranked": 862,
"metrics": {
"espn_rank": 72,
"gp_value": 29.0,
"gp_rank": 261,
"gs_value": 28.0,
"gs_rank": 36,
"qs_value": 11.0,
"qs_rank": 47,
"era_value": 3.5692,
"era_rank": 21.0,
"w_value": 12.0,
"w_rank": 17,
"l_value": 8.0,
"l_rank": 66,
"sv_value": 0.0,
"sv_rank": 253,
"hld_value": 0.0,
"hld_rank": 357,
"ip_value": 156.1,
"ip_rank": 42,
"h_value": 130.0,
"h_rank": 66,
"er_value": 62.0,
"er_rank": 66,
"hr_value": 21.0,
"hr_rank": 33,
"bb_value": 81.0,
"bb_rank": 1,
"k_value": 132.0,
"k_rank": 56,
"k_per_9_value": 7.599147,
"k_per_9_rank": 36,
"whip_value": 1.3496,
"whip_rank": 39.0,
"war_value": 2.11,
"war_rank": 31.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0273,
"adjusted": 3
},
"predicted_H": {
"original": 4.0,
"factor": 1.0273,
"adjusted": 4
},
"predicted_BB": {
"original": 3.0,
"factor": 1.062,
"adjusted": 3
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0407,
"adjusted": 1
},
"predicted_SO": {
"original": 4.0,
"factor": 0.9909,
"adjusted": 4
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 5.0,
"predicted_H": 5,
"predicted_R": 4,
"predicted_ER": 4,
"predicted_BB": 3,
"predicted_SO": 4,
"predicted_HR": 1,
"box_score_synced": true,
"BF": 23,
"Pitches": 97,
"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": "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/20260916_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"
}
} |
| 20260916 | 20260916_SD@COL | home | Mason Adams | Mason Adams | True | 4.2 | 4.1 | -1 | 5 | 6 | 1 | 5/8 | 1/3 | 4/1 | Last 10 before this game (4 available){
"model_context": {
"embedded_season": {
"ERA": 3.375,
"WHIP": 1.4464285714285714,
"IP": 18.2,
"games_started": null,
"games_pitched": 4,
"role_avg_IP": 4.667,
"recent_avg_IP": 4.667,
"last_start_IP": 5.0,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": -0.2071,
"sample_weight": 0.45,
"run_prevention_factor": 1.0176,
"strikeout_factor": 1.0141,
"walk_factor": 1.0225,
"homer_factor": 1.0854,
"regression_flag": "positive_pitcher_regression",
"k_percent": 28.6,
"bb_percent": 11.7,
"woba": 0.379,
"xwoba": 0.34,
"barrel_percent": 10.9,
"hard_hit_percent": 58.7,
"whiff_percent": 23.9
},
"espn_rank": {
"rank": 223,
"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": "690279",
"report_date": "20260916",
"season_year": 2026,
"rows_used": 4,
"reference_playing_time": 4.667,
"windows": {
"last_5": {
"games": 4,
"totals": {
"IP": 18.2,
"ER": 7.0,
"R": 7.0,
"H": 18.0,
"BB": 9.0,
"SO": 22.0,
"HR": 5.0,
"BF": 77.0,
"Pitches": 304.0
},
"per_game": {
"IP": 4.2,
"ER": 1.75,
"R": 1.75,
"H": 4.5,
"BB": 2.25,
"SO": 5.5,
"HR": 1.25,
"BF": 19.25,
"Pitches": 76.0
},
"rates": {
"ERA": 3.375,
"WHIP": 1.4464,
"ER_per_IP": 0.375,
"H_per_IP": 0.96429,
"BB_per_IP": 0.48214,
"SO_per_IP": 1.17857,
"HR_per_IP": 0.26786
}
},
"last_10": {
"games": 4,
"totals": {
"IP": 18.2,
"ER": 7.0,
"R": 7.0,
"H": 18.0,
"BB": 9.0,
"SO": 22.0,
"HR": 5.0,
"BF": 77.0,
"Pitches": 304.0
},
"per_game": {
"IP": 4.2,
"ER": 1.75,
"R": 1.75,
"H": 4.5,
"BB": 2.25,
"SO": 5.5,
"HR": 1.25,
"BF": 19.25,
"Pitches": 76.0
},
"rates": {
"ERA": 3.375,
"WHIP": 1.4464,
"ER_per_IP": 0.375,
"H_per_IP": 0.96429,
"BB_per_IP": 0.48214,
"SO_per_IP": 1.17857,
"HR_per_IP": 0.26786
}
},
"season": {
"games": 4,
"totals": {
"IP": 18.2,
"ER": 7.0,
"R": 7.0,
"H": 18.0,
"BB": 9.0,
"SO": 22.0,
"HR": 5.0,
"BF": 77.0,
"Pitches": 304.0
},
"per_game": {
"IP": 4.2,
"ER": 1.75,
"R": 1.75,
"H": 4.5,
"BB": 2.25,
"SO": 5.5,
"HR": 1.25,
"BF": 19.25,
"Pitches": 76.0
},
"rates": {
"ERA": 3.375,
"WHIP": 1.4464,
"ER_per_IP": 0.375,
"H_per_IP": 0.96429,
"BB_per_IP": 0.48214,
"SO_per_IP": 1.17857,
"HR_per_IP": 0.26786
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 4.2,
"predicted_ER": 2.085,
"predicted_H": 4.526,
"predicted_BB": 1.966,
"predicted_SO": 4.877,
"predicted_HR": 0.937,
"predicted_ERA": 4.0204,
"predicted_WHIP": 1.391
}
},
"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": 4.2,
"form": 4.2,
"final": 4.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 5.0,
"form": 2.085,
"final": 3.7895,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 4.526,
"final": 4.8032,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.966,
"final": 1.4011,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 4.877,
"final": 3.7794,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.937,
"final": 0.9738,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.0204,
"final": 4.0204,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.391,
"final": 1.391,
"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": 18.2,
"ER": 7,
"H": 18,
"BB": 9,
"SO": 22,
"HR": 5,
"ERA": 3.375,
"WHIP": 1.4464285714285714,
"K9": 10.607142857142856,
"HR9": 2.4107142857142856,
"games_pitched": 4,
"quality_starts": 0,
"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-11T00:00:00"
},
"recent_form_boost": 0.9292312165610197,
"stat_evolution": [
{
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_IP": 4.666666666666667,
"predicted_ER": 5.0,
"predicted_H": 5.0,
"predicted_BB": 1.0,
"predicted_SO": 3.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": "690279",
"player_name": "Mason Adams",
"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": 5.0,
"predicted_H": 5.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": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 5.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 4.2,
"predicted_R": 5.0,
"predicted_SO": 4.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": 5.0,
"after": 5.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": 4.6667,
"after": 4.2,
"delta": -0.4667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"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": {
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 5.0,
"after": 5.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": 4.6667,
"after": 4.2,
"delta": -0.4667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"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": {
"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": "neutral"
}
}
},
"team_form_snapshot": {
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "COL",
"games": 151,
"wins": 56,
"losses": 95,
"win_pct": 0.3709,
"runs_scored": 712.0,
"runs_allowed": 876.0,
"run_differential": -164.0,
"run_differential_per_game": -1.0861,
"avg_runs_scored": 4.7152,
"avg_runs_allowed": 5.8013,
"offense_index": 1.0491,
"defense_index": 0.7748,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 7.4,
"run_differential": -23.0
},
"available": true,
"quality_score": -0.3476
},
"opponent": {
"team": "SD",
"games": 151,
"wins": 82,
"losses": 69,
"win_pct": 0.543,
"runs_scored": 650.0,
"runs_allowed": 633.0,
"run_differential": 17.0,
"run_differential_per_game": 0.1126,
"avg_runs_scored": 4.3046,
"avg_runs_allowed": 4.1921,
"offense_index": 0.9577,
"defense_index": 1.0722,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 8,
"losses": 2,
"win_pct": 0.8,
"avg_runs_scored": 5.3,
"avg_runs_allowed": 4.7,
"run_differential": 6.0
},
"available": true,
"quality_score": 0.1553
},
"edges": {
"quality_edge": -0.5029,
"offense_edge": 0.0491,
"opponent_offense_edge": -0.0423,
"defense_strength": -0.2252,
"opponent_defense_weakness": -0.0722,
"recent_win_pct_edge": -0.6
},
"player_factors": {
"ip": 0.9748,
"run_prevention": 1.0409,
"strikeout": 0.9883
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "690279",
"profile": {
"available": true,
"pitcher_id": "690279",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 59.0,
"k_percent": 28.6,
"bb_percent": 11.7,
"woba": 0.379,
"xwoba": 0.34,
"sweet_spot_percent": 39.1,
"barrel_batted_rate": 10.9,
"hard_hit_percent": 58.7,
"avg_best_speed": 83.9838,
"avg_hyper_speed": 96.4187,
"whiff_percent": 23.9,
"swing_percent": 45.4
},
"league_medians": {
"pa": 132.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6025,
"avg_hyper_speed": 93.9171,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": -1.1322,
"command_and_miss": 0.2443,
"regression_edge": 1.1143,
"xwoba_edge": -0.8,
"barrel_edge": -0.8222,
"hard_hit_edge": -2.5,
"whiff_edge": -0.1571,
"bb_edge": -0.625,
"pitch_design_score": -0.0152
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "690279",
"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.57815708015708,
"release_spin_rate": 2288.900877800878,
"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.57815708015708,
"release_spin_rate": 2288.900877800878,
"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.5782,
"release_spin_rate": 2288.9009,
"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.0152,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.1083,
"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.2071,
"sample_weight": 0.45,
"run_prevention_factor": 1.0176,
"strikeout_factor": 1.0141,
"walk_factor": 1.0225,
"homer_factor": 1.0854,
"woba_minus_xwoba": 0.039,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "690279",
"espn_id": 4758424,
"player_name": "Mason Adams",
"team": "COL",
"role": "pitcher",
"espn_rank": 223,
"espn_total_ranked": 862,
"metrics": {
"espn_rank": 223,
"gp_value": 4.0,
"gp_rank": 677,
"gs_value": 4.0,
"gs_rank": 238,
"qs_value": 0.0,
"qs_rank": 214,
"era_value": 3.375,
"era_rank": null,
"w_value": 0.0,
"w_rank": 541,
"l_value": 0.0,
"l_rank": 580,
"sv_value": 0.0,
"sv_rank": 253,
"hld_value": 0.0,
"hld_rank": 357,
"ip_value": 18.2,
"ip_rank": 532,
"h_value": 18.0,
"h_rank": 545,
"er_value": 7.0,
"er_rank": 611,
"hr_value": 5.0,
"hr_rank": 329,
"bb_value": 9.0,
"bb_rank": 511,
"k_value": 22.0,
"k_rank": 471,
"k_per_9_value": 10.607143,
"k_per_9_rank": 23,
"whip_value": 1.4464,
"whip_rank": null,
"war_value": 0.71,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0079,
"adjusted": 2
},
"predicted_H": {
"original": 4.0,
"factor": 1.0079,
"adjusted": 4
},
"predicted_BB": {
"original": 2.0,
"factor": 1.0101,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0384,
"adjusted": 1
},
"predicted_SO": {
"original": 6.0,
"factor": 1.0063,
"adjusted": 6
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 4.2,
"predicted_H": 5,
"predicted_R": 5,
"predicted_ER": 5,
"predicted_BB": 1,
"predicted_SO": 4,
"predicted_HR": 1,
"box_score_synced": true,
"BF": 20,
"Pitches": 78,
"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."
}
],
"provenance": {
"prediction": "output/games/20260916_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"
}
} |
| 20260916 | 20260916_SEA@LAA | away | George Kirby | George Kirby | True | 5.2 | 4.1 | -4 | 1 | 2 | 1 | 6/5 | 1/5 | 6/5 | Last 10 before this game (10 available){
"model_context": {
"embedded_season": {
"ERA": 4.245967741935484,
"WHIP": 1.3608870967741935,
"IP": 165.1,
"games_started": null,
"games_pitched": 28,
"role_avg_IP": 5.905,
"recent_avg_IP": 5.733,
"last_start_IP": 6.0,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": -0.0361,
"sample_weight": 1.0,
"run_prevention_factor": 1.0031,
"strikeout_factor": 0.9714,
"walk_factor": 0.928,
"homer_factor": 1.008,
"regression_flag": "neutral",
"k_percent": 19.9,
"bb_percent": 5.6,
"woba": 0.338,
"xwoba": 0.313,
"barrel_percent": 6.8,
"hard_hit_percent": 40.4,
"whiff_percent": 22.1
},
"espn_rank": {
"rank": 136,
"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": "669923",
"report_date": "20260916",
"season_year": 2026,
"rows_used": 28,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 28.2,
"ER": 19.0,
"R": 20.0,
"H": 38.0,
"BB": 8.0,
"SO": 24.0,
"HR": 4.0,
"BF": 128.0,
"Pitches": 463.0
},
"per_game": {
"IP": 5.2,
"ER": 3.8,
"R": 4.0,
"H": 7.6,
"BB": 1.6,
"SO": 4.8,
"HR": 0.8,
"BF": 25.6,
"Pitches": 92.6
},
"rates": {
"ERA": 5.9651,
"WHIP": 1.6047,
"ER_per_IP": 0.66279,
"H_per_IP": 1.32558,
"BB_per_IP": 0.27907,
"SO_per_IP": 0.83721,
"HR_per_IP": 0.13953
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 55.1,
"ER": 32.0,
"R": 33.0,
"H": 65.0,
"BB": 15.0,
"SO": 40.0,
"HR": 10.0,
"BF": 239.0,
"Pitches": 901.0
},
"per_game": {
"IP": 5.2,
"ER": 3.2,
"R": 3.3,
"H": 6.5,
"BB": 1.5,
"SO": 4.0,
"HR": 1.0,
"BF": 23.9,
"Pitches": 90.1
},
"rates": {
"ERA": 5.2048,
"WHIP": 1.4458,
"ER_per_IP": 0.57831,
"H_per_IP": 1.1747,
"BB_per_IP": 0.27108,
"SO_per_IP": 0.72289,
"HR_per_IP": 0.18072
}
},
"season": {
"games": 28,
"totals": {
"IP": 165.1,
"ER": 78.0,
"R": 83.0,
"H": 186.0,
"BB": 39.0,
"SO": 138.0,
"HR": 21.0,
"BF": 695.0,
"Pitches": 2569.0
},
"per_game": {
"IP": 6.0,
"ER": 2.7857,
"R": 2.9643,
"H": 6.6429,
"BB": 1.3929,
"SO": 4.9286,
"HR": 0.75,
"BF": 24.8214,
"Pitches": 91.75
},
"rates": {
"ERA": 4.246,
"WHIP": 1.3609,
"ER_per_IP": 0.47177,
"H_per_IP": 1.125,
"BB_per_IP": 0.23589,
"SO_per_IP": 0.83468,
"HR_per_IP": 0.12702
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.2,
"predicted_ER": 3.327,
"predicted_H": 6.831,
"predicted_BB": 1.623,
"predicted_SO": 4.682,
"predicted_HR": 0.863,
"predicted_ERA": 5.2312,
"predicted_WHIP": 1.477
}
},
"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.2,
"form": 5.2,
"final": 5.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 3.327,
"final": 2.3636,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 6.831,
"final": 6.487,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.623,
"final": 1.3651,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 6.0,
"form": 4.682,
"final": 5.2277,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.863,
"final": 0.9197,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.2312,
"final": 5.2312,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.477,
"final": 1.477,
"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.1,
"ER": 32,
"H": 65,
"BB": 15,
"SO": 40,
"HR": 10,
"ERA": 5.204819277108434,
"WHIP": 1.4457831325301205,
"K9": 6.506024096385542,
"HR9": 1.6265060240963856,
"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-11T00:00:00"
},
"recent_form_boost": 1.090675454519509,
"stat_evolution": [
{
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_IP": 5.666666666666667,
"predicted_ER": 1.0,
"predicted_H": 6.0,
"predicted_BB": 1.0,
"predicted_SO": 6.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": "669923",
"player_name": "George Kirby",
"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": 1.0,
"predicted_ER": 1.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 5.6667,
"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": 1.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 5.2,
"predicted_R": 1.0,
"predicted_SO": 6.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": 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": 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": 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.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": 1.0,
"after": 1.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": 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": 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.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"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": "SEA",
"games": 152,
"wins": 70,
"losses": 82,
"win_pct": 0.4605,
"runs_scored": 617.0,
"runs_allowed": 678.0,
"run_differential": -61.0,
"run_differential_per_game": -0.4013,
"avg_runs_scored": 4.0592,
"avg_runs_allowed": 4.4605,
"offense_index": 0.9023,
"defense_index": 1.0085,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 4.4,
"run_differential": 8.0
},
"available": true,
"quality_score": -0.1176
},
"opponent": {
"team": "LAA",
"games": 151,
"wins": 58,
"losses": 93,
"win_pct": 0.3841,
"runs_scored": 612.0,
"runs_allowed": 685.0,
"run_differential": -73.0,
"run_differential_per_game": -0.4834,
"avg_runs_scored": 4.053,
"avg_runs_allowed": 4.5364,
"offense_index": 0.901,
"defense_index": 0.9916,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.1,
"avg_runs_allowed": 3.3,
"run_differential": 8.0
},
"available": true,
"quality_score": -0.1576
},
"edges": {
"quality_edge": 0.04,
"offense_edge": -0.0977,
"opponent_offense_edge": -0.099,
"defense_strength": 0.0085,
"opponent_defense_weakness": 0.0084,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0058,
"run_prevention": 0.9813,
"strikeout": 1.0091
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "669923",
"profile": {
"available": true,
"pitcher_id": "669923",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 663.0,
"k_percent": 19.9,
"bb_percent": 5.6,
"woba": 0.338,
"xwoba": 0.313,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 6.8,
"hard_hit_percent": 40.4,
"avg_best_speed": 79.1711,
"avg_hyper_speed": 94.1849,
"whiff_percent": 22.1,
"swing_percent": 52.2
},
"league_medians": {
"pa": 132.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6025,
"avg_hyper_speed": 93.9171,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.1621,
"command_and_miss": -0.1,
"regression_edge": 0.7143,
"xwoba_edge": -0.0286,
"barrel_edge": 0.0889,
"hard_hit_edge": -0.3571,
"whiff_edge": -0.4143,
"bb_edge": 0.9,
"pitch_design_score": 0.1154
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669923",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 93,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 93,
"pitch_usage": 0.0,
"release_speed": 91.90877310424091,
"release_spin_rate": 2257.926740653175,
"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": 93,
"pitch_usage": 0.0,
"release_speed": 91.90877310424091,
"release_spin_rate": 2257.926740653175,
"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.9088,
"release_spin_rate": 2257.9267,
"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.1154,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.824,
"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.0361,
"sample_weight": 1.0,
"run_prevention_factor": 1.0031,
"strikeout_factor": 0.9714,
"walk_factor": 0.928,
"homer_factor": 1.008,
"woba_minus_xwoba": 0.025,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669923",
"espn_id": 42406,
"player_name": "George Kirby",
"team": "SEA",
"role": "pitcher",
"espn_rank": 136,
"espn_total_ranked": 862,
"metrics": {
"espn_rank": 136,
"gp_value": 28.0,
"gp_rank": 289,
"gs_value": 28.0,
"gs_rank": 36,
"qs_value": 15.0,
"qs_rank": 20,
"era_value": 4.2459,
"era_rank": 40.0,
"w_value": 9.0,
"w_rank": 45,
"l_value": 11.0,
"l_rank": 11,
"sv_value": 0.0,
"sv_rank": 253,
"hld_value": 0.0,
"hld_rank": 357,
"ip_value": 165.1,
"ip_rank": 23,
"h_value": 186.0,
"h_rank": 3,
"er_value": 78.0,
"er_rank": 19,
"hr_value": 21.0,
"hr_rank": 33,
"bb_value": 39.0,
"bb_rank": 101,
"k_value": 138.0,
"k_rank": 51,
"k_per_9_value": 7.5120964,
"k_per_9_rank": 59,
"whip_value": 1.3608,
"whip_rank": 42.0,
"war_value": 1.35,
"war_rank": 41.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0031,
"adjusted": 3
},
"predicted_H": {
"original": 7.0,
"factor": 1.0031,
"adjusted": 7
},
"predicted_BB": {
"original": 1.0,
"factor": 0.928,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 1.008,
"adjusted": 1
},
"predicted_SO": {
"original": 5.0,
"factor": 0.9714,
"adjusted": 5
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 5.2,
"predicted_H": 6,
"predicted_R": 1,
"predicted_ER": 1,
"predicted_BB": 1,
"predicted_SO": 6,
"predicted_HR": 1,
"box_score_synced": true,
"BF": 25,
"Pitches": 105,
"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 +4."
}
],
"provenance": {
"prediction": "output/games/20260916_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"
}
} |
| 20260916 | 20260916_SEA@LAA | home | Yusei Kikuchi | Yusei Kikuchi | True | 4.2 | 4.1 | -1 | 4 | 4 | 0 | 4/5 | 2/5 | 6/4 | Last 10 before this game (10 available){
"model_context": {
"embedded_season": {
"ERA": 4.754716981132075,
"WHIP": 1.490566037735849,
"IP": 53.0,
"games_started": null,
"games_pitched": 11,
"role_avg_IP": 4.818,
"recent_avg_IP": 4.8,
"last_start_IP": 4.0,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": -0.304,
"sample_weight": 0.864,
"run_prevention_factor": 1.0258,
"strikeout_factor": 1.0089,
"walk_factor": 1.0086,
"homer_factor": 1.0807,
"regression_flag": "neutral",
"k_percent": 22.9,
"bb_percent": 9.7,
"woba": 0.348,
"xwoba": 0.341,
"barrel_percent": 8.9,
"hard_hit_percent": 44.6,
"whiff_percent": 25.9
},
"espn_rank": {
"rank": 261,
"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": 11.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6875,
"prior_weight": 0.3125
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "579328",
"report_date": "20260916",
"season_year": 2026,
"rows_used": 11,
"reference_playing_time": 4.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 24.0,
"ER": 8.0,
"R": 8.0,
"H": 23.0,
"BB": 10.0,
"SO": 22.0,
"HR": 4.0,
"BF": 103.0,
"Pitches": 393.0
},
"per_game": {
"IP": 4.2,
"ER": 1.6,
"R": 1.6,
"H": 4.6,
"BB": 2.0,
"SO": 4.4,
"HR": 0.8,
"BF": 20.6,
"Pitches": 78.6
},
"rates": {
"ERA": 3.0,
"WHIP": 1.375,
"ER_per_IP": 0.33333,
"H_per_IP": 0.95833,
"BB_per_IP": 0.41667,
"SO_per_IP": 0.91667,
"HR_per_IP": 0.16667
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 48.2,
"ER": 26.0,
"R": 26.0,
"H": 48.0,
"BB": 22.0,
"SO": 51.0,
"HR": 6.0,
"BF": 214.0,
"Pitches": 839.0
},
"per_game": {
"IP": 5.0,
"ER": 2.6,
"R": 2.6,
"H": 4.8,
"BB": 2.2,
"SO": 5.1,
"HR": 0.6,
"BF": 21.4,
"Pitches": 83.9
},
"rates": {
"ERA": 4.8082,
"WHIP": 1.4384,
"ER_per_IP": 0.53425,
"H_per_IP": 0.9863,
"BB_per_IP": 0.45205,
"SO_per_IP": 1.04795,
"HR_per_IP": 0.12329
}
},
"season": {
"games": 11,
"totals": {
"IP": 53.0,
"ER": 28.0,
"R": 28.0,
"H": 56.0,
"BB": 23.0,
"SO": 54.0,
"HR": 7.0,
"BF": 236.0,
"Pitches": 925.0
},
"per_game": {
"IP": 4.2,
"ER": 2.5455,
"R": 2.5455,
"H": 5.0909,
"BB": 2.0909,
"SO": 4.9091,
"HR": 0.6364,
"BF": 21.4545,
"Pitches": 84.0909
},
"rates": {
"ERA": 4.7547,
"WHIP": 1.4906,
"ER_per_IP": 0.5283,
"H_per_IP": 1.0566,
"BB_per_IP": 0.43396,
"SO_per_IP": 1.01887,
"HR_per_IP": 0.13208
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 4.2,
"predicted_ER": 2.192,
"predicted_H": 4.669,
"predicted_BB": 1.964,
"predicted_SO": 4.6,
"predicted_HR": 0.69,
"predicted_ERA": 4.1566,
"predicted_WHIP": 1.3973
}
},
"model_form_blend_trace": {
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.482,
"form_weight": 0.518,
"form_reliability": 0.6875,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6875,
"prior_weight": 0.3125
},
"applied_metrics": {
"predicted_IP": {
"model": 4.2,
"form": 4.2,
"final": 4.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 2.192,
"final": 3.0635,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 4.669,
"final": 4.3465,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.964,
"final": 1.9814,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 6.0,
"form": 4.6,
"final": 5.2748,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.69,
"final": 0.8394,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.1566,
"final": 4.1566,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3973,
"final": 1.3973,
"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": 48.2,
"ER": 26,
"H": 48,
"BB": 22,
"SO": 51,
"HR": 6,
"ERA": 4.808219178082191,
"WHIP": 1.4383561643835614,
"K9": 9.431506849315067,
"HR9": 1.1095890410958904,
"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-11T00:00:00"
},
"recent_form_boost": 1.0458722691753928,
"stat_evolution": [
{
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_IP": 4.666666666666667,
"predicted_ER": 4.0,
"predicted_H": 4.0,
"predicted_BB": 2.0,
"predicted_SO": 6.0,
"predicted_HR": 1.0
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 11.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6875,
"prior_weight": 0.3125
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "579328",
"player_name": "Yusei Kikuchi",
"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": 4.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 4.6667,
"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": 2.0,
"predicted_ER": 4.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 4.2,
"predicted_R": 4.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": 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": 4.6667,
"after": 4.2,
"delta": -0.4667,
"percent_delta": -0.1,
"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": 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": 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": 4.6667,
"after": 4.2,
"delta": -0.4667,
"percent_delta": -0.1,
"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": 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": "LAA",
"games": 151,
"wins": 58,
"losses": 93,
"win_pct": 0.3841,
"runs_scored": 612.0,
"runs_allowed": 685.0,
"run_differential": -73.0,
"run_differential_per_game": -0.4834,
"avg_runs_scored": 4.053,
"avg_runs_allowed": 4.5364,
"offense_index": 0.901,
"defense_index": 0.9916,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.1,
"avg_runs_allowed": 3.3,
"run_differential": 8.0
},
"available": true,
"quality_score": -0.1576
},
"opponent": {
"team": "SEA",
"games": 152,
"wins": 70,
"losses": 82,
"win_pct": 0.4605,
"runs_scored": 617.0,
"runs_allowed": 678.0,
"run_differential": -61.0,
"run_differential_per_game": -0.4013,
"avg_runs_scored": 4.0592,
"avg_runs_allowed": 4.4605,
"offense_index": 0.9023,
"defense_index": 1.0085,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.2,
"avg_runs_allowed": 4.4,
"run_differential": 8.0
},
"available": true,
"quality_score": -0.1176
},
"edges": {
"quality_edge": -0.04,
"offense_edge": -0.099,
"opponent_offense_edge": -0.0977,
"defense_strength": -0.0084,
"opponent_defense_weakness": -0.0085,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0021,
"run_prevention": 0.9872,
"strikeout": 1.0066
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "579328",
"profile": {
"available": true,
"pitcher_id": "579328",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 216.0,
"k_percent": 22.9,
"bb_percent": 9.7,
"woba": 0.348,
"xwoba": 0.341,
"sweet_spot_percent": 35.7,
"barrel_batted_rate": 8.9,
"hard_hit_percent": 44.6,
"avg_best_speed": 80.2679,
"avg_hyper_speed": 95.4974,
"whiff_percent": 25.9,
"swing_percent": 48.9
},
"league_medians": {
"pa": 132.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6025,
"avg_hyper_speed": 93.9171,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.6991,
"command_and_miss": 0.0779,
"regression_edge": 0.2,
"xwoba_edge": -0.8286,
"barrel_edge": -0.3778,
"hard_hit_edge": -0.9571,
"whiff_edge": 0.1286,
"bb_edge": -0.125,
"pitch_design_score": -0.0071
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "579328",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 79,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 79,
"pitch_usage": 0.0,
"release_speed": 89.72263736852227,
"release_spin_rate": 2212.968928007645,
"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": 79,
"pitch_usage": 0.0,
"release_speed": 89.72263736852227,
"release_spin_rate": 2212.968928007645,
"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.7226,
"release_spin_rate": 2212.9689,
"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.0071,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0505,
"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.304,
"sample_weight": 0.864,
"run_prevention_factor": 1.0258,
"strikeout_factor": 1.0089,
"walk_factor": 1.0086,
"homer_factor": 1.0807,
"woba_minus_xwoba": 0.007,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "579328",
"espn_id": 41415,
"player_name": "Yusei Kikuchi",
"team": "LAA",
"role": "pitcher",
"espn_rank": 261,
"espn_total_ranked": 862,
"metrics": {
"espn_rank": 261,
"gp_value": 11.0,
"gp_rank": 519,
"gs_value": 11.0,
"gs_rank": 165,
"qs_value": 3.0,
"qs_rank": 142,
"era_value": 4.7547,
"era_rank": null,
"w_value": 1.0,
"w_rank": 418,
"l_value": 5.0,
"l_rank": 144,
"sv_value": 0.0,
"sv_rank": 253,
"hld_value": 0.0,
"hld_rank": 357,
"ip_value": 53.0,
"ip_rank": 299,
"h_value": 56.0,
"h_rank": 218,
"er_value": 28.0,
"er_rank": 221,
"hr_value": 7.0,
"hr_rank": 237,
"bb_value": 23.0,
"bb_rank": 250,
"k_value": 54.0,
"k_rank": 279,
"k_per_9_value": 9.169811,
"k_per_9_rank": 25,
"whip_value": 1.4905,
"whip_rank": null,
"war_value": 0.48,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0223,
"adjusted": 2
},
"predicted_H": {
"original": 5.0,
"factor": 1.0223,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 1.0074,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0697,
"adjusted": 1
},
"predicted_SO": {
"original": 4.0,
"factor": 1.0077,
"adjusted": 4
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 4.2,
"predicted_H": 4,
"predicted_R": 4,
"predicted_ER": 4,
"predicted_BB": 2,
"predicted_SO": 6,
"predicted_HR": 1,
"box_score_synced": true,
"BF": 20,
"Pitches": 91,
"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."
},
{
"code": "WALK_COMPONENT_MISS",
"severity": "warning",
"title": "Walk component missed",
"detail": "Actual minus predicted walks was +3."
}
],
"provenance": {
"prediction": "output/games/20260916_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"
}
} |
| 20260916 | 20260916_SF@STL | away | Anthony Molina | Anthony Molina | True | 4.2 | 5.2 | 3 | 2 | 0 | -2 | 4/2 | 3/1 | 6/6 | Last 10 before this game (7 available){
"model_context": {
"embedded_season": {
"ERA": 5.238805970149254,
"WHIP": 1.2537313432835822,
"IP": 22.1,
"games_started": null,
"games_pitched": 7,
"role_avg_IP": 4.333,
"recent_avg_IP": 4.333,
"last_start_IP": 3.0,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": -0.0393,
"sample_weight": 0.45,
"run_prevention_factor": 1.0033,
"strikeout_factor": 0.992,
"walk_factor": 0.9649,
"homer_factor": 1.0006,
"regression_flag": "neutral",
"k_percent": 20.2,
"bb_percent": 5.3,
"woba": 0.323,
"xwoba": 0.321,
"barrel_percent": 7.1,
"hard_hit_percent": 37.1,
"whiff_percent": 23.7
},
"espn_rank": {
"rank": 692,
"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.7627118644067797,
"last_10": 0.23728813559322032
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5833,
"prior_weight": 0.4167
},
"role": "pitcher",
"pitcher_usage_role": "starter",
"player_id": "683627",
"report_date": "20260916",
"season_year": 2026,
"rows_used": 7,
"reference_playing_time": 4.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 19.1,
"ER": 12.0,
"R": 14.0,
"H": 20.0,
"BB": 4.0,
"SO": 17.0,
"HR": 3.0,
"BF": 82.0,
"Pitches": 319.0
},
"per_game": {
"IP": 4.0,
"ER": 2.4,
"R": 2.8,
"H": 4.0,
"BB": 0.8,
"SO": 3.4,
"HR": 0.6,
"BF": 16.4,
"Pitches": 63.8
},
"rates": {
"ERA": 5.5862,
"WHIP": 1.2414,
"ER_per_IP": 0.62069,
"H_per_IP": 1.03448,
"BB_per_IP": 0.2069,
"SO_per_IP": 0.87931,
"HR_per_IP": 0.15517
}
},
"last_10": {
"games": 7,
"totals": {
"IP": 22.1,
"ER": 13.0,
"R": 16.0,
"H": 23.0,
"BB": 5.0,
"SO": 19.0,
"HR": 3.0,
"BF": 94.0,
"Pitches": 374.0
},
"per_game": {
"IP": 3.1,
"ER": 1.8571,
"R": 2.2857,
"H": 3.2857,
"BB": 0.7143,
"SO": 2.7143,
"HR": 0.4286,
"BF": 13.4286,
"Pitches": 53.4286
},
"rates": {
"ERA": 5.2388,
"WHIP": 1.2537,
"ER_per_IP": 0.58209,
"H_per_IP": 1.02985,
"BB_per_IP": 0.22388,
"SO_per_IP": 0.85075,
"HR_per_IP": 0.13433
}
},
"season": {
"games": 7,
"totals": {
"IP": 22.1,
"ER": 13.0,
"R": 16.0,
"H": 23.0,
"BB": 5.0,
"SO": 19.0,
"HR": 3.0,
"BF": 94.0,
"Pitches": 374.0
},
"per_game": {
"IP": 3.1,
"ER": 1.8571,
"R": 2.2857,
"H": 3.2857,
"BB": 0.7143,
"SO": 2.7143,
"HR": 0.4286,
"BF": 13.4286,
"Pitches": 53.4286
},
"rates": {
"ERA": 5.2388,
"WHIP": 1.2537,
"ER_per_IP": 0.58209,
"H_per_IP": 1.02985,
"BB_per_IP": 0.22388,
"SO_per_IP": 0.85075,
"HR_per_IP": 0.13433
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 4.1,
"predicted_ER": 2.372,
"predicted_H": 4.222,
"predicted_BB": 1.165,
"predicted_SO": 3.767,
"predicted_HR": 0.623,
"predicted_ERA": 5.1008,
"predicted_WHIP": 1.287
}
},
"model_form_blend_trace": {
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5261,
"form_weight": 0.4739,
"form_reliability": 0.5833,
"adaptive_parameters": {
"player.model_weight": 0.5,
"player.form_reliability_floor": 0.35
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5833,
"prior_weight": 0.4167
},
"applied_metrics": {
"predicted_IP": {
"model": 4.2,
"form": 4.1,
"final": 4.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 2.372,
"final": 2.1763,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 4.222,
"final": 4.1052,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 1.165,
"final": 2.1303,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 3.767,
"final": 4.4156,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.623,
"final": 0.8213,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.1008,
"final": 5.1008,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.287,
"final": 1.287,
"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": 22.1,
"ER": 13,
"H": 23,
"BB": 5,
"SO": 19,
"HR": 3,
"ERA": 5.238805970149254,
"WHIP": 1.2537313432835822,
"K9": 7.656716417910448,
"HR9": 1.2089552238805972,
"games_pitched": 7,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 7,
"error_prone": false
},
"games_count": 7,
"latest_game_date": "2026-09-11T00:00:00"
},
"recent_form_boost": 1.0659472010468385,
"stat_evolution": [
{
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_IP": 4.666666666666667,
"predicted_ER": 2.0,
"predicted_H": 4.0,
"predicted_BB": 3.0,
"predicted_SO": 5.0,
"predicted_HR": 1.0
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5833,
"prior_weight": 0.4167
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "683627",
"player_name": "Anthony Molina",
"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": 2.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 4.6667,
"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": 3.0,
"predicted_ER": 2.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 4.2,
"predicted_R": 2.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": 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": 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.2,
"delta": -0.4667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 6.0,
"delta": 1.0,
"percent_delta": 0.2,
"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": 5.0,
"after": 6.0,
"delta": 1.0,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"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": 3.0,
"after": 3.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": 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.2,
"delta": -0.4667,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 6.0,
"delta": 1.0,
"percent_delta": 0.2,
"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": 5.0,
"after": 6.0,
"delta": 1.0,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"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": "neutral"
}
}
},
"team_form_snapshot": {
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "SF",
"games": 152,
"wins": 63,
"losses": 89,
"win_pct": 0.4145,
"runs_scored": 643.0,
"runs_allowed": 714.0,
"run_differential": -71.0,
"run_differential_per_game": -0.4671,
"avg_runs_scored": 4.2303,
"avg_runs_allowed": 4.6974,
"offense_index": 0.9385,
"defense_index": 0.9596,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 4.5,
"run_differential": 6.0
},
"available": true,
"quality_score": -0.1297
},
"opponent": {
"team": "STL",
"games": 152,
"wins": 75,
"losses": 77,
"win_pct": 0.4934,
"runs_scored": 688.0,
"runs_allowed": 701.0,
"run_differential": -13.0,
"run_differential_per_game": -0.0855,
"avg_runs_scored": 4.5263,
"avg_runs_allowed": 4.6118,
"offense_index": 1.0042,
"defense_index": 0.9774,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 5.3,
"run_differential": -5.0
},
"available": true,
"quality_score": -0.051
},
"edges": {
"quality_edge": -0.0787,
"offense_edge": -0.0615,
"opponent_offense_edge": 0.0042,
"defense_strength": -0.0404,
"opponent_defense_weakness": 0.0226,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 0.9955,
"run_prevention": 1.0086,
"strikeout": 0.9973
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "683627",
"profile": {
"available": true,
"pitcher_id": "683627",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 65.0,
"k_percent": 20.2,
"bb_percent": 5.3,
"woba": 0.323,
"xwoba": 0.321,
"sweet_spot_percent": 42.9,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.1,
"avg_best_speed": 75.1025,
"avg_hyper_speed": 93.5472,
"whiff_percent": 23.7,
"swing_percent": 51.9
},
"league_medians": {
"pa": 132.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6025,
"avg_hyper_speed": 93.9171,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.1808,
"command_and_miss": 0.0143,
"regression_edge": 0.0571,
"xwoba_edge": -0.2571,
"barrel_edge": 0.0222,
"hard_hit_edge": 0.1143,
"whiff_edge": -0.1857,
"bb_edge": 0.975,
"pitch_design_score": 0.0548
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "683627",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 60,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 60,
"pitch_usage": 0.0,
"release_speed": 90.82797294429707,
"release_spin_rate": 2120.6696251105213,
"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": 60,
"pitch_usage": 0.0,
"release_speed": 90.82797294429707,
"release_spin_rate": 2120.6696251105213,
"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.828,
"release_spin_rate": 2120.6696,
"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.0548,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.3917,
"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.0393,
"sample_weight": 0.45,
"run_prevention_factor": 1.0033,
"strikeout_factor": 0.992,
"walk_factor": 0.9649,
"homer_factor": 1.0006,
"woba_minus_xwoba": 0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683627",
"espn_id": 5016983,
"player_name": "Anthony Molina",
"team": "SF",
"role": "pitcher",
"espn_rank": 692,
"espn_total_ranked": 862,
"metrics": {
"espn_rank": 692,
"gp_value": 7.0,
"gp_rank": 593,
"gs_value": 3.0,
"gs_rank": 255,
"qs_value": 0.0,
"qs_rank": 214,
"era_value": 5.2388,
"era_rank": null,
"w_value": 3.0,
"w_rank": 251,
"l_value": 1.0,
"l_rank": 433,
"sv_value": 0.0,
"sv_rank": 253,
"hld_value": 0.0,
"hld_rank": 357,
"ip_value": 22.1,
"ip_rank": 503,
"h_value": 23.0,
"h_rank": 495,
"er_value": 13.0,
"er_rank": 470,
"hr_value": 3.0,
"hr_rank": 456,
"bb_value": 5.0,
"bb_rank": 629,
"k_value": 19.0,
"k_rank": 507,
"k_per_9_value": 7.6567163,
"k_per_9_rank": 27,
"whip_value": 1.2537,
"whip_rank": null,
"war_value": -0.24,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 4.0,
"factor": 1.0015,
"adjusted": 4
},
"predicted_H": {
"original": 6.0,
"factor": 1.0015,
"adjusted": 6
},
"predicted_BB": {
"original": 1.0,
"factor": 0.9842,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0003,
"adjusted": 1
},
"predicted_SO": {
"original": 6.0,
"factor": 0.9964,
"adjusted": 6
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 4.2,
"predicted_H": 4,
"predicted_R": 2,
"predicted_ER": 2,
"predicted_BB": 3,
"predicted_SO": 6,
"predicted_HR": 1,
"box_score_synced": true,
"BF": 21,
"Pitches": 95,
"published_line_source": "scoring_simulation.box_score"
}
},
"findings": [
{
"code": "PARTIAL_PRIOR_HISTORY",
"severity": "warning",
"title": "Only 7 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/20260916_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"
}
} |
| 20260916 | 20260916_SF@STL | home | Matthew Liberatore | Matthew Liberatore | True | 5.0 | 6.0 | 3 | 4 | 1 | -3 | 6/6 | 0/3 | 7/2 | Last 10 before this game (10 available){
"model_context": {
"embedded_season": {
"ERA": 5.525581395348837,
"WHIP": 1.486046511627907,
"IP": 143.1,
"games_started": null,
"games_pitched": 29,
"role_avg_IP": 4.943,
"recent_avg_IP": 4.867,
"last_start_IP": 4.1,
"projection_source": "all_players_stats_recent_season_blend"
},
"savant": {
"quality_score": -0.4025,
"sample_weight": 1.0,
"run_prevention_factor": 1.0342,
"strikeout_factor": 1.0017,
"walk_factor": 0.982,
"homer_factor": 1.0914,
"regression_flag": "neutral",
"k_percent": 23.2,
"bb_percent": 8.3,
"woba": 0.358,
"xwoba": 0.343,
"barrel_percent": 9.4,
"hard_hit_percent": 42.4,
"whiff_percent": 24.1
},
"espn_rank": {
"rank": 850,
"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": "669461",
"report_date": "20260916",
"season_year": 2026,
"rows_used": 29,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 24.1,
"ER": 21.0,
"R": 22.0,
"H": 29.0,
"BB": 8.0,
"SO": 30.0,
"HR": 7.0,
"BF": 109.0,
"Pitches": 439.0
},
"per_game": {
"IP": 5.0,
"ER": 4.2,
"R": 4.4,
"H": 5.8,
"BB": 1.6,
"SO": 6.0,
"HR": 1.4,
"BF": 21.8,
"Pitches": 87.8
},
"rates": {
"ERA": 7.7671,
"WHIP": 1.5205,
"ER_per_IP": 0.86301,
"H_per_IP": 1.19178,
"BB_per_IP": 0.32877,
"SO_per_IP": 1.23288,
"HR_per_IP": 0.28767
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 49.2,
"ER": 36.0,
"R": 37.0,
"H": 58.0,
"BB": 16.0,
"SO": 58.0,
"HR": 10.0,
"BF": 216.0,
"Pitches": 875.0
},
"per_game": {
"IP": 5.0,
"ER": 3.6,
"R": 3.7,
"H": 5.8,
"BB": 1.6,
"SO": 5.8,
"HR": 1.0,
"BF": 21.6,
"Pitches": 87.5
},
"rates": {
"ERA": 6.5235,
"WHIP": 1.4899,
"ER_per_IP": 0.72483,
"H_per_IP": 1.16779,
"BB_per_IP": 0.32215,
"SO_per_IP": 1.16779,
"HR_per_IP": 0.20134
}
},
"season": {
"games": 29,
"totals": {
"IP": 143.1,
"ER": 88.0,
"R": 94.0,
"H": 161.0,
"BB": 52.0,
"SO": 146.0,
"HR": 27.0,
"BF": 628.0,
"Pitches": 2448.0
},
"per_game": {
"IP": 5.0,
"ER": 3.0345,
"R": 3.2414,
"H": 5.5517,
"BB": 1.7931,
"SO": 5.0345,
"HR": 0.931,
"BF": 21.6552,
"Pitches": 84.4138
},
"rates": {
"ERA": 5.5256,
"WHIP": 1.486,
"ER_per_IP": 0.61395,
"H_per_IP": 1.12326,
"BB_per_IP": 0.36279,
"SO_per_IP": 1.0186,
"HR_per_IP": 0.18837
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.0,
"predicted_ER": 3.632,
"predicted_H": 5.705,
"predicted_BB": 1.695,
"predicted_SO": 5.668,
"predicted_HR": 1.121,
"predicted_ERA": 6.5383,
"predicted_WHIP": 1.4799
}
},
"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": 5.0,
"final": 5.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 3.632,
"final": 2.9594,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 5.705,
"final": 4.5901,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 1.695,
"final": 0.9964,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 7.0,
"form": 5.668,
"final": 6.217,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 1.121,
"final": 1.0711,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 6.5383,
"final": 6.5383,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4799,
"final": 1.4799,
"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": 36,
"H": 58,
"BB": 16,
"SO": 58,
"HR": 10,
"ERA": 6.523489932885905,
"WHIP": 1.4899328859060401,
"K9": 10.510067114093959,
"HR9": 1.8120805369127515,
"games_pitched": 10,
"quality_starts": 2,
"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-11T00:00:00"
},
"recent_form_boost": 1.2401296471288723,
"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": 3.0,
"predicted_BB": 0.0,
"predicted_SO": 7.0,
"predicted_HR": 1.0
},
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 29.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8529,
"prior_weight": 0.1471
}
},
{
"step": "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": 4,
"predicted_H": 6,
"predicted_BB": 0,
"predicted_SO": 7,
"predicted_HR": 1
}
}
],
"prediction_impact_trace": {
"trace_version": "1.0",
"role": "pitcher",
"player_id": "669461",
"player_name": "Matthew Liberatore",
"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": 3.0,
"predicted_HR": 1.0,
"predicted_IP": 5.0,
"predicted_SO": 7.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"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": 4.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 5.0,
"predicted_SO": 7.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": 4.0,
"delta": 2.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 6.0,
"delta": 3.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 3.0,
"after": 6.0,
"delta": 3.0,
"percent_delta": 1.0,
"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": 4.0,
"predicted_H": 6.0,
"predicted_HR": 1.0,
"predicted_IP": 5.0,
"predicted_R": 4.0,
"predicted_SO": 7.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": 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": 5.0,
"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": 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": 4.0,
"delta": 2.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 6.0,
"delta": 3.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 3.0,
"after": 6.0,
"delta": 3.0,
"percent_delta": 1.0,
"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": 152,
"wins": 75,
"losses": 77,
"win_pct": 0.4934,
"runs_scored": 688.0,
"runs_allowed": 701.0,
"run_differential": -13.0,
"run_differential_per_game": -0.0855,
"avg_runs_scored": 4.5263,
"avg_runs_allowed": 4.6118,
"offense_index": 1.0042,
"defense_index": 0.9774,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 4.8,
"avg_runs_allowed": 5.3,
"run_differential": -5.0
},
"available": true,
"quality_score": -0.051
},
"opponent": {
"team": "SF",
"games": 152,
"wins": 63,
"losses": 89,
"win_pct": 0.4145,
"runs_scored": 643.0,
"runs_allowed": 714.0,
"run_differential": -71.0,
"run_differential_per_game": -0.4671,
"avg_runs_scored": 4.2303,
"avg_runs_allowed": 4.6974,
"offense_index": 0.9385,
"defense_index": 0.9596,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 4.5,
"run_differential": 6.0
},
"available": true,
"quality_score": -0.1297
},
"edges": {
"quality_edge": 0.0787,
"offense_edge": 0.0042,
"opponent_offense_edge": -0.0615,
"defense_strength": -0.0226,
"opponent_defense_weakness": 0.0404,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0049,
"run_prevention": 0.9885,
"strikeout": 1.0073
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "669461",
"profile": {
"available": true,
"pitcher_id": "669461",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 607.0,
"k_percent": 23.2,
"bb_percent": 8.3,
"woba": 0.358,
"xwoba": 0.343,
"sweet_spot_percent": 40.7,
"barrel_batted_rate": 9.4,
"hard_hit_percent": 42.4,
"avg_best_speed": 79.9987,
"avg_hyper_speed": 94.6638,
"whiff_percent": 24.1,
"swing_percent": 46.4
},
"league_medians": {
"pa": 132.0,
"k_percent": 22.0,
"bb_percent": 9.2,
"woba": 0.315,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.9,
"avg_best_speed": 77.6025,
"avg_hyper_speed": 93.9171,
"whiff_percent": 25.0,
"swing_percent": 47.4
},
"components": {
"contact_quality": -0.8216,
"command_and_miss": 0.0771,
"regression_edge": 0.4286,
"xwoba_edge": -0.8857,
"barrel_edge": -0.4889,
"hard_hit_edge": -0.6429,
"whiff_edge": -0.1286,
"bb_edge": 0.225,
"pitch_design_score": -0.0663
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669461",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 92,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 92,
"pitch_usage": 0.0,
"release_speed": 88.6650785479876,
"release_spin_rate": 2392.003524667166,
"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": 92,
"pitch_usage": 0.0,
"release_speed": 88.6650785479876,
"release_spin_rate": 2392.003524667166,
"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.6651,
"release_spin_rate": 2392.0035,
"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.0663,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.4735,
"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.4025,
"sample_weight": 1.0,
"run_prevention_factor": 1.0342,
"strikeout_factor": 1.0017,
"walk_factor": 0.982,
"homer_factor": 1.0914,
"woba_minus_xwoba": 0.015,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669461",
"espn_id": 41173,
"player_name": "Matthew Liberatore",
"team": "STL",
"role": "pitcher",
"espn_rank": 850,
"espn_total_ranked": 862,
"metrics": {
"espn_rank": 850,
"gp_value": 29.0,
"gp_rank": 261,
"gs_value": 29.0,
"gs_rank": 24,
"qs_value": 6.0,
"qs_rank": 93,
"era_value": 5.5255,
"era_rank": null,
"w_value": 5.0,
"w_rank": 156,
"l_value": 14.0,
"l_rank": 3,
"sv_value": 0.0,
"sv_rank": 253,
"hld_value": 0.0,
"hld_rank": 357,
"ip_value": 143.1,
"ip_rank": 61,
"h_value": 161.0,
"h_rank": 11,
"er_value": 88.0,
"er_rank": 6,
"hr_value": 27.0,
"hr_rank": 9,
"bb_value": 52.0,
"bb_rank": 40,
"k_value": 146.0,
"k_rank": 40,
"k_per_9_value": 9.167441,
"k_per_9_rank": 17,
"whip_value": 1.486,
"whip_rank": null,
"war_value": -1.13,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 4.0,
"factor": 1.0342,
"adjusted": 4
},
"predicted_H": {
"original": 6.0,
"factor": 1.0342,
"adjusted": 6
},
"predicted_BB": {
"original": 2.0,
"factor": 0.982,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0914,
"adjusted": 1
},
"predicted_SO": {
"original": 6.0,
"factor": 1.0017,
"adjusted": 6
}
}
}
},
"simulation_box_score_stats": {
"predicted_IP": 5.0,
"predicted_H": 6,
"predicted_R": 4,
"predicted_ER": 4,
"predicted_BB": 0,
"predicted_SO": 7,
"predicted_HR": 1,
"box_score_synced": true,
"BF": 22,
"Pitches": 90,
"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": "WALK_COMPONENT_MISS",
"severity": "warning",
"title": "Walk component missed",
"detail": "Actual minus predicted walks 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/20260916_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"
}
} |