Player-by-player trace from JSON pipeline. Metric-by-metric comparison without wide horizontal table dependency.
Windows shown explicitly: newly generated team recent form targets the latest 10 games; each game below shows the window actually stored in its artifact. Player historical helpers = 75 games; balancing rates = 162 games.
Savant layers shown explicitly: hitter Statcast quality, pitcher Statcast quality, and pitch movement from embedded data/all_players_stats.csv features.
Color guide: Red = final above baseline, Blue = final below baseline, Green = no difference.
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | MIL 5 - 4 LAD | MIL | 0.511 | scoring_simulation.final_score | True |
| Simulation draw | MIL 7 - 6 LAD | MIL | - | organic_score_same_winner | True |
The shipped score is reconciled to the final simulation score. The original model target remains visible as the pre-simulation audit layer.
This table distinguishes newly generated artifacts from older files. Missing trace data is shown as legacy/unavailable, never inferred.
| Priority | Change | Runtime status | Evidence |
|---|---|---|---|
| P1 | Empirical confidence blend | applied | raw=0.5101; empirical=0.5118; weight=0.5000; final=0.5110 |
| P1 | H2H margin as base feature | available | home net=8; abs=8; home delta=0.0545; away delta=-0.0545 |
| P2 | Wider score distribution | implemented_above_requested_1.4x | variance multiplier=1.6500; floor=2.7500 |
| P2 | Simulation flip control | diagnostic_only_unless_independently_supported | candidate=False; trusted=False; published flip=False |
| P3 | Season edge + recent form | implemented | window=10; season edge=0.0749; recent edge=-0.1800; blended=- |
| P3 | Continuous calibration audit | trace emitted | Checked by CONFIDENCE_CALIBRATION_APPLIED and bucket_calibration_error in learning reports. |
| Process Layer | What It Does | Stored Field | Observed Value |
|---|---|---|---|
| 1. Historical model | Starts from trained game model output. | score_evolution.steps[historical_ml] | - |
| 2. Variance layer | Applies bounded game variance before enhanced corrections. | score_evolution.steps[variance_applied] | - |
| 3. Recent/team form | Uses latest team form, recent scoring, prevention, and streak state. | enhanced_prediction_analysis.recent_form | True |
| 4. Season quality | Uses season run differential and record quality guardrails. | season_run_differential_adjustment, season_quality_guardrail | True |
| 5. Savant hitters | Applies lineup-level Statcast xwOBA, xBA, xSLG, barrel, hard-hit, sweet-spot, EV, launch-angle, whiff, K and BB quality. | savant_batter_quality_adjustment | True |
| 6. Savant pitchers | Applies starter run prevention, strikeout, walk, HR and regression factors from xwOBA, wOBA, contact quality and whiff/command. | savant_pitcher_quality_adjustment | True |
| 7. Low-score analysis | Controls unrealistic totals and preserves the pre-sync low-score expected total. | low_score_analysis | 9.8000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5110 |
| 9. Simulation reconciliation | Reconciles final shipped score with the simulation box score while retaining the pre-simulation target. | simulation_reconciliation | organic_score_same_winner |
| 10. Score evolution rendered | 7 stored score steps are rendered below. | game.score_evolution.steps | true |
| Step | Layer | Away Runs | Home Runs | Confidence | Description |
|---|---|---|---|---|---|
| 1 | historical_ml | 3.736 | 4.134 | - | Base ML historical model prediction |
| 2 | variance_applied | 4 | 4 | - | Deterministic baseline target (variance factor 1.0) |
| 3 | enhanced_prediction | 5 | 4 | 0.5110 | Enhanced ML with recent form, H2H, low-score analysis (confidence capped by matchup guardrail) |
| 4 | embedded_savant_run_environment | 5 | 4 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | fundamental_edge_target_review | 5 | 4 | - | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| 6 | capped_target | 5 | 4 | - | Capped at max 12 realistic runs |
| 7 | simulation_result | 7 | 6 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.4308530973451328,
"base_low_score_probability": 0.431025507548152,
"low_score_signal_threshold": 0.511025507548152,
"low_score_signal_strength": -0.00017241020301922427,
"confidence": 0.6002,
"factors": {
"environmental": 0.9996,
"pitcher_form": 1.0,
"team_form": 1.0,
"situational": 1.0,
"combined": 0.9996
},
"prediction": "normal_scoring",
"expected_total_runs": 13,
"pre_simulation_expected_total_runs": 9.8,
"low_score_model_expected_total_runs": 9.8,
"final_simulation_total_runs": 13,
"score_source": "scoring_simulation.final_score"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 211,
"near_bucket_sample_size": 211,
"medium_bucket_sample_size": 282,
"wide_bucket_sample_size": 329,
"global_sample_size": 503,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5118,
"bayesian_hit_rate": 0.5109,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.9214,
"confidence_cap": 0.78,
"raw_pick_probability": 0.5085,
"calibrated_pick_probability": 0.509,
"predicted_side": "away"
}{
"method": "empirical_hit_rate_weighted_v1",
"applied": true,
"reason": "raw confidence blended with verified historical bucket hit rate",
"raw_confidence": 0.5101,
"sample_size": 211,
"empirical_hit_rate": 0.5118,
"empirical_weight": 0.5,
"blended_confidence": 0.51095,
"published_confidence": 0.51095,
"published_after_governors": true
}{
"method": "h2h_net_margin_monotonic_v1",
"available": true,
"sample_size": 3,
"sample_weight": 0.0409,
"home_net_margin": 8.0,
"absolute_net_margin": 8.0,
"home_average_margin": 2.667,
"home_run_delta": 0.0545,
"away_run_delta": -0.0545,
"evidence": [
{
"game_id": null,
"home_margin": 4.0
},
{
"game_id": null,
"home_margin": 8.0
},
{
"game_id": null,
"home_margin": -4.0
}
]
}{
"applied": false,
"home": {
"team": "LAD",
"games": 120,
"wins": 72,
"losses": 48,
"win_pct": 0.6,
"runs_scored": 602,
"runs_allowed": 462,
"run_differential": 140,
"run_differential_per_game": 1.1666666666666667,
"available": true
},
"away": {
"team": "MIL",
"games": 121,
"wins": 74,
"losses": 47,
"win_pct": 0.6115702479338843,
"runs_scored": 592,
"runs_allowed": 462,
"run_differential": 130,
"run_differential_per_game": 1.0743801652892562,
"available": true
},
"run_differential_edge_per_game": 0.0923,
"win_pct_edge": -0.0116,
"quality_edge": -0.0143,
"season_quality_edge": 0.0749,
"recent_quality_blend": {
"method": "season_recent10_quality_blend_v1",
"recent_window": 10,
"season_quality_edge": 0.0749,
"recent_quality_edge": -0.18,
"season_weight": 0.65,
"recent_weight": 0.35,
"recent_reliability": 1.0,
"alignment": "conflict",
"blended_quality_edge": -0.0143
},
"margin_adjustment": 0.0,
"reason": "season quality edge below action threshold"
}{
"most_likely": [
{
"home_runs": 4,
"away_runs": 4,
"probability": 0.028323850498082878
},
{
"home_runs": 3,
"away_runs": 4,
"probability": 0.027803857018164742
},
{
"home_runs": 4,
"away_runs": 3,
"probability": 0.02736705633539282
},
{
"home_runs": 3,
"away_runs": 3,
"probability": 0.02686462850129873
},
{
"home_runs": 4,
"away_runs": 5,
"probability": 0.024896485936991685
}
],
"home_distribution": {
"0": 0.057342713209222504,
"1": 0.09665745764017473,
"2": 0.13774923742181075,
"3": 0.1659738791539727,
"4": 0.16907795694218752,
"5": 0.14562332532728425,
"6": 0.1060404598315821,
"7": 0.0652843322518834,
"8": 0.0339815383945255,
"9": 0.014954565924747483,
"10": 0.005564181561863678,
"11": 0.0017503523407455055
},
"away_distribution": {
"0": 0.05479460269454992,
"1": 0.09257150724636472,
"2": 0.1328245762727629,
"3": 0.16186058094344244,
"4": 0.16751947450942758,
"5": 0.14724856147572501,
"6": 0.10992548005664243,
"7": 0.0696959003226659,
"8": 0.037529920621241136,
"9": 0.01716364844809663,
"10": 0.006666580487221797,
"11": 0.002199166921859703
},
"model": "overdispersed_score_distribution",
"variance_multiplier": 1.65,
"variance_floor": 2.75,
"roadmap_status": "implemented_above_requested_1.4x"
}{
"applied": true,
"confidence_cap": 0.53,
"winner_flipped": false,
"reasons": [
"latest same-matchup result beat the predicted side",
"predicted side recently lost this matchup by 5+ runs",
"opponent already produced an 8+ run breakout in this matchup",
"latest-series reversal condition was suppressed"
],
"signals": {
"predicted_team": "MIL",
"opponent_team": "LAD",
"h2h_net_margin": -8,
"opponent_breakout": true,
"opponent_blowout_win": true,
"split_recent_h2h": true,
"recent_h2h": [
{
"date": "2026-05-24",
"predicted_team_runs": 1,
"opponent_runs": 5,
"margin_for_predicted_team": -4,
"winner": "LAD"
},
{
"date": "2026-05-23",
"predicted_team_runs": 3,
"opponent_runs": 11,
"margin_for_predicted_team": -8,
"winner": "LAD"
},
{
"date": "2026-05-22",
"predicted_team_runs": 5,
"opponent_runs": 1,
"margin_for_predicted_team": 4,
"winner": "MIL"
}
],
"prediction_memory": {
"available": false,
"reason": "no_verified_prior_matchup_predictions",
"verification_policy": "pregame_artifact_matched_to_one_official_final",
"verified_outcome_count": 0,
"consecutive_same_pick_count": 0,
"same_pick_actual_loss_count": 0,
"same_pick_blowout_loss_count": 0,
"prior_predictions": []
},
"guardrail_predicted_team": "MIL",
"guardrail_opponent_team": "LAD",
"output_pre_simulation_winner": "MIL",
"output_opponent_team": "LAD",
"simulation_score_winner": "MIL",
"final_score_winner": "MIL",
"pre_simulation_winner": "MIL",
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false
},
"hard_flip_suppressed": true,
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 5,
"home_runs": 4,
"score_text": "MIL 5 - 4 LAD",
"winner": "MIL"
},
"final_simulation_score": {
"away_runs": 7,
"home_runs": 6,
"score_text": "MIL 7 - 6 LAD",
"winner": "MIL"
},
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false,
"sim_flipped_pre_winner": false,
"sim_flip_trusted": false,
"sim_flip_policy": "diagnostic_only_unless_independently_supported",
"independent_margin_support": false,
"independent_margin_support_evidence": {
"pitcher_matchup_edge_home_minus_away": -0.1528,
"recent_form_edge_home_minus_away": -0.0633,
"winner_direction": "away",
"thresholds": {
"pitcher_matchup": 0.35,
"recent_form": 0.75
}
},
"margin_widening_capped": false,
"simulation_winner_agrees": true,
"away_run_delta": 2,
"home_run_delta": 2,
"total_run_delta": 4,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "organic_score_same_winner",
"final_prediction_source": "stable_final_prediction_policy",
"final_decision_policy": {
"policy_version": "model_winner_simulation_score_v1",
"away_runs": 7,
"home_runs": 6,
"winner": "MIL",
"model_winner": "MIL",
"simulation_winner": "MIL",
"simulation_winner_agrees": true,
"simulation_score_enabled": true,
"independent_margin_support": false,
"margin_widening_capped": false,
"model_margin": 1,
"simulation_margin": 1,
"simulation_usage": "organic_score_same_winner",
"score_source": "scoring_simulation.final_score",
"model_score": {
"away_runs": 5,
"home_runs": 4
},
"simulation_score": {
"away_runs": 7,
"home_runs": 6
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": 0.0143,
"winner": "MIL",
"reason": "final margin is directionally supported or within review threshold"
}
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"hard_flip_suppressed": false,
"policy": "recency_uncertainty_shrinkage_v2",
"reasons": [],
"signals": {
"home": {
"team": "LAD",
"games": 120,
"wins": 72,
"losses": 48,
"win_pct": 0.6,
"runs_scored": 602,
"runs_allowed": 462,
"run_differential": 140,
"run_differential_per_game": 1.1666666666666667,
"available": true
},
"away": {
"team": "MIL",
"games": 121,
"wins": 74,
"losses": 47,
"win_pct": 0.6115702479338843,
"runs_scored": 592,
"runs_allowed": 462,
"run_differential": 130,
"run_differential_per_game": 1.0743801652892562,
"available": true
}
}
}{
"applied": false,
"raw_margin": -0.1,
"final_margin": -0.1,
"margin_cap": 1.5,
"season_quality_edge": 0.0143,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.51095,
"final_confidence": 0.51095,
"confidence_cap": 0.66,
"score_gap": 0.1,
"calibration_sample_size": 211,
"calibration_empirical_hit_rate": 0.5118,
"calibration_bayesian_hit_rate": 0.5109,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.0143,
"reasons": [
"unvalidated probabilities are capped for production display",
"projected score gap is close",
"local calibration sample has at least 30 games",
"local calibration sample has at least 60 games",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 5,
"home_runs": 4,
"score_text": "MIL 5 - 4 LAD",
"winner": "MIL"
},
"final_simulation_score": {
"away_runs": 7,
"home_runs": 6,
"score_text": "MIL 7 - 6 LAD",
"winner": "MIL"
},
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false,
"sim_flipped_pre_winner": false,
"sim_flip_trusted": false,
"sim_flip_policy": "diagnostic_only_unless_independently_supported",
"independent_margin_support": false,
"independent_margin_support_evidence": {
"pitcher_matchup_edge_home_minus_away": -0.1528,
"recent_form_edge_home_minus_away": -0.0633,
"winner_direction": "away",
"thresholds": {
"pitcher_matchup": 0.35,
"recent_form": 0.75
}
},
"margin_widening_capped": false,
"simulation_winner_agrees": true,
"away_run_delta": 2,
"home_run_delta": 2,
"total_run_delta": 4,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "organic_score_same_winner",
"final_prediction_source": "stable_final_prediction_policy",
"final_decision_policy": {
"policy_version": "model_winner_simulation_score_v1",
"away_runs": 7,
"home_runs": 6,
"winner": "MIL",
"model_winner": "MIL",
"simulation_winner": "MIL",
"simulation_winner_agrees": true,
"simulation_score_enabled": true,
"independent_margin_support": false,
"margin_widening_capped": false,
"model_margin": 1,
"simulation_margin": 1,
"simulation_usage": "organic_score_same_winner",
"score_source": "scoring_simulation.final_score",
"model_score": {
"away_runs": 5,
"home_runs": 4
},
"simulation_score": {
"away_runs": 7,
"home_runs": 6
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": 0.0143,
"winner": "MIL",
"reason": "final margin is directionally supported or within review threshold"
}
}{
"away_runs": 7,
"home_runs": 6,
"confidence": 0.51095,
"home_win_probability": 0.48905,
"away_win_probability": 0.51095,
"predicted_score_text": "MIL 7 - 6 LAD",
"embedded_savant_score_adjustment": {
"applied": true,
"source": "all_players_stats.csv embedded temporal Savant features",
"feature_contract": {
"training_grain": "one player-game row after collapsing granular at-bat rows",
"temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
"hitter_signals": [
"xwoba",
"xba",
"xslg",
"barrel_batted_rate",
"hard_hit_percent",
"bat_speed",
"launch_quality",
"walk_rate",
"strikeout_rate"
],
"pitcher_signals": [
"xwoba_allowed",
"barrel_allowed",
"hard_hit_allowed",
"whiff_rate",
"command_score",
"movement_score",
"faced_est_woba",
"faced_strikeout_rate"
]
},
"away": {
"team": "MIL",
"original_runs": 5,
"run_delta": 0.1599,
"adjusted_runs": 5,
"lineup": {
"players_used": 9,
"total_weight": 31.0,
"quality": 0.2617026440378879,
"contact": 0.2614361909971571,
"power": 0.36042467294451397,
"discipline": 0.2773541311525433,
"xwoba": 0.32861290322580644,
"recent_xwoba": 0.32861290322580644,
"barrel": 9.2,
"ab_hard_contact": 0.005728481931764466,
"ab_bat_speed": 71.34631863941706,
"ab_strikeout_rate": 0.22778642184284845,
"available_players": 9,
"top_players": [
{
"player_id": "641343",
"player_name": "Jake Bauers",
"position": "RF",
"weight": 3.0,
"quality": 1.0051375171516213,
"contact": 1.0118302289219938,
"power": 1.3971372146479926,
"discipline": 0.407357683982684,
"xwoba": 0.369,
"recent_xwoba": 0.369,
"barrel": 14.3,
"ab_hard_contact": 0.44103000724558017,
"ab_bat_speed": 75.02918949579832,
"ab_strikeout_rate": 0.28164231601731604,
"available": 1.0
},
{
"player_id": "666152",
"player_name": "David Hamilton",
"position": "2B",
"weight": 3.0,
"quality": -0.9635345950127422,
"contact": -1.113801771992766,
"power": -1.1224870727502667,
"discipline": 0.11897186147186153,
"xwoba": 0.263,
"recent_xwoba": 0.263,
"barrel": 3.6,
"ab_hard_contact": -1.5442176454815135,
"ab_bat_speed": 63.20046370967742,
"ab_strikeout_rate": 0.24924242424242424,
"available": 1.0
},
{
"player_id": "694192",
"player_name": "Jackson Chourio",
"position": "LF",
"weight": 5.0,
"quality": 0.791754079943104,
"contact": 0.738015157259727,
"power": 1.268626171387706,
"discipline": -0.07831135531135525,
"xwoba": 0.344,
"recent_xwoba": 0.344,
"barrel": 13.9,
"ab_hard_contact": 0.7321424753731932,
"ab_bat_speed": 73.811142281106,
"ab_strikeout_rate": 0.25245421245421246,
"available": 1.0
},
{
"player_id": "669003",
"player_name": "Garrett Mitchell",
"position": "CF",
"weight": 3.0,
"quality": 0.653668256923024,
"contact": 0.6048530845316619,
"power": 1.0512254222455901,
"discipline": -0.32771031746031754,
"xwoba": 0.348,
"recent_xwoba": 0.348,
"barrel": 13.1,
"ab_hard_contact": 0.7925084449118059,
"ab_bat_speed": 75.60104640921409,
"ab_strikeout_rate": 0.36121031746031745,
"available": 1.0
},
{
"player_id": "661388",
"player_name": "William Contreras",
"position": "C",
"weight": 4.0,
"quality": 0.4475439675430844,
"contact": 0.5362069392097655,
"power": 0.36337384678078494,
"discipline": 0.46096997929606626,
"xwoba": 0.331,
"recent_xwoba": 0.331,
"barrel": 7.4,
"ab_hard_contact": 0.10747693561569868,
"ab_bat_speed": 72.0535174781523,
"ab_strikeout_rate": 0.1399585921325052,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "808963",
"player_name": "Roki Sasaki",
"quality": -0.05603334660400852,
"contact": -0.3032432816346831,
"command": 0.11944047619047607,
"movement": 0.33712108823627585,
"xwoba": 0.315,
"whiff": 29.7,
"faced_est_woba": 0.2673184860119048,
"faced_launch_speed": 83.86666666666667,
"faced_strikeout_rate": 0.23333333333333334,
"faced_run_exp": 0.006702420300892518
}
},
"home": {
"team": "LAD",
"original_runs": 4,
"run_delta": 0.0966,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 34.0,
"quality": 0.38749835056302395,
"contact": 0.45439912976431546,
"power": 0.3106851586774269,
"discipline": 0.07485327080587789,
"xwoba": 0.33299999999999996,
"recent_xwoba": 0.33299999999999996,
"barrel": 8.202941176470588,
"ab_hard_contact": 0.25548468615358844,
"ab_bat_speed": 70.55780371523483,
"ab_strikeout_rate": 0.18878678521653103,
"available_players": 8,
"top_players": [
{
"player_id": "660271",
"player_name": "Shohei Ohtani",
"position": "DH",
"weight": 4.0,
"quality": 1.520688268895754,
"contact": 1.5747835260184013,
"power": 1.9813213499568092,
"discipline": 0.4124403036576949,
"xwoba": 0.405,
"recent_xwoba": 0.405,
"barrel": 16.4,
"ab_hard_contact": 1.1818555705647658,
"ab_bat_speed": 73.76063103864735,
"ab_strikeout_rate": 0.22584541062801933,
"available": 1.0
},
{
"player_id": "518692",
"player_name": "Freddie Freeman",
"position": "1B",
"weight": 4.0,
"quality": 0.8854746498259213,
"contact": 1.2040033423524772,
"power": 0.7682269988427234,
"discipline": 0.5336613216715258,
"xwoba": 0.377,
"recent_xwoba": 0.377,
"barrel": 9.0,
"ab_hard_contact": 0.46092092923543126,
"ab_bat_speed": 69.51761088840298,
"ab_strikeout_rate": 0.1609815354713314,
"available": 1.0
},
{
"player_id": "681624",
"player_name": "Andy Pages",
"position": "CF",
"weight": 5.0,
"quality": 0.375931443373321,
"contact": 0.5299142832020393,
"power": 0.3717996569027382,
"discipline": 0.10560293410293409,
"xwoba": 0.338,
"recent_xwoba": 0.338,
"barrel": 7.8,
"ab_hard_contact": 0.2660883761500158,
"ab_bat_speed": 71.60227932805775,
"ab_strikeout_rate": 0.20875420875420878,
"available": 1.0
},
{
"player_id": "666163",
"player_name": "Ben Rortvedt",
"position": "C",
"weight": 3.0,
"quality": -0.0,
"contact": -1.112257142857143,
"power": -1.4203619047619056,
"discipline": -1.1102142857142856,
"xwoba": 0.244,
"recent_xwoba": 0.244,
"barrel": 0.0,
"ab_hard_contact": -2.0,
"ab_bat_speed": 70.29016692546583,
"ab_strikeout_rate": 0.22301587301587303,
"available": 0.0
},
{
"player_id": "663656",
"player_name": "Kyle Tucker",
"position": "RF",
"weight": 4.0,
"quality": 0.211783662106014,
"contact": 0.346756522136414,
"power": -0.06905606811887505,
"discipline": 0.6944120082815735,
"xwoba": 0.336,
"recent_xwoba": 0.336,
"barrel": 6.3,
"ab_hard_contact": -0.36474040999654034,
"ab_bat_speed": 69.65034200310559,
"ab_strikeout_rate": 0.2061594202898551,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "675660",
"player_name": "Shane Drohan",
"quality": 0.2439763698447254,
"contact": 0.30524965596746056,
"command": 0.09401190476190469,
"movement": 0.36939683787013955,
"xwoba": 0.291,
"whiff": 27.5,
"faced_est_woba": 0.2673184860119048,
"faced_launch_speed": 83.86666666666667,
"faced_strikeout_rate": 0.23333333333333334,
"faced_run_exp": 0.006702420300892518
}
}
},
"fundamental_edge_target_review": {
"applied": false,
"method": "post_score_adjustment_fundamental_edge_review_v1",
"previous_score": {
"away_runs": 5,
"home_runs": 4,
"winner_side": "away"
},
"adjusted_score": {
"away_runs": 5,
"home_runs": 4,
"winner_side": "away"
},
"signals": {
"season_quality_edge_home_minus_away": -0.0143,
"recent_form_edge_home_minus_away": -0.0633,
"pitcher_matchup_edge_home_minus_away": -0.1528,
"composite_home_edge": -0.5399,
"existing_home_win_probability": 0.491,
"refreshed_home_win_probability": 0.3,
"winner_support_before_review": 0.5399
},
"reasons": [
"target direction already matched refreshed fundamentals or margin was not fragile"
]
},
"confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Matchup recency guardrail cap enforced after calibration. Production confidence governor cap enforced.",
"pre_simulation_target": {
"away_runs": 5,
"home_runs": 4,
"predicted_score_text": "MIL 5 - 4 LAD",
"confidence": 0.51095,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "scoring_simulation.final_score",
"final_prediction_synced": true,
"final_prediction_source": "stable_final_prediction_policy",
"simulation_usage": "organic_score_same_winner",
"simulation_score_matches_prediction": true,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 5,
"home_runs": 4,
"score_text": "MIL 5 - 4 LAD",
"winner": "MIL"
},
"final_simulation_score": {
"away_runs": 7,
"home_runs": 6,
"score_text": "MIL 7 - 6 LAD",
"winner": "MIL"
},
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false,
"sim_flipped_pre_winner": false,
"sim_flip_trusted": false,
"sim_flip_policy": "diagnostic_only_unless_independently_supported",
"independent_margin_support": false,
"independent_margin_support_evidence": {
"pitcher_matchup_edge_home_minus_away": -0.1528,
"recent_form_edge_home_minus_away": -0.0633,
"winner_direction": "away",
"thresholds": {
"pitcher_matchup": 0.35,
"recent_form": 0.75
}
},
"margin_widening_capped": false,
"simulation_winner_agrees": true,
"away_run_delta": 2,
"home_run_delta": 2,
"total_run_delta": 4,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "organic_score_same_winner",
"final_prediction_source": "stable_final_prediction_policy",
"final_decision_policy": {
"policy_version": "model_winner_simulation_score_v1",
"away_runs": 7,
"home_runs": 6,
"winner": "MIL",
"model_winner": "MIL",
"simulation_winner": "MIL",
"simulation_winner_agrees": true,
"simulation_score_enabled": true,
"independent_margin_support": false,
"margin_widening_capped": false,
"model_margin": 1,
"simulation_margin": 1,
"simulation_usage": "organic_score_same_winner",
"score_source": "scoring_simulation.final_score",
"model_score": {
"away_runs": 5,
"home_runs": 4
},
"simulation_score": {
"away_runs": 7,
"home_runs": 6
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": 0.0143,
"winner": "MIL",
"reason": "final margin is directionally supported or within review threshold"
}
},
"decision_profile": {
"method": "priced_decision_profile_v2",
"winner": "MIL",
"display_confidence": 0.511,
"internal_signal_score": 0.5838,
"internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
"model_pick_probability": 0.511,
"confidence_compression_detected": true,
"moneyline_fit": "unavailable_without_market_price",
"betting_status": "price_required_before_betting_analysis",
"market_context": null,
"margin_fit": "volatile_margin_profile",
"totals_fit": "high_volatility_totals",
"winner_accuracy_and_margin_accuracy_decoupled": true,
"signals": {
"final_margin": 1,
"winner_quality_edge": 0.0143,
"winner_recent_form_edge": 0.18,
"winner_pitcher_matchup_edge": 0.1528,
"winner_simulation_draw_rate": 0.6,
"blowout_draw_rate_margin_4_plus": 0.4,
"high_total_draw_rate_11_plus": 0.6,
"low_total_draw_rate_6_or_less": 0.3,
"total_runs_spread": {
"min": 2,
"median": 12,
"max": 18,
"range": 16
}
},
"interpretation": "The internal signal is diagnostic, not a sportsbook fair price. A bet cannot be evaluated without a source-labelled market price; model/market disagreements are a pass until independently validated."
}
}Source: data/all_players_stats.csv embedded Savant hitter features. It adjusts team offense through expected production and contact quality, then records coverage so missing hitters are visible.
| Team | Applied | Offense Factor | Raw Avg Factor | Coverage Weight | Covered | Missing |
|---|---|---|---|---|---|---|
| Away MIL | True | 1.0304 | 1.0304 | 1 | 9 | 0 |
| Home LAD | True | 1.0387 | 1.0387 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| RF | Jake Bauers | 77 | 1.0983 | 1.3105 | neutral | 0.3690 | 0.2580 | 0.4830 | 14.30 | 53.50 | 92.80 | 11.50 | 27.70 | 25.60 | 13.90 | -0.2571 |
| 1B | Gary Sánchez | 193 | 1.0432 | 0.5766 | neutral | 0.3620 | 0.2290 | 0.4370 | 8.80 | 36.80 | 88.60 | 16.60 | 26.10 | 18.40 | 18.40 | -0.0286 |
| 3B | Andrew Vaughn | 183 | 1.0272 | 0.3626 | negative_batter_regression | 0.3420 | 0.2700 | 0.3990 | 5.80 | 41.90 | 89.60 | 9.40 | 19.90 | 15.10 | 11.30 | -0.9429 |
| DH | Christian Yelich | 420 | 0.9998 | -0.0022 | neutral | 0.3000 | 0.2220 | 0.3730 | 9.40 | 41.50 | 88.50 | 2.80 | 29.70 | 27.30 | 9.70 | -0.0857 |
| LF | Jackson Chourio | 90 | 1.0725 | 0.9673 | neutral | 0.3440 | 0.2580 | 0.4830 | 13.90 | 47.90 | 92.10 | 11.80 | 23.50 | 24 | 8.30 | -0.2571 |
| 2B | David Hamilton | 166 | 0.9282 | -0.9571 | neutral | 0.2630 | 0.2040 | 0.2910 | 3.60 | 26.90 | 86.50 | 12.50 | 22.90 | 22.60 | 9.40 | -0.7429 |
| C | William Contreras | 148 | 1.0475 | 0.6337 | neutral | 0.3310 | 0.2610 | 0.4340 | 7.40 | 42.70 | 89.90 | 11.80 | 20.30 | 14.10 | 8.80 | 0.5143 |
| CF | Garrett Mitchell | 78 | 1.0728 | 0.9709 | neutral | 0.3480 | 0.2550 | 0.4390 | 13.10 | 50.70 | 92.70 | 1.80 | 36.70 | 31.80 | 12.40 | 0.3143 |
| SS | Joey Ortiz | 185 | 0.9838 | -0.2154 | neutral | 0.2970 | 0.2420 | 0.3410 | 3.90 | 34.50 | 87.90 | 5.50 | 18.40 | 18.10 | 8.90 | 0.0857 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Shohei Ohtani | 33 | 1.1404 | 1.8716 | neutral | 0.4050 | 0.2940 | 0.5660 | 16.40 | 52.10 | 93.30 | 12.70 | 30.40 | 23 | 13.70 | 0.4286 |
| CF | Andy Pages | 8 | 1.0472 | 0.6297 | neutral | 0.3380 | 0.2680 | 0.4370 | 7.80 | 42.70 | 89.10 | 15.90 | 22.70 | 20.10 | 8.40 | -0.1714 |
| SS | Miguel Rojas | 208 | 1.0175 | 0.2337 | neutral | 0.3190 | 0.2890 | 0.4040 | 5.90 | 36.60 | 87 | 14.70 | 16.30 | 10.30 | 5.90 | -0.0286 |
| LF | Teoscar Hernández | 317 | 1.0223 | 0.2972 | neutral | 0.3150 | 0.2430 | 0.4100 | 9 | 42.20 | 89.40 | 15.30 | 31.40 | 26.80 | 8.20 | 0 |
| 3B | Enrique Hernández | 425 | 1.0028 | 0.0376 | negative_batter_regression | 0.3090 | 0.2510 | 0.4260 | 11.80 | 41.20 | 89.50 | 13.60 | 18 | 18.20 | 4.50 | -1.4857 |
| 1B | Freddie Freeman | 39 | 1.0962 | 1.2826 | neutral | 0.3770 | 0.3000 | 0.4890 | 9 | 42.90 | 89.80 | 12.10 | 21.90 | 16.10 | 10.40 | 0.2000 |
| 2B | Tommy Edman | 157 | 1.0058 | 0.0778 | neutral | 0.3210 | 0.2720 | 0.3810 | 6 | 36.80 | 88.70 | 11.80 | 20.80 | 20 | 6.10 | -0.3143 |
| C | Ben Rortvedt | 483 | 0.9785 | -0.2861 | positive_batter_regression | 0.2440 | 0.2640 | 0.2920 | 0 | 0 | 87.10 | -1.30 | 23.10 | 33.30 | 0 | 2 |
| RF | Kyle Tucker | 247 | 1.0378 | 0.5041 | neutral | 0.3360 | 0.2620 | 0.3950 | 6.30 | 38.10 | 88.80 | 17.20 | 21.90 | 18.30 | 12.50 | 0.4000 |
{
"home": {
"applied": true,
"offense_factor": 1.0387,
"raw_average_factor": 1.0387,
"team_espn_average_rank": 213.0,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "660271",
"player_name": "Shohei Ohtani",
"offense_factor": 1.1404,
"quality_score": 1.8716,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "660271",
"espn_id": 39832,
"player_name": "Shohei Ohtani",
"team": "LAD",
"role": "batter",
"espn_rank": 33,
"espn_total_ranked": 636,
"metrics": {
"espn_rank": 33,
"gp_value": 111.0,
"gp_rank": 99,
"ab_value": 428.0,
"ab_rank": 62,
"r_value": 77.0,
"r_rank": 9,
"h_value": 125.0,
"h_rank": 19,
"avg_value": 0.292056,
"avg_rank": 13.0,
"2b_value": 23.0,
"2b_rank": 39,
"3b_value": 2.0,
"3b_rank": 56,
"hr_value": 27.0,
"hr_rank": 9,
"rbi_value": 74.0,
"rbi_rank": 13,
"tb_value": 233.0,
"tb_rank": 197,
"bb_value": 69.0,
"bb_rank": 11,
"so_value": 117.0,
"so_rank": 39,
"sb_value": 7.0,
"sb_rank": 107,
"obp_value": 0.3925049,
"obp_rank": "3",
"slg_value": 0.5443925,
"slg_rank": "5",
"ops_value": 0.9368974,
"ops_rank": 8.0,
"war_value": 3.39,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 414.0,
"k_percent": 23.0,
"bb_percent": 13.7,
"woba": 0.39,
"xwoba": 0.405,
"xba": 0.294,
"xslg": 0.566,
"sweet_spot_percent": 39.3,
"barrel_batted_rate": 16.4,
"hard_hit_percent": 52.1,
"exit_velocity_avg": 93.3,
"launch_angle_avg": 12.7,
"whiff_percent": 30.4,
"swing_percent": 46.4
},
"components": {
"expected_quality": 2.1065,
"regression_edge": 0.4286,
"xwoba_edge": 2.5,
"xba_edge": 1.6286,
"xslg_edge": 2.5,
"barrel_edge": 2.1222,
"hard_hit_edge": 2.05,
"exit_velocity_edge": 1.88,
"sweet_spot_edge": 1.0,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "681624",
"player_name": "Andy Pages",
"offense_factor": 1.0472,
"quality_score": 0.6297,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681624",
"espn_id": 42468,
"player_name": "Andy Pages",
"team": "LAD",
"role": "batter",
"espn_rank": 8,
"espn_total_ranked": 636,
"metrics": {
"espn_rank": 8,
"gp_value": 120.0,
"gp_rank": 11,
"ab_value": 463.0,
"ab_rank": 12,
"r_value": 66.0,
"r_rank": 37,
"h_value": 125.0,
"h_rank": 19,
"avg_value": 0.2699784,
"avg_rank": 43.0,
"2b_value": 24.0,
"2b_rank": 28,
"3b_value": 2.0,
"3b_rank": 56,
"hr_value": 19.0,
"hr_rank": 48,
"rbi_value": 76.0,
"rbi_rank": 10,
"tb_value": 210.0,
"tb_rank": 303,
"bb_value": 43.0,
"bb_rank": 79,
"so_value": 104.0,
"so_rank": 60,
"sb_value": 11.0,
"sb_rank": 65,
"obp_value": 0.336557,
"obp_rank": "68",
"slg_value": 0.4535637,
"slg_rank": "44",
"ops_value": 0.7901207,
"ops_rank": 112.0,
"war_value": 4.89,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 432.0,
"k_percent": 20.1,
"bb_percent": 8.4,
"woba": 0.344,
"xwoba": 0.338,
"xba": 0.268,
"xslg": 0.437,
"sweet_spot_percent": 36.3,
"barrel_batted_rate": 7.8,
"hard_hit_percent": 42.7,
"exit_velocity_avg": 89.1,
"launch_angle_avg": 15.9,
"whiff_percent": 22.7,
"swing_percent": 48.3
},
"components": {
"expected_quality": 0.7601,
"regression_edge": -0.1714,
"xwoba_edge": 1.0143,
"xba_edge": 0.8857,
"xslg_edge": 0.9857,
"barrel_edge": 0.2111,
"hard_hit_edge": 0.7071,
"exit_velocity_edge": 0.2,
"sweet_spot_edge": 0.5,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "500743",
"player_name": "Miguel Rojas",
"offense_factor": 1.0175,
"quality_score": 0.2337,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "500743",
"espn_id": 30791,
"player_name": "Miguel Rojas",
"team": "LAD",
"role": "batter",
"espn_rank": 208,
"espn_total_ranked": 636,
"metrics": {
"espn_rank": 208,
"gp_value": 75.0,
"gp_rank": 255,
"ab_value": 166.0,
"ab_rank": 317,
"r_value": 19.0,
"r_rank": 325,
"h_value": 48.0,
"h_rank": 266,
"avg_value": 0.2891566,
"avg_rank": null,
"2b_value": 12.0,
"2b_rank": 197,
"3b_value": 0.0,
"3b_rank": 265,
"hr_value": 3.0,
"hr_rank": 336,
"rbi_value": 18.0,
"rbi_rank": 327,
"tb_value": 69.0,
"tb_rank": 2001,
"bb_value": 12.0,
"bb_rank": 338,
"so_value": 19.0,
"so_rank": 444,
"sb_value": 0.0,
"sb_rank": 408,
"obp_value": 0.3333333,
"obp_rank": "-",
"slg_value": 0.4156626,
"slg_rank": "-",
"ops_value": 0.7489959,
"ops_rank": null,
"war_value": 0.86,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 157.0,
"k_percent": 10.3,
"bb_percent": 5.9,
"woba": 0.32,
"xwoba": 0.319,
"xba": 0.289,
"xslg": 0.404,
"sweet_spot_percent": 35.9,
"barrel_batted_rate": 5.9,
"hard_hit_percent": 36.6,
"exit_velocity_avg": 87.0,
"launch_angle_avg": 14.7,
"whiff_percent": 16.3,
"swing_percent": 48.3
},
"components": {
"expected_quality": 0.3854,
"regression_edge": -0.0286,
"xwoba_edge": 0.4714,
"xba_edge": 1.4857,
"xslg_edge": 0.5143,
"barrel_edge": -0.2111,
"hard_hit_edge": -0.1643,
"exit_velocity_edge": -0.64,
"sweet_spot_edge": 0.4333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "606192",
"player_name": "Teoscar Hernández",
"offense_factor": 1.0223,
"quality_score": 0.2972,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "606192",
"espn_id": 33377,
"player_name": "Teoscar Hernandez",
"team": "LAD",
"role": "batter",
"espn_rank": 317,
"espn_total_ranked": 636,
"metrics": {
"espn_rank": 317,
"gp_value": 86.0,
"gp_rank": 205,
"ab_value": 299.0,
"ab_rank": 178,
"r_value": 47.0,
"r_rank": 127,
"h_value": 74.0,
"h_rank": 165,
"avg_value": 0.2474916,
"avg_rank": null,
"2b_value": 13.0,
"2b_rank": 184,
"3b_value": 0.0,
"3b_rank": 265,
"hr_value": 11.0,
"hr_rank": 143,
"rbi_value": 42.0,
"rbi_rank": 148,
"tb_value": 120.0,
"tb_rank": 1308,
"bb_value": 27.0,
"bb_rank": 182,
"so_value": 89.0,
"so_rank": 100,
"sb_value": 2.0,
"sb_rank": 250,
"obp_value": 0.3111782,
"obp_rank": "-",
"slg_value": 0.4013377,
"slg_rank": "-",
"ops_value": 0.7125159,
"ops_rank": null,
"war_value": 0.28,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 263.0,
"k_percent": 26.8,
"bb_percent": 8.2,
"woba": 0.315,
"xwoba": 0.315,
"xba": 0.243,
"xslg": 0.41,
"sweet_spot_percent": 30.3,
"barrel_batted_rate": 9.0,
"hard_hit_percent": 42.2,
"exit_velocity_avg": 89.4,
"launch_angle_avg": 15.3,
"whiff_percent": 31.4,
"swing_percent": 47.0
},
"components": {
"expected_quality": 0.3456,
"regression_edge": 0.0,
"xwoba_edge": 0.3571,
"xba_edge": 0.1714,
"xslg_edge": 0.6,
"barrel_edge": 0.4778,
"hard_hit_edge": 0.6357,
"exit_velocity_edge": 0.32,
"sweet_spot_edge": -0.5,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "571771",
"player_name": "Enrique Hernández",
"offense_factor": 1.0028,
"quality_score": 0.0376,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "571771",
"espn_id": 31358,
"player_name": "Enrique Hernandez",
"team": "LAD",
"role": "batter",
"espn_rank": 425,
"espn_total_ranked": 636,
"metrics": {
"espn_rank": 425,
"gp_value": 11.0,
"gp_rank": 545,
"ab_value": 21.0,
"ab_rank": 556,
"r_value": 3.0,
"r_rank": 515,
"h_value": 6.0,
"h_rank": 519,
"avg_value": 0.2857142,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 458,
"3b_value": 0.0,
"3b_rank": 265,
"hr_value": 1.0,
"hr_rank": 433,
"rbi_value": 2.0,
"rbi_rank": 523,
"tb_value": 11.0,
"tb_rank": 2806,
"bb_value": 1.0,
"bb_rank": 532,
"so_value": 4.0,
"so_rank": 572,
"sb_value": 0.0,
"sb_rank": 408,
"obp_value": 0.3181818,
"obp_rank": "-",
"slg_value": 0.5238095,
"slg_rank": "-",
"ops_value": 0.8419913,
"ops_rank": null,
"war_value": -0.03,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 4.0,
"k_percent": 18.2,
"bb_percent": 4.5,
"woba": 0.361,
"xwoba": 0.309,
"xba": 0.251,
"xslg": 0.426,
"sweet_spot_percent": 17.6,
"barrel_batted_rate": 11.8,
"hard_hit_percent": 41.2,
"exit_velocity_avg": 89.5,
"launch_angle_avg": 13.6,
"whiff_percent": 18.0,
"swing_percent": 59.5
},
"components": {
"expected_quality": 0.3391,
"regression_edge": -1.4857,
"xwoba_edge": 0.1857,
"xba_edge": 0.4,
"xslg_edge": 0.8286,
"barrel_edge": 1.1,
"hard_hit_edge": 0.4929,
"exit_velocity_edge": 0.36,
"sweet_spot_edge": -2.5,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "518692",
"player_name": "Freddie Freeman",
"offense_factor": 1.0962,
"quality_score": 1.2826,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "518692",
"espn_id": 30193,
"player_name": "Freddie Freeman",
"team": "LAD",
"role": "batter",
"espn_rank": 39,
"espn_total_ranked": 636,
"metrics": {
"espn_rank": 39,
"gp_value": 118.0,
"gp_rank": 30,
"ab_value": 445.0,
"ab_rank": 34,
"r_value": 58.0,
"r_rank": 70,
"h_value": 136.0,
"h_rank": 5,
"avg_value": 0.3056179,
"avg_rank": 6.0,
"2b_value": 27.0,
"2b_rank": 8,
"3b_value": 1.0,
"3b_rank": 115,
"hr_value": 15.0,
"hr_rank": 90,
"rbi_value": 57.0,
"rbi_rank": 63,
"tb_value": 210.0,
"tb_rank": 503,
"bb_value": 53.0,
"bb_rank": 38,
"so_value": 82.0,
"so_rank": 126,
"sb_value": 5.0,
"sb_rank": 159,
"obp_value": 0.380198,
"obp_rank": "10",
"slg_value": 0.4719101,
"slg_rank": "34",
"ops_value": 0.8521081,
"ops_rank": 24.0,
"war_value": 3.1,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 426.0,
"k_percent": 16.1,
"bb_percent": 10.4,
"woba": 0.37,
"xwoba": 0.377,
"xba": 0.3,
"xslg": 0.489,
"sweet_spot_percent": 37.7,
"barrel_batted_rate": 9.0,
"hard_hit_percent": 42.9,
"exit_velocity_avg": 89.8,
"launch_angle_avg": 12.1,
"whiff_percent": 21.9,
"swing_percent": 50.9
},
"components": {
"expected_quality": 1.4588,
"regression_edge": 0.2,
"xwoba_edge": 2.1286,
"xba_edge": 1.8,
"xslg_edge": 1.7286,
"barrel_edge": 0.4778,
"hard_hit_edge": 0.7357,
"exit_velocity_edge": 0.48,
"sweet_spot_edge": 0.7333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "669242",
"player_name": "Tommy Edman",
"offense_factor": 1.0058,
"quality_score": 0.0778,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669242",
"espn_id": 39907,
"player_name": "Tommy Edman",
"team": "LAD",
"role": "batter",
"espn_rank": 157,
"espn_total_ranked": 636,
"metrics": {
"espn_rank": 157,
"gp_value": 45.0,
"gp_rank": 380,
"ab_value": 149.0,
"ab_rank": 340,
"r_value": 21.0,
"r_rank": 305,
"h_value": 41.0,
"h_rank": 299,
"avg_value": 0.2751677,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 324,
"3b_value": 2.0,
"3b_rank": 56,
"hr_value": 3.0,
"hr_rank": 336,
"rbi_value": 22.0,
"rbi_rank": 282,
"tb_value": 60.0,
"tb_rank": 1743,
"bb_value": 10.0,
"bb_rank": 364,
"so_value": 33.0,
"so_rank": 360,
"sb_value": 3.0,
"sb_rank": 214,
"obp_value": 0.3414634,
"obp_rank": "-",
"slg_value": 0.4026845,
"slg_rank": "-",
"ops_value": 0.7441479,
"ops_rank": null,
"war_value": 1.3,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 97.0,
"k_percent": 20.0,
"bb_percent": 6.1,
"woba": 0.332,
"xwoba": 0.321,
"xba": 0.272,
"xslg": 0.381,
"sweet_spot_percent": 29.1,
"barrel_batted_rate": 6.0,
"hard_hit_percent": 36.8,
"exit_velocity_avg": 88.7,
"launch_angle_avg": 11.8,
"whiff_percent": 20.8,
"swing_percent": 48.6
},
"components": {
"expected_quality": 0.2522,
"regression_edge": -0.3143,
"xwoba_edge": 0.5286,
"xba_edge": 1.0,
"xslg_edge": 0.1857,
"barrel_edge": -0.1889,
"hard_hit_edge": -0.1357,
"exit_velocity_edge": 0.04,
"sweet_spot_edge": -0.7,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "666163",
"player_name": "Ben Rortvedt",
"offense_factor": 0.9785,
"quality_score": -0.2861,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "666163",
"espn_id": 40869,
"player_name": "Ben Rortvedt",
"team": "LAD",
"role": "batter",
"espn_rank": 483,
"espn_total_ranked": 636,
"metrics": {
"espn_rank": 483,
"gp_value": 5.0,
"gp_rank": 595,
"ab_value": 6.0,
"ab_rank": 601,
"r_value": 0.0,
"r_rank": 599,
"h_value": 1.0,
"h_rank": 584,
"avg_value": 0.1666666,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 546,
"3b_value": 0.0,
"3b_rank": 265,
"hr_value": 0.0,
"hr_rank": 507,
"rbi_value": 0.0,
"rbi_rank": 577,
"tb_value": 1.0,
"tb_rank": 3181,
"bb_value": 0.0,
"bb_rank": 584,
"so_value": 2.0,
"so_rank": 597,
"sb_value": 0.0,
"sb_rank": 408,
"obp_value": 0.1666666,
"obp_rank": "-",
"slg_value": 0.1666666,
"slg_rank": "-",
"ops_value": 0.3333332,
"ops_rank": null,
"war_value": -0.16,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 0.0,
"k_percent": 33.3,
"bb_percent": 0.0,
"woba": 0.148,
"xwoba": 0.244,
"xba": 0.264,
"xslg": 0.292,
"sweet_spot_percent": 50.0,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 0.0,
"exit_velocity_avg": 87.1,
"launch_angle_avg": -1.3,
"whiff_percent": 23.1,
"swing_percent": 50.0
},
"components": {
"expected_quality": -1.065,
"regression_edge": 2.0,
"xwoba_edge": -1.6714,
"xba_edge": 0.7714,
"xslg_edge": -1.0857,
"barrel_edge": -1.5222,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -0.6,
"sweet_spot_edge": 2.5,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "663656",
"player_name": "Kyle Tucker",
"offense_factor": 1.0378,
"quality_score": 0.5041,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663656",
"espn_id": 34967,
"player_name": "Kyle Tucker",
"team": "LAD",
"role": "batter",
"espn_rank": 247,
"espn_total_ranked": 636,
"metrics": {
"espn_rank": 247,
"gp_value": 114.0,
"gp_rank": 74,
"ab_value": 402.0,
"ab_rank": 87,
"r_value": 66.0,
"r_rank": 37,
"h_value": 96.0,
"h_rank": 103,
"avg_value": 0.2388059,
"avg_rank": 109.0,
"2b_value": 18.0,
"2b_rank": 99,
"3b_value": 3.0,
"3b_rank": 25,
"hr_value": 11.0,
"hr_rank": 143,
"rbi_value": 54.0,
"rbi_rank": 77,
"tb_value": 153.0,
"tb_rank": 681,
"bb_value": 59.0,
"bb_rank": 26,
"so_value": 86.0,
"so_rank": 106,
"sb_value": 7.0,
"sb_rank": 107,
"obp_value": 0.3376068,
"obp_rank": "64",
"slg_value": 0.380597,
"slg_rank": "118",
"ops_value": 0.7182038,
"ops_rank": 182.0,
"war_value": 0.6,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 391.0,
"k_percent": 18.3,
"bb_percent": 12.5,
"woba": 0.322,
"xwoba": 0.336,
"xba": 0.262,
"xslg": 0.395,
"sweet_spot_percent": 34.3,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 38.1,
"exit_velocity_avg": 88.8,
"launch_angle_avg": 17.2,
"whiff_percent": 21.9,
"swing_percent": 48.6
},
"components": {
"expected_quality": 0.5211,
"regression_edge": 0.4,
"xwoba_edge": 0.9571,
"xba_edge": 0.7143,
"xslg_edge": 0.3857,
"barrel_edge": -0.1222,
"hard_hit_edge": 0.05,
"exit_velocity_edge": 0.08,
"sweet_spot_edge": 0.1667,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0304,
"raw_average_factor": 1.0304,
"team_espn_average_rank": 171.11,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "RF",
"player_id": "641343",
"player_name": "Jake Bauers",
"offense_factor": 1.0983,
"quality_score": 1.3105,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "641343",
"espn_id": 35013,
"player_name": "Jake Bauers",
"team": "MIL",
"role": "batter",
"espn_rank": 77,
"espn_total_ranked": 636,
"metrics": {
"espn_rank": 77,
"gp_value": 108.0,
"gp_rank": 116,
"ab_value": 365.0,
"ab_rank": 120,
"r_value": 69.0,
"r_rank": 28,
"h_value": 98.0,
"h_rank": 95,
"avg_value": 0.2684931,
"avg_rank": 47.0,
"2b_value": 17.0,
"2b_rank": 113,
"3b_value": 2.0,
"3b_rank": 56,
"hr_value": 21.0,
"hr_rank": 30,
"rbi_value": 67.0,
"rbi_rank": 34,
"tb_value": 182.0,
"tb_rank": 410,
"bb_value": 60.0,
"bb_rank": 22,
"so_value": 109.0,
"so_rank": 52,
"sb_value": 8.0,
"sb_rank": 92,
"obp_value": 0.3744186,
"obp_rank": "12",
"slg_value": 0.4986301,
"slg_rank": "17",
"ops_value": 0.8730487,
"ops_rank": 29.0,
"war_value": 2.3,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 357.0,
"k_percent": 25.6,
"bb_percent": 13.9,
"woba": 0.378,
"xwoba": 0.369,
"xba": 0.258,
"xslg": 0.483,
"sweet_spot_percent": 37.0,
"barrel_batted_rate": 14.3,
"hard_hit_percent": 53.5,
"exit_velocity_avg": 92.8,
"launch_angle_avg": 11.5,
"whiff_percent": 27.7,
"swing_percent": 41.0
},
"components": {
"expected_quality": 1.5657,
"regression_edge": -0.2571,
"xwoba_edge": 1.9,
"xba_edge": 0.6,
"xslg_edge": 1.6429,
"barrel_edge": 1.6556,
"hard_hit_edge": 2.25,
"exit_velocity_edge": 1.68,
"sweet_spot_edge": 0.6167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "596142",
"player_name": "Gary Sánchez",
"offense_factor": 1.0432,
"quality_score": 0.5766,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "596142",
"espn_id": 31095,
"player_name": "Gary Sanchez",
"team": "MIL",
"role": "batter",
"espn_rank": 193,
"espn_total_ranked": 636,
"metrics": {
"espn_rank": 193,
"gp_value": 64.0,
"gp_rank": 306,
"ab_value": 165.0,
"ab_rank": 319,
"r_value": 31.0,
"r_rank": 224,
"h_value": 38.0,
"h_rank": 315,
"avg_value": 0.230303,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 277,
"3b_value": 1.0,
"3b_rank": 115,
"hr_value": 10.0,
"hr_rank": 153,
"rbi_value": 29.0,
"rbi_rank": 228,
"tb_value": 78.0,
"tb_rank": 1281,
"bb_value": 38.0,
"bb_rank": 111,
"so_value": 39.0,
"so_rank": 325,
"sb_value": 0.0,
"sb_rank": 408,
"obp_value": 0.3786407,
"obp_rank": "-",
"slg_value": 0.4727272,
"slg_rank": "-",
"ops_value": 0.8513679,
"ops_rank": null,
"war_value": 1.0,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 182.0,
"k_percent": 18.4,
"bb_percent": 18.4,
"woba": 0.363,
"xwoba": 0.362,
"xba": 0.229,
"xslg": 0.437,
"sweet_spot_percent": 28.8,
"barrel_batted_rate": 8.8,
"hard_hit_percent": 36.8,
"exit_velocity_avg": 88.6,
"launch_angle_avg": 16.6,
"whiff_percent": 26.1,
"swing_percent": 35.2
},
"components": {
"expected_quality": 0.8151,
"regression_edge": -0.0286,
"xwoba_edge": 1.7,
"xba_edge": -0.2286,
"xslg_edge": 0.9857,
"barrel_edge": 0.4333,
"hard_hit_edge": -0.1357,
"exit_velocity_edge": 0.0,
"sweet_spot_edge": -0.75,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "683734",
"player_name": "Andrew Vaughn",
"offense_factor": 1.0272,
"quality_score": 0.3626,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "683734",
"espn_id": 42394,
"player_name": "Andrew Vaughn",
"team": "MIL",
"role": "batter",
"espn_rank": 183,
"espn_total_ranked": 636,
"metrics": {
"espn_rank": 183,
"gp_value": 76.0,
"gp_rank": 250,
"ab_value": 210.0,
"ab_rank": 266,
"r_value": 26.0,
"r_rank": 259,
"h_value": 62.0,
"h_rank": 218,
"avg_value": 0.295238,
"avg_rank": null,
"2b_value": 16.0,
"2b_rank": 131,
"3b_value": 2.0,
"3b_rank": 56,
"hr_value": 5.0,
"hr_rank": 267,
"rbi_value": 34.0,
"rbi_rank": 200,
"tb_value": 97.0,
"tb_rank": 1262,
"bb_value": 27.0,
"bb_rank": 182,
"so_value": 38.0,
"so_rank": 331,
"sb_value": 0.0,
"sb_rank": 408,
"obp_value": 0.382716,
"obp_rank": "-",
"slg_value": 0.4619047,
"slg_rank": "-",
"ops_value": 0.8446207,
"ops_rank": null,
"war_value": 1.12,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 183.0,
"k_percent": 15.1,
"bb_percent": 11.3,
"woba": 0.375,
"xwoba": 0.342,
"xba": 0.27,
"xslg": 0.399,
"sweet_spot_percent": 33.7,
"barrel_batted_rate": 5.8,
"hard_hit_percent": 41.9,
"exit_velocity_avg": 89.6,
"launch_angle_avg": 9.4,
"whiff_percent": 19.9,
"swing_percent": 39.1
},
"components": {
"expected_quality": 0.6604,
"regression_edge": -0.9429,
"xwoba_edge": 1.1286,
"xba_edge": 0.9429,
"xslg_edge": 0.4429,
"barrel_edge": -0.2333,
"hard_hit_edge": 0.5929,
"exit_velocity_edge": 0.4,
"sweet_spot_edge": 0.0667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "592885",
"player_name": "Christian Yelich",
"offense_factor": 0.9998,
"quality_score": -0.0022,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "592885",
"espn_id": 31283,
"player_name": "Christian Yelich",
"team": "MIL",
"role": "batter",
"espn_rank": 420,
"espn_total_ranked": 636,
"metrics": {
"espn_rank": 420,
"gp_value": 83.0,
"gp_rank": 222,
"ab_value": 320.0,
"ab_rank": 152,
"r_value": 49.0,
"r_rank": 120,
"h_value": 74.0,
"h_rank": 165,
"avg_value": 0.23125,
"avg_rank": null,
"2b_value": 18.0,
"2b_rank": 99,
"3b_value": 2.0,
"3b_rank": 56,
"hr_value": 8.0,
"hr_rank": 191,
"rbi_value": 40.0,
"rbi_rank": 159,
"tb_value": 120.0,
"tb_rank": 949,
"bb_value": 35.0,
"bb_rank": 123,
"so_value": 99.0,
"so_rank": 72,
"sb_value": 10.0,
"sb_rank": 70,
"obp_value": 0.3130193,
"obp_rank": "-",
"slg_value": 0.375,
"slg_rank": "-",
"ops_value": 0.6880193,
"ops_rank": null,
"war_value": -0.02,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 288.0,
"k_percent": 27.3,
"bb_percent": 9.7,
"woba": 0.303,
"xwoba": 0.3,
"xba": 0.222,
"xslg": 0.373,
"sweet_spot_percent": 29.0,
"barrel_batted_rate": 9.4,
"hard_hit_percent": 41.5,
"exit_velocity_avg": 88.5,
"launch_angle_avg": 2.8,
"whiff_percent": 29.7,
"swing_percent": 44.9
},
"components": {
"expected_quality": 0.0114,
"regression_edge": -0.0857,
"xwoba_edge": -0.0714,
"xba_edge": -0.4286,
"xslg_edge": 0.0714,
"barrel_edge": 0.5667,
"hard_hit_edge": 0.5357,
"exit_velocity_edge": -0.04,
"sweet_spot_edge": -0.7167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "694192",
"player_name": "Jackson Chourio",
"offense_factor": 1.0725,
"quality_score": 0.9673,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694192",
"espn_id": 4917869,
"player_name": "Jackson Chourio",
"team": "MIL",
"role": "batter",
"espn_rank": 90,
"espn_total_ranked": 636,
"metrics": {
"espn_rank": 90,
"gp_value": 87.0,
"gp_rank": 197,
"ab_value": 357.0,
"ab_rank": 124,
"r_value": 58.0,
"r_rank": 70,
"h_value": 98.0,
"h_rank": 95,
"avg_value": 0.2745098,
"avg_rank": 36.0,
"2b_value": 20.0,
"2b_rank": 73,
"3b_value": 0.0,
"3b_rank": 265,
"hr_value": 17.0,
"hr_rank": 62,
"rbi_value": 48.0,
"rbi_rank": 109,
"tb_value": 169.0,
"tb_rank": 884,
"bb_value": 33.0,
"bb_rank": 136,
"so_value": 95.0,
"so_rank": 81,
"sb_value": 11.0,
"sb_rank": 65,
"obp_value": 0.3384223,
"obp_rank": "64",
"slg_value": 0.4733893,
"slg_rank": "33",
"ops_value": 0.8118116,
"ops_rank": 31.0,
"war_value": 2.08,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 301.0,
"k_percent": 24.0,
"bb_percent": 8.3,
"woba": 0.353,
"xwoba": 0.344,
"xba": 0.258,
"xslg": 0.483,
"sweet_spot_percent": 33.1,
"barrel_batted_rate": 13.9,
"hard_hit_percent": 47.9,
"exit_velocity_avg": 92.1,
"launch_angle_avg": 11.8,
"whiff_percent": 23.5,
"swing_percent": 47.1
},
"components": {
"expected_quality": 1.1666,
"regression_edge": -0.2571,
"xwoba_edge": 1.1857,
"xba_edge": 0.6,
"xslg_edge": 1.6429,
"barrel_edge": 1.5667,
"hard_hit_edge": 1.45,
"exit_velocity_edge": 1.4,
"sweet_spot_edge": -0.0333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "666152",
"player_name": "David Hamilton",
"offense_factor": 0.9282,
"quality_score": -0.9571,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "666152",
"espn_id": 42987,
"player_name": "David Hamilton",
"team": "MIL",
"role": "batter",
"espn_rank": 166,
"espn_total_ranked": 636,
"metrics": {
"espn_rank": 166,
"gp_value": 90.0,
"gp_rank": 181,
"ab_value": 251.0,
"ab_rank": 222,
"r_value": 37.0,
"r_rank": 184,
"h_value": 58.0,
"h_rank": 233,
"avg_value": 0.2310756,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": 257,
"3b_value": 2.0,
"3b_rank": 56,
"hr_value": 3.0,
"hr_rank": 336,
"rbi_value": 16.0,
"rbi_rank": 341,
"tb_value": 80.0,
"tb_rank": 1610,
"bb_value": 28.0,
"bb_rank": 177,
"so_value": 66.0,
"so_rank": 189,
"sb_value": 22.0,
"sb_rank": 15,
"obp_value": 0.3107142,
"obp_rank": "-",
"slg_value": 0.318725,
"slg_rank": "-",
"ops_value": 0.6294392,
"ops_rank": null,
"war_value": 1.24,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 222.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.289,
"xwoba": 0.263,
"xba": 0.204,
"xslg": 0.291,
"sweet_spot_percent": 25.8,
"barrel_batted_rate": 3.6,
"hard_hit_percent": 26.9,
"exit_velocity_avg": 86.5,
"launch_angle_avg": 12.5,
"whiff_percent": 22.9,
"swing_percent": 45.0
},
"components": {
"expected_quality": -0.9919,
"regression_edge": -0.7429,
"xwoba_edge": -1.1286,
"xba_edge": -0.9429,
"xslg_edge": -1.1,
"barrel_edge": -0.7222,
"hard_hit_edge": -1.55,
"exit_velocity_edge": -0.84,
"sweet_spot_edge": -1.25,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "661388",
"player_name": "William Contreras",
"offense_factor": 1.0475,
"quality_score": 0.6337,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "661388",
"espn_id": 39895,
"player_name": "William Contreras",
"team": "MIL",
"role": "batter",
"espn_rank": 148,
"espn_total_ranked": 636,
"metrics": {
"espn_rank": 148,
"gp_value": 112.0,
"gp_rank": 93,
"ab_value": 428.0,
"ab_rank": 62,
"r_value": 57.0,
"r_rank": 76,
"h_value": 111.0,
"h_rank": 54,
"avg_value": 0.2593457,
"avg_rank": 68.0,
"2b_value": 17.0,
"2b_rank": 113,
"3b_value": 1.0,
"3b_rank": 115,
"hr_value": 11.0,
"hr_rank": 143,
"rbi_value": 59.0,
"rbi_rank": 59,
"tb_value": 163.0,
"tb_rank": 826,
"bb_value": 44.0,
"bb_rank": 74,
"so_value": 67.0,
"so_rank": 184,
"sb_value": 1.0,
"sb_rank": 307,
"obp_value": 0.3305613,
"obp_rank": "79",
"slg_value": 0.3808411,
"slg_rank": "118",
"ops_value": 0.7114024,
"ops_rank": 197.0,
"war_value": 1.35,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 398.0,
"k_percent": 14.1,
"bb_percent": 8.8,
"woba": 0.313,
"xwoba": 0.331,
"xba": 0.261,
"xslg": 0.434,
"sweet_spot_percent": 31.4,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 42.7,
"exit_velocity_avg": 89.9,
"launch_angle_avg": 11.8,
"whiff_percent": 20.3,
"swing_percent": 46.6
},
"components": {
"expected_quality": 0.6532,
"regression_edge": 0.5143,
"xwoba_edge": 0.8143,
"xba_edge": 0.6857,
"xslg_edge": 0.9429,
"barrel_edge": 0.1222,
"hard_hit_edge": 0.7071,
"exit_velocity_edge": 0.52,
"sweet_spot_edge": -0.3167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "669003",
"player_name": "Garrett Mitchell",
"offense_factor": 1.0728,
"quality_score": 0.9709,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669003",
"espn_id": 4313442,
"player_name": "Garrett Mitchell",
"team": "MIL",
"role": "batter",
"espn_rank": 78,
"espn_total_ranked": 636,
"metrics": {
"espn_rank": 78,
"gp_value": 110.0,
"gp_rank": 108,
"ab_value": 349.0,
"ab_rank": 128,
"r_value": 50.0,
"r_rank": 114,
"h_value": 88.0,
"h_rank": 122,
"avg_value": 0.2521489,
"avg_rank": 81.0,
"2b_value": 24.0,
"2b_rank": 28,
"3b_value": 3.0,
"3b_rank": 25,
"hr_value": 8.0,
"hr_rank": 191,
"rbi_value": 50.0,
"rbi_rank": 100,
"tb_value": 142.0,
"tb_rank": 773,
"bb_value": 51.0,
"bb_rank": 45,
"so_value": 129.0,
"so_rank": 21,
"sb_value": 12.0,
"sb_rank": 58,
"obp_value": 0.3530864,
"obp_rank": "40",
"slg_value": 0.4068767,
"slg_rank": "95",
"ops_value": 0.7599631,
"ops_rank": 135.0,
"war_value": 2.28,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 327.0,
"k_percent": 31.8,
"bb_percent": 12.4,
"woba": 0.337,
"xwoba": 0.348,
"xba": 0.255,
"xslg": 0.439,
"sweet_spot_percent": 32.1,
"barrel_batted_rate": 13.1,
"hard_hit_percent": 50.7,
"exit_velocity_avg": 92.7,
"launch_angle_avg": 1.8,
"whiff_percent": 36.7,
"swing_percent": 43.7
},
"components": {
"expected_quality": 1.0777,
"regression_edge": 0.3143,
"xwoba_edge": 1.3,
"xba_edge": 0.5143,
"xslg_edge": 1.0143,
"barrel_edge": 1.3889,
"hard_hit_edge": 1.85,
"exit_velocity_edge": 1.64,
"sweet_spot_edge": -0.2,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "687401",
"player_name": "Joey Ortiz",
"offense_factor": 0.9838,
"quality_score": -0.2154,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687401",
"espn_id": 42958,
"player_name": "Joey Ortiz",
"team": "MIL",
"role": "batter",
"espn_rank": 185,
"espn_total_ranked": 636,
"metrics": {
"espn_rank": 185,
"gp_value": 98.0,
"gp_rank": 156,
"ab_value": 253.0,
"ab_rank": 217,
"r_value": 30.0,
"r_rank": 230,
"h_value": 61.0,
"h_rank": 223,
"avg_value": 0.2411067,
"avg_rank": null,
"2b_value": 10.0,
"2b_rank": 235,
"3b_value": 2.0,
"3b_rank": 56,
"hr_value": 5.0,
"hr_rank": 267,
"rbi_value": 29.0,
"rbi_rank": 228,
"tb_value": 90.0,
"tb_rank": 1371,
"bb_value": 27.0,
"bb_rank": 182,
"so_value": 52.0,
"so_rank": 251,
"sb_value": 8.0,
"sb_rank": 92,
"obp_value": 0.310954,
"obp_rank": "-",
"slg_value": 0.3557312,
"slg_rank": "-",
"ops_value": 0.6666852,
"ops_rank": null,
"war_value": 1.1,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 253.0,
"k_percent": 18.1,
"bb_percent": 8.9,
"woba": 0.294,
"xwoba": 0.297,
"xba": 0.242,
"xslg": 0.341,
"sweet_spot_percent": 27.2,
"barrel_batted_rate": 3.9,
"hard_hit_percent": 34.5,
"exit_velocity_avg": 87.9,
"launch_angle_avg": 5.5,
"whiff_percent": 18.4,
"swing_percent": 44.4
},
"components": {
"expected_quality": -0.2645,
"regression_edge": 0.0857,
"xwoba_edge": -0.1571,
"xba_edge": 0.1429,
"xslg_edge": -0.3857,
"barrel_edge": -0.6556,
"hard_hit_edge": -0.4643,
"exit_velocity_edge": -0.28,
"sweet_spot_edge": -1.0167,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"reason": "Baseball Savant hitter xwOBA, xBA, xSLG, exit velocity, launch angle, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted offense; ESPN rank is attached for reporting only"
}Source: data/all_players_stats.csv embedded Savant pitcher and movement features. Starter quality modifies opposing run scoring and pitcher strikeout/walk/homer expectations.
| Team | Pitcher | Available | ESPN Rank | Quality | Sample Wt | Run Prev | K Factor | BB Factor | HR Factor | Regression | xwOBA | wOBA | K% | BB% | Whiff% | Barrel% | HardHit% |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away MIL | True | 216 | 0.2510 | 1 | 0.9787 | 1.0229 | 0.9660 | 1.0082 | neutral | 0.2910 | 0.3070 | 23.80 | 7.20 | 27.50 | 8.70 | 37.20 | |
| Home LAD | True | 270 | -0.0532 | 1 | 1.0045 | 1.0354 | 1.0020 | 1.0922 | neutral | 0.3150 | 0.3390 | 23.80 | 9 | 29.70 | 10.50 | 42.70 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away MIL | True | None | 86 | 90.32 | 2540 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0224 | |
| Home LAD | True | None | 86 | 92.22 | 1705 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.1287 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0045 |
| home_runs_vs_away_pitcher | 0.9787 |
| home_pitcher_quality_edge | -0.3042 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "808963",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 372.0,
"k_percent": 23.8,
"bb_percent": 9.0,
"woba": 0.339,
"xwoba": 0.315,
"sweet_spot_percent": 35.6,
"barrel_batted_rate": 10.5,
"hard_hit_percent": 42.7,
"avg_best_speed": 79.1564,
"avg_hyper_speed": 94.436,
"whiff_percent": 29.7,
"swing_percent": 50.2
},
"league_medians": {
"pa": 108.0,
"k_percent": 22.0,
"bb_percent": 8.9,
"woba": 0.3155,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5616,
"avg_hyper_speed": 93.8784,
"whiff_percent": 25.3,
"swing_percent": 47.6
},
"components": {
"contact_quality": -0.3893,
"command_and_miss": 0.3307,
"regression_edge": 0.6857,
"xwoba_edge": -0.0857,
"barrel_edge": -0.7556,
"hard_hit_edge": -0.7286,
"whiff_edge": 0.6286,
"bb_edge": -0.025,
"pitch_design_score": 0.1287
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "808963",
"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": 92.22000082266553,
"release_spin_rate": 1704.6280166546687,
"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": 92.22000082266553,
"release_spin_rate": 1704.6280166546687,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 92.22,
"release_spin_rate": 1704.628,
"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.1287,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.9195,
"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.0532,
"sample_weight": 1.0,
"run_prevention_factor": 1.0045,
"strikeout_factor": 1.0354,
"walk_factor": 1.002,
"homer_factor": 1.0922,
"woba_minus_xwoba": 0.024,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "808963",
"espn_id": 5134638,
"player_name": "Roki Sasaki",
"team": "LAD",
"role": "pitcher",
"espn_rank": 270,
"espn_total_ranked": 806,
"metrics": {
"espn_rank": 270,
"gp_value": 20.0,
"gp_rank": 347,
"gs_value": 20.0,
"gs_rank": 74,
"qs_value": 6.0,
"qs_rank": 81,
"era_value": 4.5428,
"era_rank": null,
"w_value": 5.0,
"w_rank": 113,
"l_value": 5.0,
"l_rank": 109,
"sv_value": 0.0,
"sv_rank": 236,
"hld_value": 0.0,
"hld_rank": 318,
"ip_value": 105.0,
"ip_rank": 93,
"h_value": 94.0,
"h_rank": 90,
"er_value": 53.0,
"er_rank": 55,
"hr_value": 21.0,
"hr_rank": 15,
"bb_value": 40.0,
"bb_rank": 53,
"k_value": 106.0,
"k_rank": 60,
"k_per_9_value": 9.085714,
"k_per_9_rank": 17,
"whip_value": 1.2761,
"whip_rank": null,
"war_value": 0.38,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "675660",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 314.0,
"k_percent": 23.8,
"bb_percent": 7.2,
"woba": 0.307,
"xwoba": 0.291,
"sweet_spot_percent": 35.3,
"barrel_batted_rate": 8.7,
"hard_hit_percent": 37.2,
"avg_best_speed": 76.8041,
"avg_hyper_speed": 93.7023,
"whiff_percent": 27.5,
"swing_percent": 48.5
},
"league_medians": {
"pa": 108.0,
"k_percent": 22.0,
"bb_percent": 8.9,
"woba": 0.3155,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5616,
"avg_hyper_speed": 93.8784,
"whiff_percent": 25.3,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.2192,
"command_and_miss": 0.3107,
"regression_edge": 0.4571,
"xwoba_edge": 0.6,
"barrel_edge": -0.3556,
"hard_hit_edge": 0.0571,
"whiff_edge": 0.3143,
"bb_edge": 0.425,
"pitch_design_score": 0.0224
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "675660",
"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": 90.32131497828533,
"release_spin_rate": 2539.617793600411,
"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": 90.32131497828533,
"release_spin_rate": 2539.617793600411,
"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.3213,
"release_spin_rate": 2539.6178,
"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.0224,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1601,
"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.251,
"sample_weight": 1.0,
"run_prevention_factor": 0.9787,
"strikeout_factor": 1.0229,
"walk_factor": 0.966,
"homer_factor": 1.0082,
"woba_minus_xwoba": 0.016,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "675660",
"espn_id": 4315203,
"player_name": "Shane Drohan",
"team": "MIL",
"role": "pitcher",
"espn_rank": 216,
"espn_total_ranked": 806,
"metrics": {
"espn_rank": 216,
"gp_value": 23.0,
"gp_rank": 272,
"gs_value": 13.0,
"gs_rank": 133,
"qs_value": 5.0,
"qs_rank": 93,
"era_value": 3.8709,
"era_rank": null,
"w_value": 6.0,
"w_rank": 80,
"l_value": 4.0,
"l_rank": 139,
"sv_value": 1.0,
"sv_rank": 117,
"hld_value": 2.0,
"hld_rank": 208,
"ip_value": 93.0,
"ip_rank": 110,
"h_value": 88.0,
"h_rank": 103,
"er_value": 40.0,
"er_rank": 118,
"hr_value": 9.0,
"hr_rank": 148,
"bb_value": 28.0,
"bb_rank": 136,
"k_value": 93.0,
"k_rank": 89,
"k_per_9_value": 9.0,
"k_per_9_rank": 21,
"whip_value": 1.2473,
"whip_rank": null,
"war_value": 0.61,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0045,
"home_runs_vs_away_pitcher": 0.9787,
"home_pitcher_quality_edge": -0.3042
},
"score_before": {
"away_runs": 3.2691,
"home_runs": 3.5623
},
"score_after": {
"away_runs": 3.2838,
"home_runs": 3.4864,
"home_win_probability": 0.5117
},
"reason": "Baseball Savant xwOBA, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted starter run prevention"
}| Team | Last-10 W-L | Win % | R/G | RA/G | Run Diff | Streak | Offense | Defense |
|---|---|---|---|---|---|---|---|---|
| Away MIL | 5-5 | 0.500 | 3.70 | 4.20 | -5 | 3L | average | average |
| Home LAD | 4-6 | 0.400 | 3.80 | 5 | -12 | 3W | average | average |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away MIL | 74-47 | 0.612 | 130 | 1.074 | True |
| Home LAD | 72-48 | 0.600 | 140 | 1.167 | True |
| Signal | - | - | 0.092 | -0.014 | applied=False |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| 2026-05-24 | LAD @ MIL | 5 - 1 | LAD | 4 | blowout |
| 2026-05-23 | LAD @ MIL | 11 - 3 | LAD | 8 | blowout |
| 2026-05-22 | LAD @ MIL | 1 - 5 | MIL | 4 | blowout |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target MIL | - | - | 5 | - | - | - | - |
| Game target LAD | - | - | 4 | - | - | - | - |
| Player finalized MIL | 31 | 9 | 4 | 0 | 3 | 2 | 9 |
| Player finalized LAD | 34 | 9 | 2 | 0 | 3 | 2 | 8 |
| Player model fractional MIL | 30.68 | 6.91 | 4.25 | 1.03 | 3.81 | 3.89 | 7.83 |
| Player model fractional LAD | 30.51 | 7.09 | 3.83 | 0.98 | 3.35 | 2.69 | 6.73 |
| Simulation box MIL | 38 | 11 | 7 | 0 | 7 | 3 | 6 |
| Simulation box LAD | 39 | 12 | 6 | 1 | 6 | 1 | 7 |
If player finalized rows and game target disagree, the report now exposes that gap instead of hiding it. Fractional model rows show the unrounded prop layer before box-score realization.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away MIL | Starter | Shane Drohan | 5.20 | 3 | 3 | 7 | 1 | 4.85 | 1.29 | True |
| Away MIL | Middle Reliever | Aaron Ashby | 1.10 | 0 | 1 | 0 | 0 | 2.68 | 1.34 | True |
| Away MIL | Middle Reliever | Abner Uribe | 1 | 1 | 1 | 2 | 0 | 1.79 | 1.07 | True |
| Away MIL | Middle Reliever | Trevor Megill | 1 | 2 | 2 | 3 | 0 | 1.98 | 0.71 | True |
| Home LAD | Starter | Roki Sasaki | 5.20 | 4 | 4 | 5 | 3 | 3.74 | 1.16 | True |
| Home LAD | Middle Reliever | Edwin Díaz | 1.10 | 3 | 0 | 5 | 0 | 5.75 | 1.59 | True |
| Home LAD | Middle Reliever | Tanner Scott | 1 | 0 | 0 | 1 | 0 | 2.06 | 1.53 | True |
| Home LAD | Middle Reliever | Evan Phillips | 1 | 0 | 2 | 0 | 0 | 4.93 | 1.46 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | MIL | batter | RF | Jake Bauers | better | 9 | 5 | 4 | 6 | 3 | predicted_RBI | 2.3750 | boost | better |
| away | MIL | batter | 1B | Gary Sánchez | better | 10 | 8 | 2 | 7 | 3 | predicted_AB | 2.2950 | boost | better |
| away | MIL | batter | 3B | Andrew Vaughn | worse | 11 | 3 | 8 | 4 | 7 | predicted_AB | 2.0700 | boost | better |
| home | LAD | batter | DH | Shohei Ohtani | worse | 11 | 3 | 8 | 4 | 7 | predicted_H | 1.8820 | boost | better |
| away | MIL | batter | CF | Garrett Mitchell | better | 11 | 5 | 6 | 6 | 5 | predicted_2B | 1.7860 | boost | better |
| home | LAD | batter | 3B | Enrique Hernández | better | 11 | 5 | 6 | 6 | 5 | predicted_RBI | 1.7620 | boost | better |
| home | LAD | batter | 1B | Freddie Freeman | worse | 9 | 5 | 4 | 4 | 5 | predicted_RBI | 1.6400 | boost | better |
| home | LAD | batter | C | Ben Rortvedt | worse | 8 | 3 | 5 | 2 | 6 | predicted_AB | 1.5000 | boost | better |
| home | LAD | batter | 2B | Tommy Edman | worse | 11 | 3 | 8 | 2 | 9 | predicted_AB | 1.4630 | boost | better |
| home | LAD | batter | SS | Miguel Rojas | better | 10 | 9 | 1 | 8 | 2 | predicted_H | 1.2770 | boost | better |
| away | MIL | batter | DH | Christian Yelich | better | 9 | 5 | 4 | 6 | 3 | predicted_H | 1.1500 | boost | better |
| away | MIL | batter | LF | Jackson Chourio | better | 11 | 5 | 6 | 6 | 5 | predicted_H | 1.0900 | boost | better |
| away | MIL | batter | SS | Joey Ortiz | worse | 10 | 2 | 8 | 1 | 9 | predicted_AB | 1.0480 | boost | better |
| away | MIL | batter | 2B | David Hamilton | worse | 10 | 3 | 7 | 4 | 6 | predicted_AB | 1.0000 | boost | better |
| away | MIL | batter | C | William Contreras | worse | 11 | 2 | 9 | 1 | 10 | predicted_H | -0.8400 | deboost | worse |
| home | LAD | batter | RF | Kyle Tucker | better | 11 | 7 | 4 | 8 | 3 | predicted_2B | 0.8380 | boost | better |
| home | LAD | batter | LF | Teoscar Hernández | worse | 10 | 2 | 8 | 2 | 8 | predicted_R | -0.5480 | deboost | worse |
| away | MIL | pitcher | Starter | Shane Drohan | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| home | LAD | pitcher | Starter | Roki Sasaki | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| home | LAD | batter | CF | Andy Pages | worse | 8 | 3 | 5 | 2 | 6 | predicted_R | 0.4410 | boost | better |
| home | LAD | pitcher | Middle Reliever | Evan Phillips | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.3333 | boost | better |
| away | MIL | pitcher | Middle Reliever | Aaron Ashby | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.1000 | boost | better |
| home | LAD | pitcher | Middle Reliever | Edwin Díaz | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.1000 | boost | better |
This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.
| Field | Value |
|---|---|
| Pitcher | Shane Drohan |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.2510 |
| ESPN Rank | 216 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0224 |
| Avg Velo | 90.3213 |
| Avg Spin | 2539.6178 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.2000 |
| Pre ER | 3 |
| Pre H | 7 |
| Pre BB | 1 |
| Pre SO | 3 |
| Season ERA | 3.8710 |
| Season WHIP | 1.2473 |
| Role Avg IP | 5.2560 |
| Recent Avg IP | 5.8670 |
| Last Start IP | 5 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIL",
"games": 132,
"wins": 78,
"losses": 54,
"win_pct": 0.5909,
"runs_scored": 635.0,
"runs_allowed": 500.0,
"run_differential": 135.0,
"run_differential_per_game": 1.0227,
"avg_runs_scored": 4.8106,
"avg_runs_allowed": 3.7879,
"offense_index": 1.069,
"defense_index": 1.1881,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 4.2,
"run_differential": -5.0
},
"available": true,
"quality_score": 0.2023
},
"opponent": {
"team": "LAD",
"games": 128,
"wins": 76,
"losses": 52,
"win_pct": 0.5938,
"runs_scored": 640.0,
"runs_allowed": 488.0,
"run_differential": 152.0,
"run_differential_per_game": 1.1875,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 3.8125,
"offense_index": 1.111,
"defense_index": 1.1804,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 5.0,
"run_differential": -12.0
},
"available": true,
"quality_score": 0.1899
},
"edges": {
"quality_edge": 0.0124,
"offense_edge": 0.069,
"opponent_offense_edge": 0.111,
"defense_strength": 0.1881,
"opponent_defense_weakness": -0.1804,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0017,
"run_prevention": 0.9983,
"strikeout": 0.9915
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "675660",
"profile": {
"available": true,
"pitcher_id": "675660",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 314.0,
"k_percent": 23.8,
"bb_percent": 7.2,
"woba": 0.307,
"xwoba": 0.291,
"sweet_spot_percent": 35.3,
"barrel_batted_rate": 8.7,
"hard_hit_percent": 37.2,
"avg_best_speed": 76.8041,
"avg_hyper_speed": 93.7023,
"whiff_percent": 27.5,
"swing_percent": 48.5
},
"league_medians": {
"pa": 108.0,
"k_percent": 22.0,
"bb_percent": 8.9,
"woba": 0.3155,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5616,
"avg_hyper_speed": 93.8784,
"whiff_percent": 25.3,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.2192,
"command_and_miss": 0.3107,
"regression_edge": 0.4571,
"xwoba_edge": 0.6,
"barrel_edge": -0.3556,
"hard_hit_edge": 0.0571,
"whiff_edge": 0.3143,
"bb_edge": 0.425,
"pitch_design_score": 0.0224
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "675660",
"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": 90.32131497828533,
"release_spin_rate": 2539.617793600411,
"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": 90.32131497828533,
"release_spin_rate": 2539.617793600411,
"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.3213,
"release_spin_rate": 2539.6178,
"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.0224,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1601,
"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.251,
"sample_weight": 1.0,
"run_prevention_factor": 0.9787,
"strikeout_factor": 1.0229,
"walk_factor": 0.966,
"homer_factor": 1.0082,
"woba_minus_xwoba": 0.016,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "675660",
"espn_id": 4315203,
"player_name": "Shane Drohan",
"team": "MIL",
"role": "pitcher",
"espn_rank": 216,
"espn_total_ranked": 806,
"metrics": {
"espn_rank": 216,
"gp_value": 23.0,
"gp_rank": 272,
"gs_value": 13.0,
"gs_rank": 133,
"qs_value": 5.0,
"qs_rank": 93,
"era_value": 3.8709,
"era_rank": null,
"w_value": 6.0,
"w_rank": 80,
"l_value": 4.0,
"l_rank": 139,
"sv_value": 1.0,
"sv_rank": 117,
"hld_value": 2.0,
"hld_rank": 208,
"ip_value": 93.0,
"ip_rank": 110,
"h_value": 88.0,
"h_rank": 103,
"er_value": 40.0,
"er_rank": 118,
"hr_value": 9.0,
"hr_rank": 148,
"bb_value": 28.0,
"bb_rank": 136,
"k_value": 93.0,
"k_rank": 89,
"k_per_9_value": 9.0,
"k_per_9_rank": 21,
"whip_value": 1.2473,
"whip_rank": null,
"war_value": 0.61,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 0.9787,
"adjusted": 3
},
"predicted_H": {
"original": 6.0,
"factor": 0.9787,
"adjusted": 6
},
"predicted_BB": {
"original": 2.0,
"factor": 0.966,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0082,
"adjusted": 1
},
"predicted_SO": {
"original": 6.0,
"factor": 1.0229,
"adjusted": 6
}
}
}
}{
"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": 27,
"H": 57,
"BB": 17,
"SO": 56,
"HR": 7,
"ERA": 4.391566265060241,
"WHIP": 1.3373493975903616,
"K9": 9.10843373493976,
"HR9": 1.13855421686747,
"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-08-07T00:00:00"
}{
"available": true,
"pitcher_id": "675660",
"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": 90.32131497828533,
"release_spin_rate": 2539.617793600411,
"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": 90.32131497828533,
"release_spin_rate": 2539.617793600411,
"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.3213,
"release_spin_rate": 2539.6178,
"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.0224,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1601,
"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."
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 23.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8214,
"prior_weight": 0.1786
},
"role": "pitcher",
"player_id": "675660",
"report_date": "20260813",
"season_year": 2026,
"rows_used": 23,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 29.1,
"ER": 19.0,
"R": 19.0,
"H": 29.0,
"BB": 8.0,
"SO": 32.0,
"HR": 4.0,
"BF": 123.0,
"Pitches": 445.0
},
"per_game": {
"IP": 6.0,
"ER": 3.8,
"R": 3.8,
"H": 5.8,
"BB": 1.6,
"SO": 6.4,
"HR": 0.8,
"BF": 24.6,
"Pitches": 89.0
},
"rates": {
"ERA": 5.8295,
"WHIP": 1.2614,
"ER_per_IP": 0.64773,
"H_per_IP": 0.98864,
"BB_per_IP": 0.27273,
"SO_per_IP": 1.09091,
"HR_per_IP": 0.13636
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 55.1,
"ER": 27.0,
"R": 29.0,
"H": 57.0,
"BB": 17.0,
"SO": 56.0,
"HR": 7.0,
"BF": 236.0,
"Pitches": 875.0
},
"per_game": {
"IP": 5.2,
"ER": 2.7,
"R": 2.9,
"H": 5.7,
"BB": 1.7,
"SO": 5.6,
"HR": 0.7,
"BF": 23.6,
"Pitches": 87.5
},
"rates": {
"ERA": 4.3916,
"WHIP": 1.3373,
"ER_per_IP": 0.48795,
"H_per_IP": 1.03012,
"BB_per_IP": 0.30723,
"SO_per_IP": 1.01205,
"HR_per_IP": 0.12651
}
},
"season": {
"games": 23,
"totals": {
"IP": 93.0,
"ER": 40.0,
"R": 45.0,
"H": 88.0,
"BB": 28.0,
"SO": 93.0,
"HR": 9.0,
"BF": 390.0,
"Pitches": 1455.0
},
"per_game": {
"IP": 4.0,
"ER": 1.7391,
"R": 1.9565,
"H": 3.8261,
"BB": 1.2174,
"SO": 4.0435,
"HR": 0.3913,
"BF": 16.9565,
"Pitches": 63.2609
},
"rates": {
"ERA": 3.871,
"WHIP": 1.2473,
"ER_per_IP": 0.43011,
"H_per_IP": 0.94624,
"BB_per_IP": 0.30108,
"SO_per_IP": 1.0,
"HR_per_IP": 0.09677
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.2,
"predicted_ER": 2.974,
"predicted_H": 5.465,
"predicted_BB": 1.672,
"predicted_SO": 5.675,
"predicted_HR": 0.712,
"predicted_ERA": 4.8515,
"predicted_WHIP": 1.2938
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4255,
"form_weight": 0.5745,
"form_reliability": 0.8214,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 23.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8214,
"prior_weight": 0.1786
},
"applied_metrics": {
"predicted_IP": {
"model": 5.2,
"form": 5.2,
"final": 5.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 2.974,
"final": 2.9851,
"source": "model_form_blend"
},
"predicted_H": {
"model": 7.0,
"form": 5.465,
"final": 6.1181,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.672,
"final": 1.3861,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 5.675,
"final": 4.5369,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.712,
"final": 0.8345,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.8515,
"final": 4.8515,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2938,
"final": 1.2938,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Aaron Ashby |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.7490 |
| ESPN Rank | 239 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.5276 |
| Season WHIP | 1.4322 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIL",
"games": 132,
"wins": 78,
"losses": 54,
"win_pct": 0.5909,
"runs_scored": 635.0,
"runs_allowed": 500.0,
"run_differential": 135.0,
"run_differential_per_game": 1.0227,
"avg_runs_scored": 4.8106,
"avg_runs_allowed": 3.7879,
"offense_index": 1.069,
"defense_index": 1.1881,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 4.2,
"run_differential": -5.0
},
"available": true,
"quality_score": 0.2023
},
"opponent": {
"team": "LAD",
"games": 128,
"wins": 76,
"losses": 52,
"win_pct": 0.5938,
"runs_scored": 640.0,
"runs_allowed": 488.0,
"run_differential": 152.0,
"run_differential_per_game": 1.1875,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 3.8125,
"offense_index": 1.111,
"defense_index": 1.1804,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 5.0,
"run_differential": -12.0
},
"available": true,
"quality_score": 0.1899
},
"edges": {
"quality_edge": 0.0124,
"offense_edge": 0.069,
"opponent_offense_edge": 0.111,
"defense_strength": 0.1881,
"opponent_defense_weakness": -0.1804,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0017,
"run_prevention": 0.9983,
"strikeout": 0.9915
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "676879",
"profile": {
"available": true,
"pitcher_id": "676879",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 260.0,
"k_percent": 32.3,
"bb_percent": 11.2,
"woba": 0.301,
"xwoba": 0.269,
"sweet_spot_percent": 29.9,
"barrel_batted_rate": 4.3,
"hard_hit_percent": 39.0,
"avg_best_speed": 74.8488,
"avg_hyper_speed": 94.3418,
"whiff_percent": 32.5,
"swing_percent": 41.3
},
"league_medians": {
"pa": 108.0,
"k_percent": 22.0,
"bb_percent": 8.9,
"woba": 0.3155,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5616,
"avg_hyper_speed": 93.8784,
"whiff_percent": 25.3,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.753,
"command_and_miss": 0.9071,
"regression_edge": 0.9143,
"xwoba_edge": 1.2286,
"barrel_edge": 0.6222,
"hard_hit_edge": -0.2,
"whiff_edge": 1.0286,
"bb_edge": -0.575,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "676879",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.749,
"sample_weight": 1.0,
"run_prevention_factor": 0.9363,
"strikeout_factor": 1.1,
"walk_factor": 1.046,
"homer_factor": 0.9214,
"woba_minus_xwoba": 0.032,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "676879",
"espn_id": 41325,
"player_name": "Aaron Ashby",
"team": "MIL",
"role": "pitcher",
"espn_rank": 239,
"espn_total_ranked": 806,
"metrics": {
"espn_rank": 239,
"gp_value": 56.0,
"gp_rank": 10,
"gs_value": 1.0,
"gs_rank": 282,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 3.5276,
"era_rank": null,
"w_value": 13.0,
"w_rank": 3,
"l_value": 2.0,
"l_rank": 285,
"sv_value": 0.0,
"sv_rank": 236,
"hld_value": 10.0,
"hld_rank": 63,
"ip_value": 66.1,
"ip_rank": 161,
"h_value": 62.0,
"h_rank": 159,
"er_value": 26.0,
"er_rank": 193,
"hr_value": 5.0,
"hr_rank": 274,
"bb_value": 33.0,
"bb_rank": 89,
"k_value": 95.0,
"k_rank": 82,
"k_per_9_value": 12.889447,
"k_per_9_rank": 13,
"whip_value": 1.4321,
"whip_rank": null,
"war_value": 0.51,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9363,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9363,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.046,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9214,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.1,
"adjusted": 3
}
}
}
}{
"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": 9.2,
"ER": 4,
"H": 10,
"BB": 4,
"SO": 18,
"HR": 0,
"ERA": 3.724137931034483,
"WHIP": 1.4482758620689655,
"K9": 16.758620689655174,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-12T00:00:00"
}{
"available": false,
"pitcher_id": "676879",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"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": 13.261,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7262,
"prior_weight": 0.2738
},
"role": "pitcher",
"player_id": "676879",
"report_date": "20260813",
"season_year": 2026,
"rows_used": 56,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.2,
"ER": 0.0,
"R": 0.0,
"H": 5.0,
"BB": 2.0,
"SO": 12.0,
"HR": 0.0,
"BF": 25.0,
"Pitches": 116.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 0.4,
"SO": 2.4,
"HR": 0.0,
"BF": 5.0,
"Pitches": 23.2
},
"rates": {
"ERA": 0.0,
"WHIP": 1.2353,
"ER_per_IP": 0.0,
"H_per_IP": 0.88235,
"BB_per_IP": 0.35294,
"SO_per_IP": 2.11765,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 4.0,
"R": 5.0,
"H": 10.0,
"BB": 4.0,
"SO": 18.0,
"HR": 0.0,
"BF": 45.0,
"Pitches": 200.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.5,
"H": 1.0,
"BB": 0.4,
"SO": 1.8,
"HR": 0.0,
"BF": 4.5,
"Pitches": 20.0
},
"rates": {
"ERA": 3.7241,
"WHIP": 1.4483,
"ER_per_IP": 0.41379,
"H_per_IP": 1.03448,
"BB_per_IP": 0.41379,
"SO_per_IP": 1.86207,
"HR_per_IP": 0.0
}
},
"season": {
"games": 56,
"totals": {
"IP": 66.1,
"ER": 26.0,
"R": 31.0,
"H": 62.0,
"BB": 33.0,
"SO": 95.0,
"HR": 5.0,
"BF": 294.0,
"Pitches": 1200.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4643,
"R": 0.5536,
"H": 1.1071,
"BB": 0.5893,
"SO": 1.6964,
"HR": 0.0893,
"BF": 5.25,
"Pitches": 21.4286
},
"rates": {
"ERA": 3.5276,
"WHIP": 1.4322,
"ER_per_IP": 0.39196,
"H_per_IP": 0.93467,
"BB_per_IP": 0.49749,
"SO_per_IP": 1.43216,
"HR_per_IP": 0.07538
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.313,
"predicted_H": 1.0,
"predicted_BB": 0.411,
"predicted_SO": 1.714,
"predicted_HR": 0.054,
"predicted_ERA": 2.6828,
"predicted_WHIP": 1.345
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4657,
"form_weight": 0.5343,
"form_reliability": 0.7262,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 13.261,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.7262,
"prior_weight": 0.2738
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.313,
"final": 0.1672,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.0,
"final": 0.5343,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.411,
"final": 0.2196,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.714,
"final": 1.3815,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.054,
"final": 0.0289,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.6828,
"final": 2.6828,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.345,
"final": 1.345,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Abner Uribe |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.4727 |
| ESPN Rank | 68 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 1 |
| Pre H | 2 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.0483 |
| Season WHIP | 1.0345 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIL",
"games": 132,
"wins": 78,
"losses": 54,
"win_pct": 0.5909,
"runs_scored": 635.0,
"runs_allowed": 500.0,
"run_differential": 135.0,
"run_differential_per_game": 1.0227,
"avg_runs_scored": 4.8106,
"avg_runs_allowed": 3.7879,
"offense_index": 1.069,
"defense_index": 1.1881,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 4.2,
"run_differential": -5.0
},
"available": true,
"quality_score": 0.2023
},
"opponent": {
"team": "LAD",
"games": 128,
"wins": 76,
"losses": 52,
"win_pct": 0.5938,
"runs_scored": 640.0,
"runs_allowed": 488.0,
"run_differential": 152.0,
"run_differential_per_game": 1.1875,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 3.8125,
"offense_index": 1.111,
"defense_index": 1.1804,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 5.0,
"run_differential": -12.0
},
"available": true,
"quality_score": 0.1899
},
"edges": {
"quality_edge": 0.0124,
"offense_edge": 0.069,
"opponent_offense_edge": 0.111,
"defense_strength": 0.1881,
"opponent_defense_weakness": -0.1804,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0017,
"run_prevention": 0.9983,
"strikeout": 0.9915
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "682842",
"profile": {
"available": true,
"pitcher_id": "682842",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 159.0,
"k_percent": 25.1,
"bb_percent": 9.4,
"woba": 0.238,
"xwoba": 0.26,
"sweet_spot_percent": 25.8,
"barrel_batted_rate": 1.6,
"hard_hit_percent": 31.5,
"avg_best_speed": 76.1427,
"avg_hyper_speed": 93.0953,
"whiff_percent": 26.4,
"swing_percent": 43.4
},
"league_medians": {
"pa": 108.0,
"k_percent": 22.0,
"bb_percent": 8.9,
"woba": 0.3155,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5616,
"avg_hyper_speed": 93.8784,
"whiff_percent": 25.3,
"swing_percent": 47.6
},
"components": {
"contact_quality": 1.333,
"command_and_miss": 0.2293,
"regression_edge": -0.6286,
"xwoba_edge": 1.4857,
"barrel_edge": 1.2222,
"hard_hit_edge": 0.8714,
"whiff_edge": 0.1571,
"bb_edge": -0.125,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "682842",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.4727,
"sample_weight": 0.636,
"run_prevention_factor": 0.9598,
"strikeout_factor": 1.0153,
"walk_factor": 1.0064,
"homer_factor": 0.8873,
"woba_minus_xwoba": -0.022,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682842",
"espn_id": 4917865,
"player_name": "Abner Uribe",
"team": "MIL",
"role": "pitcher",
"espn_rank": 68,
"espn_total_ranked": 806,
"metrics": {
"espn_rank": 68,
"gp_value": 49.0,
"gp_rank": 50,
"gs_value": 0.0,
"gs_rank": 339,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 2.0482,
"era_rank": null,
"w_value": 4.0,
"w_rank": 149,
"l_value": 2.0,
"l_rank": 285,
"sv_value": 6.0,
"sv_rank": 32,
"hld_value": 18.0,
"hld_rank": 15,
"ip_value": 48.1,
"ip_rank": 247,
"h_value": 32.0,
"h_rank": 346,
"er_value": 11.0,
"er_rank": 446,
"hr_value": 3.0,
"hr_rank": 393,
"bb_value": 18.0,
"bb_rank": 270,
"k_value": 48.0,
"k_rank": 248,
"k_per_9_value": 8.937931,
"k_per_9_rank": 27,
"whip_value": 1.0344,
"whip_rank": null,
"war_value": 1.91,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9744,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9744,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0041,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9283,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0097,
"adjusted": 2
}
}
}
}{
"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": 9.2,
"ER": 0,
"H": 7,
"BB": 3,
"SO": 13,
"HR": 0,
"ERA": 0.0,
"WHIP": 1.0344827586206897,
"K9": 12.10344827586207,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-09T00:00:00"
}{
"available": false,
"pitcher_id": "682842",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"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": 9.663,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.659,
"prior_weight": 0.341
},
"role": "pitcher",
"player_id": "682842",
"report_date": "20260813",
"season_year": 2026,
"rows_used": 49,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 3.0,
"SO": 6.0,
"HR": 0.0,
"BF": 21.0,
"Pitches": 96.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.2,
"BB": 0.6,
"SO": 1.2,
"HR": 0.0,
"BF": 4.2,
"Pitches": 19.2
},
"rates": {
"ERA": 0.0,
"WHIP": 0.8,
"ER_per_IP": 0.0,
"H_per_IP": 0.2,
"BB_per_IP": 0.6,
"SO_per_IP": 1.2,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 0.0,
"R": 0.0,
"H": 7.0,
"BB": 3.0,
"SO": 13.0,
"HR": 0.0,
"BF": 39.0,
"Pitches": 168.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.7,
"BB": 0.3,
"SO": 1.3,
"HR": 0.0,
"BF": 3.9,
"Pitches": 16.8
},
"rates": {
"ERA": 0.0,
"WHIP": 1.0345,
"ER_per_IP": 0.0,
"H_per_IP": 0.72414,
"BB_per_IP": 0.31034,
"SO_per_IP": 1.34483,
"HR_per_IP": 0.0
}
},
"season": {
"games": 49,
"totals": {
"IP": 48.1,
"ER": 11.0,
"R": 11.0,
"H": 32.0,
"BB": 18.0,
"SO": 48.0,
"HR": 3.0,
"BF": 191.0,
"Pitches": 758.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2245,
"R": 0.2245,
"H": 0.6531,
"BB": 0.3673,
"SO": 0.9796,
"HR": 0.0612,
"BF": 3.898,
"Pitches": 15.4694
},
"rates": {
"ERA": 2.0483,
"WHIP": 1.0345,
"ER_per_IP": 0.22759,
"H_per_IP": 0.66207,
"BB_per_IP": 0.37241,
"SO_per_IP": 0.9931,
"HR_per_IP": 0.06207
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.199,
"predicted_H": 0.645,
"predicted_BB": 0.422,
"predicted_SO": 1.122,
"predicted_HR": 0.059,
"predicted_ERA": 1.7942,
"predicted_WHIP": 1.067
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4941,
"form_weight": 0.5059,
"form_reliability": 0.659,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.663,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.659,
"prior_weight": 0.341
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.199,
"final": 0.5948,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.645,
"final": 1.3145,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.422,
"final": 0.2135,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.122,
"final": 1.0617,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.059,
"final": 0.0298,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 1.7942,
"final": 1.7942,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.067,
"final": 1.067,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Trevor Megill |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.4348 |
| ESPN Rank | 95 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 2 |
| Pre H | 3 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 1.7234 |
| Season WHIP | 0.8085 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIL",
"games": 132,
"wins": 78,
"losses": 54,
"win_pct": 0.5909,
"runs_scored": 635.0,
"runs_allowed": 500.0,
"run_differential": 135.0,
"run_differential_per_game": 1.0227,
"avg_runs_scored": 4.8106,
"avg_runs_allowed": 3.7879,
"offense_index": 1.069,
"defense_index": 1.1881,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 4.2,
"run_differential": -5.0
},
"available": true,
"quality_score": 0.2023
},
"opponent": {
"team": "LAD",
"games": 128,
"wins": 76,
"losses": 52,
"win_pct": 0.5938,
"runs_scored": 640.0,
"runs_allowed": 488.0,
"run_differential": 152.0,
"run_differential_per_game": 1.1875,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 3.8125,
"offense_index": 1.111,
"defense_index": 1.1804,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 5.0,
"run_differential": -12.0
},
"available": true,
"quality_score": 0.1899
},
"edges": {
"quality_edge": 0.0124,
"offense_edge": 0.069,
"opponent_offense_edge": 0.111,
"defense_strength": 0.1881,
"opponent_defense_weakness": -0.1804,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.0017,
"run_prevention": 0.9983,
"strikeout": 0.9915
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656730",
"profile": {
"available": true,
"pitcher_id": "656730",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 154.0,
"k_percent": 29.0,
"bb_percent": 6.6,
"woba": 0.197,
"xwoba": 0.25,
"sweet_spot_percent": 29.1,
"barrel_batted_rate": 5.1,
"hard_hit_percent": 41.9,
"avg_best_speed": 82.0157,
"avg_hyper_speed": 94.3435,
"whiff_percent": 31.9,
"swing_percent": 52.3
},
"league_medians": {
"pa": 108.0,
"k_percent": 22.0,
"bb_percent": 8.9,
"woba": 0.3155,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5616,
"avg_hyper_speed": 93.8784,
"whiff_percent": 25.3,
"swing_percent": 47.6
},
"components": {
"contact_quality": 1.1152,
"command_and_miss": 0.895,
"regression_edge": -1.5143,
"xwoba_edge": 1.7714,
"barrel_edge": 0.4444,
"hard_hit_edge": -0.6143,
"whiff_edge": 0.9429,
"bb_edge": 0.575,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "656730",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.4348,
"sample_weight": 0.616,
"run_prevention_factor": 0.963,
"strikeout_factor": 1.0479,
"walk_factor": 0.9717,
"homer_factor": 0.9605,
"woba_minus_xwoba": -0.053,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "656730",
"espn_id": 40080,
"player_name": "Trevor Megill",
"team": "MIL",
"role": "pitcher",
"espn_rank": 95,
"espn_total_ranked": 806,
"metrics": {
"espn_rank": 95,
"gp_value": 48.0,
"gp_rank": 60,
"gs_value": 0.0,
"gs_rank": 339,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 2.4893,
"era_rank": null,
"w_value": 2.0,
"w_rank": 282,
"l_value": 2.0,
"l_rank": 285,
"sv_value": 21.0,
"sv_rank": 12,
"hld_value": 7.0,
"hld_rank": 106,
"ip_value": 47.0,
"ip_rank": 262,
"h_value": 28.0,
"h_rank": 383,
"er_value": 13.0,
"er_rank": 396,
"hr_value": 0.0,
"hr_rank": 693,
"bb_value": 12.0,
"bb_rank": 396,
"k_value": 53.0,
"k_rank": 211,
"k_per_9_value": 10.148936,
"k_per_9_rank": 21,
"whip_value": 0.851,
"whip_rank": null,
"war_value": 1.57,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9772,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9772,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9826,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9757,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0295,
"adjusted": 2
}
}
}
}{
"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": 10.0,
"ER": 1,
"H": 2,
"BB": 2,
"SO": 6,
"HR": 0,
"ERA": 0.9,
"WHIP": 0.4,
"K9": 5.4,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-12T00:00:00"
}{
"available": false,
"pitcher_id": "656730",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"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": 9.396,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6527,
"prior_weight": 0.3473
},
"role": "pitcher",
"player_id": "656730",
"report_date": "20260813",
"season_year": 2026,
"rows_used": 47,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.2,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 1.0,
"SO": 3.0,
"HR": 0.0,
"BF": 18.0,
"Pitches": 54.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.0,
"BB": 0.2,
"SO": 0.6,
"HR": 0.0,
"BF": 3.6,
"Pitches": 10.8
},
"rates": {
"ERA": 0.0,
"WHIP": 0.1765,
"ER_per_IP": 0.0,
"H_per_IP": 0.0,
"BB_per_IP": 0.17647,
"SO_per_IP": 0.52941,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 2.0,
"SO": 6.0,
"HR": 0.0,
"BF": 34.0,
"Pitches": 109.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.2,
"BB": 0.2,
"SO": 0.6,
"HR": 0.0,
"BF": 3.4,
"Pitches": 10.9
},
"rates": {
"ERA": 0.9,
"WHIP": 0.4,
"ER_per_IP": 0.1,
"H_per_IP": 0.2,
"BB_per_IP": 0.2,
"SO_per_IP": 0.6,
"HR_per_IP": 0.0
}
},
"season": {
"games": 47,
"totals": {
"IP": 47.0,
"ER": 9.0,
"R": 10.0,
"H": 26.0,
"BB": 12.0,
"SO": 53.0,
"HR": 0.0,
"BF": 178.0,
"Pitches": 662.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1915,
"R": 0.2128,
"H": 0.5532,
"BB": 0.2553,
"SO": 1.1277,
"HR": 0.0,
"BF": 3.7872,
"Pitches": 14.0851
},
"rates": {
"ERA": 1.7234,
"WHIP": 0.8085,
"ER_per_IP": 0.19149,
"H_per_IP": 0.55319,
"BB_per_IP": 0.25532,
"SO_per_IP": 1.12766,
"HR_per_IP": 0.0
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.22,
"predicted_H": 0.456,
"predicted_BB": 0.256,
"predicted_SO": 0.771,
"predicted_HR": 0.051,
"predicted_ERA": 1.983,
"predicted_WHIP": 0.712
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4967,
"form_weight": 0.5033,
"form_reliability": 0.6527,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.396,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6527,
"prior_weight": 0.3473
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 0.22,
"final": 1.1042,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 0.456,
"final": 1.7197,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.256,
"final": 0.1288,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.771,
"final": 1.3815,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.051,
"final": 0.0257,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 1.983,
"final": 1.983,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.712,
"final": 0.712,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.144 | 0.000 | 0.000 | Hitting_2B | 0.148 | 0.000 | -0.148 | 0.000 |
| predicted_3B | 0.019 | 0.000 | 0.000 | Hitting_3B | 0.013 | 0.000 | -0.013 | 0.000 |
| predicted_AB | 3.423 | 4.000 | 3.000 | Hitting_AB | 3.580 | 4.000 | 0.420 | 0.000 |
| predicted_AVG | 0.267 | 0.500 | 0.333 | Hitting_AVG | 0.257 | 0.250 | 0.243 | 0.250 |
| predicted_BB | 0.548 | 0.000 | 1.000 | Hitting_BB | 0.625 | 1.000 | -0.625 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.005 | 0.000 | -0.005 | 0.000 |
| predicted_H | 0.913 | 2.000 | 1.000 | Hitting_H | 0.921 | 1.000 | 1.079 | 1.000 |
| predicted_HR | 0.192 | 0.000 | 0.000 | Hitting_HR | 0.206 | 0.000 | -0.206 | 0.000 |
| predicted_OBP | 0.368 | 0.600 | 0.500 | Hitting_OBP | 0.370 | 0.400 | 0.230 | 0.200 |
| predicted_R | 0.644 | 1.000 | 1.000 | Hitting_R | 0.678 | 0.000 | 0.322 | 1.000 |
| predicted_RBI | 0.625 | 3.000 | 1.000 | Hitting_RBI | 0.681 | 0.000 | 2.319 | 3.000 |
| predicted_SLG | 0.489 | 0.500 | 0.333 | Hitting_SLG | 0.478 | 0.250 | 0.022 | 0.250 |
| predicted_SO | 1.029 | 0.000 | 1.000 | Hitting_SO | 1.127 | 0.000 | -1.127 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 9 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 4 |
| Better Metrics | 6 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_RBI: 0.6250 -> 3.0000 (boost 2.3750, better) |
| Biggest Deboost | predicted_SO: 1.0290 -> 0.0000 (deboost -1.0290, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 2 | 2 | 0 | 2 | 0 | predicted_OBP: 0.3680 -> 0.3735 (boost 0.0055, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 0 | 0 | 0 | 0 | 0 | - | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 3 | 3 | 3 | 3 | predicted_BB: 0.5825 -> 1.0000 (boost 0.4175, better) | predicted_AB: 3.4544 -> 3.0000 (deboost -0.4544, worse) | AB rounded to 3 (raw=3.45), rates preserved: AVG=0.268 HR/AB=0.057 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5995 -> 1.0000 (boost 0.4005, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3733 -> 0.5000 (boost 0.1267, better) | predicted_SLG: 0.4909 -> 0.3330 (deboost -0.1579, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 4 | 2 | 5 | 1 | predicted_RBI: 1.0000 -> 3.0000 (boost 2.0000, better) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4909 (boost 0.1579, better) | predicted_OBP: 0.5000 -> 0.3733 (deboost -0.1267, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "641343",
"player_name": "Jake Bauers",
"position": "RF",
"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": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.144,
"predicted_3B": 0.019,
"predicted_AB": 3.423,
"predicted_AVG": 0.267,
"predicted_BB": 0.548,
"predicted_H": 0.913,
"predicted_HR": 0.192,
"predicted_OBP": 0.368,
"predicted_R": 0.644,
"predicted_RBI": 0.625,
"predicted_SLG": 0.489,
"predicted_SO": 1.029
},
"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": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1457,
"predicted_3B": 0.016,
"predicted_AB": 3.4544,
"predicted_AVG": 0.2688,
"predicted_BB": 0.5807,
"predicted_H": 0.9281,
"predicted_HBP": 0.018,
"predicted_HR": 0.1997,
"predicted_OBP": 0.3735,
"predicted_R": 0.6023,
"predicted_RBI": 0.6099,
"predicted_SLG": 0.4941,
"predicted_SO": 0.9885
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.144,
"after": 0.1457,
"delta": 0.0017,
"percent_delta": 0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.019,
"after": 0.016,
"delta": -0.003,
"percent_delta": -0.1579,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.423,
"after": 3.4544,
"delta": 0.0314,
"percent_delta": 0.0092,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.267,
"after": 0.2688,
"delta": 0.0018,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.548,
"after": 0.5807,
"delta": 0.0327,
"percent_delta": 0.0597,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.913,
"after": 0.9281,
"delta": 0.0151,
"percent_delta": 0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.192,
"after": 0.1997,
"delta": 0.0077,
"percent_delta": 0.0401,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.368,
"after": 0.3735,
"delta": 0.0055,
"percent_delta": 0.0149,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.644,
"after": 0.6023,
"delta": -0.0417,
"percent_delta": -0.0648,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.625,
"after": 0.6099,
"delta": -0.0151,
"percent_delta": -0.0242,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.489,
"after": 0.4941,
"delta": 0.0051,
"percent_delta": 0.0104,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.029,
"after": 0.9885,
"delta": -0.0405,
"percent_delta": -0.0394,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.368,
"after": 0.3735,
"delta": 0.0055,
"percent_delta": 0.0149,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 104
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1457,
"predicted_3B": 0.016,
"predicted_AB": 3.4544,
"predicted_AVG": 0.2676,
"predicted_BB": 0.5825,
"predicted_H": 0.9244,
"predicted_HBP": 0.018,
"predicted_HR": 0.1979,
"predicted_OBP": 0.3733,
"predicted_R": 0.5995,
"predicted_RBI": 0.6071,
"predicted_SLG": 0.4909,
"predicted_SO": 0.9854
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1457,
"after": 0.1457,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 0.016,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4544,
"after": 3.4544,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2688,
"after": 0.2676,
"delta": -0.0012,
"percent_delta": -0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5807,
"after": 0.5825,
"delta": 0.0018,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9281,
"after": 0.9244,
"delta": -0.0037,
"percent_delta": -0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.018,
"after": 0.018,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1997,
"after": 0.1979,
"delta": -0.0018,
"percent_delta": -0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3735,
"after": 0.3733,
"delta": -0.0002,
"percent_delta": -0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6023,
"after": 0.5995,
"delta": -0.0028,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6099,
"after": 0.6071,
"delta": -0.0028,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4941,
"after": 0.4909,
"delta": -0.0032,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.9885,
"after": 0.9854,
"delta": -0.0031,
"percent_delta": -0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.45), rates preserved: AVG=0.268 HR/AB=0.057",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1457,
"after": 0.0,
"delta": -0.1457,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 0.0,
"delta": -0.016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4544,
"after": 3.0,
"delta": -0.4544,
"percent_delta": -0.1315,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5825,
"after": 1.0,
"delta": 0.4175,
"percent_delta": 0.7167,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9244,
"after": 1.0,
"delta": 0.0756,
"percent_delta": 0.0818,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.018,
"after": 0.0,
"delta": -0.018,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1979,
"after": 0.0,
"delta": -0.1979,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6071,
"after": 1.0,
"delta": 0.3929,
"percent_delta": 0.6472,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9854,
"after": 1.0,
"delta": 0.0146,
"percent_delta": 0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5825,
"after": 1.0,
"delta": 0.4175,
"percent_delta": 0.7167,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.4544,
"after": 3.0,
"delta": -0.4544,
"percent_delta": -0.1315,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.5995,
"after": 1.0,
"delta": 0.4005,
"percent_delta": 0.6681,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.5995,
"after": 1.0,
"delta": 0.4005,
"percent_delta": 0.6681,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.5,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2676,
"after": 0.333,
"delta": 0.0654,
"percent_delta": 0.2444,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_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_OBP",
"before": 0.3733,
"after": 0.5,
"delta": 0.1267,
"percent_delta": 0.3394,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4909,
"after": 0.333,
"delta": -0.1579,
"percent_delta": -0.3217,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3733,
"after": 0.5,
"delta": 0.1267,
"percent_delta": 0.3394,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4909,
"after": 0.333,
"delta": -0.1579,
"percent_delta": -0.3217,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"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_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 5,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2676,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3733,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4909,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2676,
"delta": -0.0654,
"percent_delta": -0.1964,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_CS",
"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_HBP",
"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_OBP",
"before": 0.5,
"after": 0.3733,
"delta": -0.1267,
"percent_delta": -0.2534,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4909,
"delta": 0.1579,
"percent_delta": 0.4741,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4909,
"delta": 0.1579,
"percent_delta": 0.4741,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.5,
"after": 0.3733,
"delta": -0.1267,
"percent_delta": -0.2534,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.144,
"after": 0.0,
"delta": -0.144,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.019,
"after": 0.0,
"delta": -0.019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.423,
"after": 4.0,
"delta": 0.577,
"percent_delta": 0.1686,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.267,
"after": 0.2676,
"delta": 0.0006,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.548,
"after": 0.0,
"delta": -0.548,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.913,
"after": 2.0,
"delta": 1.087,
"percent_delta": 1.1906,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.192,
"after": 0.0,
"delta": -0.192,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.368,
"after": 0.3733,
"delta": 0.0053,
"percent_delta": 0.0144,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.644,
"after": 1.0,
"delta": 0.356,
"percent_delta": 0.5528,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.625,
"after": 3.0,
"delta": 2.375,
"percent_delta": 3.8,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.489,
"after": 0.4909,
"delta": 0.0019,
"percent_delta": 0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.029,
"after": 0.0,
"delta": -1.029,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 5,
"deboosted_metrics": 4,
"better_metrics": 6,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.625,
"after": 3.0,
"delta": 2.375,
"percent_delta": 3.8,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.029,
"after": 0.0,
"delta": -1.029,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.144 | - |
| predicted_3B | 0.019 | - |
| predicted_AB | 3.423 | - |
| predicted_AVG | 0.267 | - |
| predicted_BB | 0.548 | - |
| predicted_H | 0.913 | - |
| predicted_HR | 0.192 | - |
| predicted_OBP | 0.368 | - |
| predicted_R | 0.644 | - |
| predicted_RBI | 0.625 | - |
| predicted_SLG | 0.489 | - |
| predicted_SO | 1.029 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.146 | 0.002 |
| predicted_3B | 0.016 | -0.003 |
| predicted_AB | 3.454 | 0.031 |
| predicted_AVG | 0.269 | 0.002 |
| predicted_BB | 0.581 | 0.033 |
| predicted_H | 0.928 | 0.015 |
| predicted_HBP | 0.018 | - |
| predicted_HR | 0.200 | 0.008 |
| predicted_OBP | 0.373 | 0.006 |
| predicted_R | 0.602 | -0.042 |
| predicted_RBI | 0.610 | -0.015 |
| predicted_SLG | 0.494 | 0.005 |
| predicted_SO | 0.989 | -0.040 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.146 | 0.000 |
| predicted_3B | 0.016 | 0.000 |
| predicted_AB | 3.454 | 0.000 |
| predicted_AVG | 0.268 | -0.001 |
| predicted_BB | 0.583 | 0.002 |
| predicted_H | 0.924 | -0.004 |
| predicted_HBP | 0.018 | 0.000 |
| predicted_HR | 0.198 | -0.002 |
| predicted_OBP | 0.373 | -0.000 |
| predicted_R | 0.600 | -0.003 |
| predicted_RBI | 0.607 | -0.003 |
| predicted_SLG | 0.491 | -0.003 |
| predicted_SO | 0.985 | -0.003 |
AB rounded to 3 (raw=3.45), rates preserved: AVG=0.268 HR/AB=0.057
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.146 |
| predicted_3B | 0.000 | -0.016 |
| predicted_AB | 3.000 | -0.454 |
| predicted_AVG | 0.333 | 0.065 |
| predicted_BB | 1.000 | 0.417 |
| predicted_H | 1.000 | 0.076 |
| predicted_HR | 0.000 | -0.198 |
| predicted_OBP | 0.500 | 0.127 |
| predicted_R | 1.000 | 0.400 |
| predicted_RBI | 1.000 | 0.393 |
| predicted_SLG | 0.333 | -0.158 |
| predicted_SO | 1.000 | 0.015 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 1.000 | 1.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 3.000 | 2.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 5.000 | 1.000 | 0.000 | 1.000 | 2.000 | 1.000 | 4.000 | 4.000 | 0.2778 | 0.4091 | 0.5000 | 0.2778 | 0.0556 | 0.1111 | 0.2222 | 0.2222 |
| last_10 | 0.20 | 10 | - | 35.000 | 10.000 | 1.000 | 0.000 | 3.000 | 7.000 | 6.000 | 8.000 | 8.000 | 0.2857 | 0.4091 | 0.5714 | 0.2857 | 0.0857 | 0.2000 | 0.2286 | 0.2286 |
| season | 0.60 | 104 | - | 356.000 | 95.000 | 15.000 | 2.000 | 20.000 | 65.000 | 67.000 | 57.000 | 107.000 | 0.2669 | 0.3708 | 0.4888 | 0.2668 | 0.0562 | 0.1826 | 0.1601 | 0.3006 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1480 |
| predicted_3B | 0.0120 |
| predicted_AB | 3.4960 |
| predicted_AVG | 0.2712 |
| predicted_BB | 0.6240 |
| predicted_H | 0.9480 |
| predicted_HBP | 0.0180 |
| predicted_HR | 0.2100 |
| predicted_OBP | 0.3807 |
| predicted_R | 0.5470 |
| predicted_RBI | 0.5900 |
| predicted_SLG | 0.5009 |
| predicted_SO | 0.9350 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1440 | 0.1480 | 0.1457 | model_form_blend |
| predicted_3B | 0.0190 | 0.0120 | 0.0160 | model_form_blend |
| predicted_AB | 3.4230 | 3.4960 | 3.4544 | model_form_blend |
| predicted_AVG | 0.2670 | 0.2712 | 0.2688 | model_form_blend |
| predicted_BB | 0.5480 | 0.6240 | 0.5807 | model_form_blend |
| predicted_H | 0.9130 | 0.9480 | 0.9281 | model_form_blend |
| predicted_HBP | - | 0.0180 | 0.0180 | form_only |
| predicted_HR | 0.1920 | 0.2100 | 0.1997 | model_form_blend |
| predicted_OBP | 0.3680 | 0.3807 | 0.3735 | model_form_blend |
| predicted_R | 0.6440 | 0.5470 | 0.6023 | model_form_blend |
| predicted_RBI | 0.6250 | 0.5900 | 0.6099 | model_form_blend |
| predicted_SLG | 0.4890 | 0.5009 | 0.4941 | model_form_blend |
| predicted_SO | 1.0290 | 0.9350 | 0.9885 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 379 |
| Season rows before report date | 379 |
| Report year | 2026 |
| Profile rows used | 104 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 3 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 1 |
| season_avg | 0.267 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF-1B |
| gameID | 20260812_MIL@SD |
| game_type | full |
| mlbID | 641343 |
| playerID | 641343 |
| playerName | Jake Bauers |
| pos | 1B |
| started | True |
| startingPosition | RF |
| team | MIL |
| teamID | 16 |
| game_date | 2026-08-12 |
| sl_k_percent | 25.6 |
| sl_bb_percent | 13.9 |
| sl_woba | 0.378 |
| sl_xwoba | 0.369 |
| sl_xba | 0.258 |
| sl_xslg | 0.483 |
| sl_sweet_spot_percent | 37.0 |
| sl_barrel_batted_rate | 14.3 |
| sl_hard_hit_percent | 53.5 |
| sl_exit_velocity_avg | 92.8 |
| sl_launch_angle_avg | 11.5 |
| sl_whiff_percent | 27.7 |
| sl_swing_percent | 41.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.131 | 1.000 | 0.000 | Hitting_2B | 0.125 | 1.000 | 0.875 | 0.000 |
| predicted_3B | 0.016 | 0.000 | 0.000 | Hitting_3B | 0.026 | 0.000 | -0.026 | 0.000 |
| predicted_AB | 2.705 | 5.000 | 3.000 | Hitting_AB | 3.042 | 4.000 | 1.958 | 1.000 |
| predicted_AVG | 0.230 | 0.200 | 0.333 | Hitting_AVG | 0.223 | 0.500 | -0.023 | -0.300 |
| predicted_BB | 0.590 | 0.000 | 1.000 | Hitting_BB | 0.734 | 1.000 | -0.734 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.623 | 1.000 | 1.000 | Hitting_H | 0.677 | 2.000 | 0.323 | -1.000 |
| predicted_HR | 0.164 | 0.000 | 0.000 | Hitting_HR | 0.182 | 1.000 | -0.182 | -1.000 |
| predicted_OBP | 0.368 | 0.200 | 0.500 | Hitting_OBP | 0.379 | 0.600 | -0.179 | -0.400 |
| predicted_R | 0.492 | 1.000 | 1.000 | Hitting_R | 0.589 | 1.000 | 0.411 | 0.000 |
| predicted_RBI | 0.475 | 1.000 | 1.000 | Hitting_RBI | 0.557 | 2.000 | 0.443 | -1.000 |
| predicted_SLG | 0.473 | 0.400 | 0.333 | Hitting_SLG | 0.461 | 1.500 | -0.061 | -1.100 |
| predicted_SO | 0.639 | 2.000 | 1.000 | Hitting_SO | 0.703 | 2.000 | 1.297 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 8 |
| Deboosted Metrics | 2 |
| Better Metrics | 7 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_AB: 2.7050 -> 5.0000 (boost 2.2950, better) |
| Biggest Deboost | predicted_BB: 0.5900 -> 0.0000 (deboost -0.5900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 5 | 0 | 4 | 1 | predicted_AB: 2.7050 -> 2.7838 (boost 0.0788, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 0 | 0 | 0 | 0 | 0 | - | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 5 | 2 | 4 | 3 | predicted_RBI: 0.4864 -> 1.0000 (boost 0.5136, better) | predicted_HR: 0.1813 -> 0.0000 (deboost -0.1813, worse) | AB rounded to 3 (raw=2.78), rates preserved: AVG=0.243 HR/AB=0.065 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5008 -> 1.0000 (boost 0.4992, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3701 -> 0.5000 (boost 0.1299, better) | predicted_SLG: 0.5077 -> 0.3330 (deboost -0.1747, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 3 | 1 | 2 | 2 | predicted_AB: 3.0000 -> 5.0000 (boost 2.0000, better) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.5077 (boost 0.1747, better) | predicted_OBP: 0.5000 -> 0.3701 (deboost -0.1299, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "596142",
"player_name": "Gary Sánchez",
"position": "1B",
"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": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.131,
"predicted_3B": 0.016,
"predicted_AB": 2.705,
"predicted_AVG": 0.23,
"predicted_BB": 0.59,
"predicted_H": 0.623,
"predicted_HR": 0.164,
"predicted_OBP": 0.368,
"predicted_R": 0.492,
"predicted_RBI": 0.475,
"predicted_SLG": 0.473,
"predicted_SO": 0.639
},
"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": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1652,
"predicted_3B": 0.0139,
"predicted_AB": 2.7838,
"predicted_AVG": 0.2432,
"predicted_BB": 0.5599,
"predicted_H": 0.6791,
"predicted_HBP": 0.022,
"predicted_HR": 0.183,
"predicted_OBP": 0.3715,
"predicted_R": 0.5031,
"predicted_RBI": 0.4886,
"predicted_SLG": 0.5091,
"predicted_SO": 0.7025
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.131,
"after": 0.1652,
"delta": 0.0342,
"percent_delta": 0.2611,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 0.0139,
"delta": -0.0021,
"percent_delta": -0.1313,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.705,
"after": 2.7838,
"delta": 0.0788,
"percent_delta": 0.0291,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2432,
"delta": 0.0132,
"percent_delta": 0.0574,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.59,
"after": 0.5599,
"delta": -0.0301,
"percent_delta": -0.051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.623,
"after": 0.6791,
"delta": 0.0561,
"percent_delta": 0.09,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.164,
"after": 0.183,
"delta": 0.019,
"percent_delta": 0.1159,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.368,
"after": 0.3715,
"delta": 0.0035,
"percent_delta": 0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.492,
"after": 0.5031,
"delta": 0.0111,
"percent_delta": 0.0226,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.475,
"after": 0.4886,
"delta": 0.0136,
"percent_delta": 0.0286,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.473,
"after": 0.5091,
"delta": 0.0361,
"percent_delta": 0.0763,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.639,
"after": 0.7025,
"delta": 0.0635,
"percent_delta": 0.0994,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.705,
"after": 2.7838,
"delta": 0.0788,
"percent_delta": 0.0291,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 61
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1652,
"predicted_3B": 0.0139,
"predicted_AB": 2.7838,
"predicted_AVG": 0.243,
"predicted_BB": 0.5616,
"predicted_H": 0.6764,
"predicted_HBP": 0.022,
"predicted_HR": 0.1813,
"predicted_OBP": 0.3701,
"predicted_R": 0.5008,
"predicted_RBI": 0.4864,
"predicted_SLG": 0.5077,
"predicted_SO": 0.7003
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1652,
"after": 0.1652,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0139,
"after": 0.0139,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.7838,
"after": 2.7838,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2432,
"after": 0.243,
"delta": -0.0002,
"percent_delta": -0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5599,
"after": 0.5616,
"delta": 0.0017,
"percent_delta": 0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6791,
"after": 0.6764,
"delta": -0.0027,
"percent_delta": -0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.022,
"after": 0.022,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.183,
"after": 0.1813,
"delta": -0.0017,
"percent_delta": -0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3715,
"after": 0.3701,
"delta": -0.0014,
"percent_delta": -0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5031,
"after": 0.5008,
"delta": -0.0023,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4886,
"after": 0.4864,
"delta": -0.0022,
"percent_delta": -0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5091,
"after": 0.5077,
"delta": -0.0014,
"percent_delta": -0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.7025,
"after": 0.7003,
"delta": -0.0022,
"percent_delta": -0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.78), rates preserved: AVG=0.243 HR/AB=0.065",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1652,
"after": 0.0,
"delta": -0.1652,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0139,
"after": 0.0,
"delta": -0.0139,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.7838,
"after": 3.0,
"delta": 0.2162,
"percent_delta": 0.0777,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5616,
"after": 1.0,
"delta": 0.4384,
"percent_delta": 0.7806,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6764,
"after": 1.0,
"delta": 0.3236,
"percent_delta": 0.4784,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.022,
"after": 0.0,
"delta": -0.022,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1813,
"after": 0.0,
"delta": -0.1813,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4864,
"after": 1.0,
"delta": 0.5136,
"percent_delta": 1.0559,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7003,
"after": 1.0,
"delta": 0.2997,
"percent_delta": 0.428,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 5,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.4864,
"after": 1.0,
"delta": 0.5136,
"percent_delta": 1.0559,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.1813,
"after": 0.0,
"delta": -0.1813,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.5008,
"after": 1.0,
"delta": 0.4992,
"percent_delta": 0.9968,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.5008,
"after": 1.0,
"delta": 0.4992,
"percent_delta": 0.9968,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.5,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.333,
"delta": 0.09,
"percent_delta": 0.3704,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_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_OBP",
"before": 0.3701,
"after": 0.5,
"delta": 0.1299,
"percent_delta": 0.351,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5077,
"after": 0.333,
"delta": -0.1747,
"percent_delta": -0.3441,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3701,
"after": 0.5,
"delta": 0.1299,
"percent_delta": 0.351,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5077,
"after": 0.333,
"delta": -0.1747,
"percent_delta": -0.3441,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"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_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.243,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3701,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5077,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.243,
"delta": -0.09,
"percent_delta": -0.2704,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_CS",
"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_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_OBP",
"before": 0.5,
"after": 0.3701,
"delta": -0.1299,
"percent_delta": -0.2599,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.5077,
"delta": 0.1747,
"percent_delta": 0.5247,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.5077,
"delta": 0.1747,
"percent_delta": 0.5247,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.5,
"after": 0.3701,
"delta": -0.1299,
"percent_delta": -0.2599,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.131,
"after": 1.0,
"delta": 0.869,
"percent_delta": 6.6336,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.016,
"after": 0.0,
"delta": -0.016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.705,
"after": 5.0,
"delta": 2.295,
"percent_delta": 0.8484,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.243,
"delta": 0.013,
"percent_delta": 0.0565,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.59,
"after": 0.0,
"delta": -0.59,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.623,
"after": 1.0,
"delta": 0.377,
"percent_delta": 0.6051,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.164,
"after": 0.0,
"delta": -0.164,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.368,
"after": 0.3701,
"delta": 0.0021,
"percent_delta": 0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.492,
"after": 1.0,
"delta": 0.508,
"percent_delta": 1.0325,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.475,
"after": 1.0,
"delta": 0.525,
"percent_delta": 1.1053,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.473,
"after": 0.5077,
"delta": 0.0347,
"percent_delta": 0.0734,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.639,
"after": 2.0,
"delta": 1.361,
"percent_delta": 2.1299,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 8,
"deboosted_metrics": 2,
"better_metrics": 7,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.705,
"after": 5.0,
"delta": 2.295,
"percent_delta": 0.8484,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.59,
"after": 0.0,
"delta": -0.59,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.131 | - |
| predicted_3B | 0.016 | - |
| predicted_AB | 2.705 | - |
| predicted_AVG | 0.230 | - |
| predicted_BB | 0.590 | - |
| predicted_H | 0.623 | - |
| predicted_HR | 0.164 | - |
| predicted_OBP | 0.368 | - |
| predicted_R | 0.492 | - |
| predicted_RBI | 0.475 | - |
| predicted_SLG | 0.473 | - |
| predicted_SO | 0.639 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.165 | 0.034 |
| predicted_3B | 0.014 | -0.002 |
| predicted_AB | 2.784 | 0.079 |
| predicted_AVG | 0.243 | 0.013 |
| predicted_BB | 0.560 | -0.030 |
| predicted_H | 0.679 | 0.056 |
| predicted_HBP | 0.022 | - |
| predicted_HR | 0.183 | 0.019 |
| predicted_OBP | 0.371 | 0.004 |
| predicted_R | 0.503 | 0.011 |
| predicted_RBI | 0.489 | 0.014 |
| predicted_SLG | 0.509 | 0.036 |
| predicted_SO | 0.703 | 0.064 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.165 | 0.000 |
| predicted_3B | 0.014 | 0.000 |
| predicted_AB | 2.784 | 0.000 |
| predicted_AVG | 0.243 | -0.000 |
| predicted_BB | 0.562 | 0.002 |
| predicted_H | 0.676 | -0.003 |
| predicted_HBP | 0.022 | 0.000 |
| predicted_HR | 0.181 | -0.002 |
| predicted_OBP | 0.370 | -0.001 |
| predicted_R | 0.501 | -0.002 |
| predicted_RBI | 0.486 | -0.002 |
| predicted_SLG | 0.508 | -0.001 |
| predicted_SO | 0.700 | -0.002 |
AB rounded to 3 (raw=2.78), rates preserved: AVG=0.243 HR/AB=0.065
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.165 |
| predicted_3B | 0.000 | -0.014 |
| predicted_AB | 3.000 | 0.216 |
| predicted_AVG | 0.333 | 0.090 |
| predicted_BB | 1.000 | 0.438 |
| predicted_H | 1.000 | 0.324 |
| predicted_HR | 0.000 | -0.181 |
| predicted_OBP | 0.500 | 0.130 |
| predicted_R | 1.000 | 0.499 |
| predicted_RBI | 1.000 | 0.514 |
| predicted_SLG | 0.333 | -0.175 |
| predicted_SO | 1.000 | 0.300 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 2.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 5.000 | 2.000 | 0.000 | 2.000 | 3.000 | 3.000 | 2.000 | 6.000 | 0.3333 | 0.4118 | 0.8667 | 0.3333 | 0.1333 | 0.2000 | 0.1333 | 0.4000 |
| last_10 | 0.20 | 10 | - | 27.000 | 8.000 | 3.000 | 0.000 | 2.000 | 5.000 | 5.000 | 5.000 | 8.000 | 0.2963 | 0.4062 | 0.6296 | 0.2963 | 0.0741 | 0.1852 | 0.1852 | 0.2963 |
| season | 0.60 | 61 | - | 165.000 | 38.000 | 8.000 | 1.000 | 10.000 | 29.000 | 30.000 | 36.000 | 39.000 | 0.2303 | 0.3725 | 0.4727 | 0.2303 | 0.0606 | 0.1758 | 0.2182 | 0.2364 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2140 |
| predicted_3B | 0.0110 |
| predicted_AB | 2.8960 |
| predicted_AVG | 0.2620 |
| predicted_BB | 0.5170 |
| predicted_H | 0.7590 |
| predicted_HBP | 0.0220 |
| predicted_HR | 0.2100 |
| predicted_OBP | 0.3766 |
| predicted_R | 0.5190 |
| predicted_RBI | 0.5080 |
| predicted_SLG | 0.5606 |
| predicted_SO | 0.7930 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1310 | 0.2140 | 0.1652 | model_form_blend |
| predicted_3B | 0.0160 | 0.0110 | 0.0139 | model_form_blend |
| predicted_AB | 2.7050 | 2.8960 | 2.7838 | model_form_blend |
| predicted_AVG | 0.2300 | 0.2620 | 0.2432 | model_form_blend |
| predicted_BB | 0.5900 | 0.5170 | 0.5599 | model_form_blend |
| predicted_H | 0.6230 | 0.7590 | 0.6791 | model_form_blend |
| predicted_HBP | - | 0.0220 | 0.0220 | form_only |
| predicted_HR | 0.1640 | 0.2100 | 0.1830 | model_form_blend |
| predicted_OBP | 0.3680 | 0.3766 | 0.3715 | model_form_blend |
| predicted_R | 0.4920 | 0.5190 | 0.5031 | model_form_blend |
| predicted_RBI | 0.4750 | 0.5080 | 0.4886 | model_form_blend |
| predicted_SLG | 0.4730 | 0.5606 | 0.5091 | model_form_blend |
| predicted_SO | 0.6390 | 0.7930 | 0.7025 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 192 |
| Season rows before report date | 192 |
| Report year | 2026 |
| Profile rows used | 61 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.23 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 6 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260812_MIL@SD |
| game_type | full |
| mlbID | 596142 |
| playerID | 596142 |
| playerName | Gary Sánchez |
| pos | C |
| started | True |
| startingPosition | C |
| team | MIL |
| teamID | 16 |
| game_date | 2026-08-12 |
| sl_k_percent | 18.4 |
| sl_bb_percent | 18.4 |
| sl_woba | 0.363 |
| sl_xwoba | 0.362 |
| sl_xba | 0.229 |
| sl_xslg | 0.437 |
| sl_sweet_spot_percent | 28.8 |
| sl_barrel_batted_rate | 8.8 |
| sl_hard_hit_percent | 36.8 |
| sl_exit_velocity_avg | 88.6 |
| sl_launch_angle_avg | 16.6 |
| sl_whiff_percent | 26.1 |
| sl_swing_percent | 35.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.225 | 0.000 | 0.000 | Hitting_2B | 0.294 | 0.000 | -0.294 | 0.000 |
| predicted_3B | 0.028 | 0.000 | 0.000 | Hitting_3B | 0.044 | 0.000 | -0.044 | 0.000 |
| predicted_AB | 2.930 | 5.000 | 3.000 | Hitting_AB | 3.255 | 4.000 | 1.745 | 1.000 |
| predicted_AVG | 0.298 | 0.200 | 0.333 | Hitting_AVG | 0.328 | 0.000 | -0.128 | 0.200 |
| predicted_BB | 0.338 | 0.000 | 0.000 | Hitting_BB | 0.426 | 0.000 | -0.426 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.873 | 1.000 | 1.000 | Hitting_H | 1.069 | 0.000 | -0.069 | 1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.078 | 0.000 | -0.078 | 0.000 |
| predicted_OBP | 0.371 | 0.200 | 0.333 | Hitting_OBP | 0.412 | 0.000 | -0.212 | 0.200 |
| predicted_R | 0.366 | 1.000 | 0.000 | Hitting_R | 0.495 | 0.000 | 0.505 | 1.000 |
| predicted_RBI | 0.479 | 0.000 | 0.000 | Hitting_RBI | 0.505 | 0.000 | -0.505 | 0.000 |
| predicted_SLG | 0.466 | 0.200 | 0.333 | Hitting_SLG | 0.518 | 0.000 | -0.318 | 0.200 |
| predicted_SO | 0.535 | 0.000 | 1.000 | Hitting_SO | 0.485 | 2.000 | -0.485 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 2.9300 -> 5.0000 (boost 2.0700, better) |
| Biggest Deboost | predicted_SO: 0.5350 -> 0.0000 (deboost -0.5350, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 2 | 3 | 1 | 4 | predicted_SO: 0.5350 -> 0.6581 (boost 0.1231, worse) | predicted_SLG: 0.4660 -> 0.4444 (deboost -0.0216, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 0 | 0 | 0 | 0 | 0 | - | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_SO: 0.6561 -> 1.0000 (boost 0.3439, worse) | predicted_RBI: 0.4668 -> 0.0000 (deboost -0.4668, worse) | AB rounded to 3 (raw=3.02), rates preserved: AVG=0.286 HR/AB=0.023 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.000) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3469 -> 0.0000 (deboost -0.3469, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2865 -> 0.3330 (boost 0.0465, better) | predicted_SLG: 0.4419 -> 0.3330 (deboost -0.1089, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 2 | 1 | 3 | 0 | predicted_AB: 3.0000 -> 5.0000 (boost 2.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.3330 -> 0.4419 (boost 0.1089, better) | predicted_AVG: 0.3330 -> 0.2865 (deboost -0.0465, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "683734",
"player_name": "Andrew Vaughn",
"position": "3B",
"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": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.225,
"predicted_3B": 0.028,
"predicted_AB": 2.93,
"predicted_AVG": 0.298,
"predicted_BB": 0.338,
"predicted_H": 0.873,
"predicted_HR": 0.07,
"predicted_OBP": 0.371,
"predicted_R": 0.366,
"predicted_RBI": 0.479,
"predicted_SLG": 0.466,
"predicted_SO": 0.535
},
"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": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2133,
"predicted_3B": 0.0238,
"predicted_AB": 3.018,
"predicted_AVG": 0.288,
"predicted_BB": 0.3088,
"predicted_H": 0.868,
"predicted_HBP": 0.027,
"predicted_HR": 0.07,
"predicted_OBP": 0.3551,
"predicted_R": 0.3485,
"predicted_RBI": 0.469,
"predicted_SLG": 0.4444,
"predicted_SO": 0.6581
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.225,
"after": 0.2133,
"delta": -0.0117,
"percent_delta": -0.052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.028,
"after": 0.0238,
"delta": -0.0042,
"percent_delta": -0.15,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.93,
"after": 3.018,
"delta": 0.088,
"percent_delta": 0.03,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.298,
"after": 0.288,
"delta": -0.01,
"percent_delta": -0.0336,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.338,
"after": 0.3088,
"delta": -0.0292,
"percent_delta": -0.0864,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.873,
"after": 0.868,
"delta": -0.005,
"percent_delta": -0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.07,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.371,
"after": 0.3551,
"delta": -0.0159,
"percent_delta": -0.0429,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.366,
"after": 0.3485,
"delta": -0.0175,
"percent_delta": -0.0478,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.479,
"after": 0.469,
"delta": -0.01,
"percent_delta": -0.0209,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.466,
"after": 0.4444,
"delta": -0.0216,
"percent_delta": -0.0464,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.535,
"after": 0.6581,
"delta": 0.1231,
"percent_delta": 0.2301,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.535,
"after": 0.6581,
"delta": 0.1231,
"percent_delta": 0.2301,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.466,
"after": 0.4444,
"delta": -0.0216,
"percent_delta": -0.0464,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 71
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2133,
"predicted_3B": 0.0238,
"predicted_AB": 3.018,
"predicted_AVG": 0.2865,
"predicted_BB": 0.3098,
"predicted_H": 0.8645,
"predicted_HBP": 0.027,
"predicted_HR": 0.0694,
"predicted_OBP": 0.3529,
"predicted_R": 0.3469,
"predicted_RBI": 0.4668,
"predicted_SLG": 0.4419,
"predicted_SO": 0.6561
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2133,
"after": 0.2133,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0238,
"after": 0.0238,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.018,
"after": 3.018,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.288,
"after": 0.2865,
"delta": -0.0015,
"percent_delta": -0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3088,
"after": 0.3098,
"delta": 0.001,
"percent_delta": 0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.868,
"after": 0.8645,
"delta": -0.0035,
"percent_delta": -0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.027,
"after": 0.027,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0694,
"delta": -0.0006,
"percent_delta": -0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3551,
"after": 0.3529,
"delta": -0.0022,
"percent_delta": -0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3485,
"after": 0.3469,
"delta": -0.0016,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.469,
"after": 0.4668,
"delta": -0.0022,
"percent_delta": -0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4444,
"after": 0.4419,
"delta": -0.0025,
"percent_delta": -0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.6581,
"after": 0.6561,
"delta": -0.002,
"percent_delta": -0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.02), rates preserved: AVG=0.286 HR/AB=0.023",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2133,
"after": 0.0,
"delta": -0.2133,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0238,
"after": 0.0,
"delta": -0.0238,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.018,
"after": 3.0,
"delta": -0.018,
"percent_delta": -0.006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3098,
"after": 0.0,
"delta": -0.3098,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8645,
"after": 1.0,
"delta": 0.1355,
"percent_delta": 0.1567,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.027,
"after": 0.0,
"delta": -0.027,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0694,
"after": 0.0,
"delta": -0.0694,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4668,
"after": 0.0,
"delta": -0.4668,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6561,
"after": 1.0,
"delta": 0.3439,
"percent_delta": 0.5242,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.6561,
"after": 1.0,
"delta": 0.3439,
"percent_delta": 0.5242,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4668,
"after": 0.0,
"delta": -0.4668,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.000)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_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_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": {
"model_expectation": 0.9429,
"bvp": 0.0571
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.3469,
"after": 0.0,
"delta": -0.3469,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3469,
"after": 0.0,
"delta": -0.3469,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2865,
"after": 0.333,
"delta": 0.0465,
"percent_delta": 0.1623,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_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_OBP",
"before": 0.3529,
"after": 0.333,
"delta": -0.0199,
"percent_delta": -0.0564,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4419,
"after": 0.333,
"delta": -0.1089,
"percent_delta": -0.2464,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2865,
"after": 0.333,
"delta": 0.0465,
"percent_delta": 0.1623,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4419,
"after": 0.333,
"delta": -0.1089,
"percent_delta": -0.2464,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_CS",
"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_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2865,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3529,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4419,
"predicted_SO": 0.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2865,
"delta": -0.0465,
"percent_delta": -0.1398,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_CS",
"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_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_OBP",
"before": 0.333,
"after": 0.3529,
"delta": 0.0199,
"percent_delta": 0.0597,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4419,
"delta": 0.1089,
"percent_delta": 0.3269,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4419,
"delta": 0.1089,
"percent_delta": 0.3269,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2865,
"delta": -0.0465,
"percent_delta": -0.1398,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.225,
"after": 0.0,
"delta": -0.225,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.028,
"after": 0.0,
"delta": -0.028,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.93,
"after": 5.0,
"delta": 2.07,
"percent_delta": 0.7065,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.298,
"after": 0.2865,
"delta": -0.0115,
"percent_delta": -0.0386,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.338,
"after": 0.0,
"delta": -0.338,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.873,
"after": 1.0,
"delta": 0.127,
"percent_delta": 0.1455,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.371,
"after": 0.3529,
"delta": -0.0181,
"percent_delta": -0.0488,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.366,
"after": 1.0,
"delta": 0.634,
"percent_delta": 1.7322,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.479,
"after": 0.0,
"delta": -0.479,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.466,
"after": 0.4419,
"delta": -0.0241,
"percent_delta": -0.0517,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.535,
"after": 0.0,
"delta": -0.535,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.93,
"after": 5.0,
"delta": 2.07,
"percent_delta": 0.7065,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.535,
"after": 0.0,
"delta": -0.535,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.225 | - |
| predicted_3B | 0.028 | - |
| predicted_AB | 2.930 | - |
| predicted_AVG | 0.298 | - |
| predicted_BB | 0.338 | - |
| predicted_H | 0.873 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.371 | - |
| predicted_R | 0.366 | - |
| predicted_RBI | 0.479 | - |
| predicted_SLG | 0.466 | - |
| predicted_SO | 0.535 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.213 | -0.012 |
| predicted_3B | 0.024 | -0.004 |
| predicted_AB | 3.018 | 0.088 |
| predicted_AVG | 0.288 | -0.010 |
| predicted_BB | 0.309 | -0.029 |
| predicted_H | 0.868 | -0.005 |
| predicted_HBP | 0.027 | - |
| predicted_HR | 0.070 | 0.000 |
| predicted_OBP | 0.355 | -0.016 |
| predicted_R | 0.348 | -0.018 |
| predicted_RBI | 0.469 | -0.010 |
| predicted_SLG | 0.444 | -0.022 |
| predicted_SO | 0.658 | 0.123 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.213 | 0.000 |
| predicted_3B | 0.024 | 0.000 |
| predicted_AB | 3.018 | 0.000 |
| predicted_AVG | 0.286 | -0.002 |
| predicted_BB | 0.310 | 0.001 |
| predicted_H | 0.865 | -0.003 |
| predicted_HBP | 0.027 | 0.000 |
| predicted_HR | 0.069 | -0.001 |
| predicted_OBP | 0.353 | -0.002 |
| predicted_R | 0.347 | -0.002 |
| predicted_RBI | 0.467 | -0.002 |
| predicted_SLG | 0.442 | -0.003 |
| predicted_SO | 0.656 | -0.002 |
AB rounded to 3 (raw=3.02), rates preserved: AVG=0.286 HR/AB=0.023
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.000)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.213 |
| predicted_3B | 0.000 | -0.024 |
| predicted_AB | 3.000 | -0.018 |
| predicted_AVG | 0.333 | 0.047 |
| predicted_BB | 0.000 | -0.310 |
| predicted_H | 1.000 | 0.135 |
| predicted_HR | 0.000 | -0.069 |
| predicted_OBP | 0.333 | -0.020 |
| predicted_R | 0.000 | -0.347 |
| predicted_RBI | 0.000 | -0.467 |
| predicted_SLG | 0.333 | -0.109 |
| predicted_SO | 1.000 | 0.344 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 2.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 4.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 0.000 | 6.000 | 0.2500 | 0.2500 | 0.3125 | 0.2500 | 0.0000 | 0.0625 | 0.0000 | 0.3750 |
| last_10 | 0.20 | 10 | - | 33.000 | 8.000 | 1.000 | 0.000 | 1.000 | 6.000 | 2.000 | 3.000 | 14.000 | 0.2424 | 0.3056 | 0.3636 | 0.2424 | 0.0303 | 0.1818 | 0.0909 | 0.4242 |
| season | 0.60 | 71 | - | 208.000 | 62.000 | 16.000 | 2.000 | 5.000 | 34.000 | 26.000 | 24.000 | 38.000 | 0.2981 | 0.3755 | 0.4663 | 0.2981 | 0.0240 | 0.1635 | 0.1154 | 0.1827 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1970 |
| predicted_3B | 0.0180 |
| predicted_AB | 3.1410 |
| predicted_AVG | 0.2740 |
| predicted_BB | 0.2680 |
| predicted_H | 0.8610 |
| predicted_HBP | 0.0270 |
| predicted_HR | 0.0700 |
| predicted_OBP | 0.3329 |
| predicted_R | 0.3240 |
| predicted_RBI | 0.4550 |
| predicted_SLG | 0.4143 |
| predicted_SO | 0.8300 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2250 | 0.1970 | 0.2133 | model_form_blend |
| predicted_3B | 0.0280 | 0.0180 | 0.0238 | model_form_blend |
| predicted_AB | 2.9300 | 3.1410 | 3.0180 | model_form_blend |
| predicted_AVG | 0.2980 | 0.2740 | 0.2880 | model_form_blend |
| predicted_BB | 0.3380 | 0.2680 | 0.3088 | model_form_blend |
| predicted_H | 0.8730 | 0.8610 | 0.8680 | model_form_blend |
| predicted_HBP | - | 0.0270 | 0.0270 | form_only |
| predicted_HR | 0.0700 | 0.0700 | 0.0700 | model_form_blend |
| predicted_OBP | 0.3710 | 0.3329 | 0.3551 | model_form_blend |
| predicted_R | 0.3660 | 0.3240 | 0.3485 | model_form_blend |
| predicted_RBI | 0.4790 | 0.4550 | 0.4690 | model_form_blend |
| predicted_SLG | 0.4660 | 0.4143 | 0.4444 | model_form_blend |
| predicted_SO | 0.5350 | 0.8300 | 0.6581 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 204 |
| Season rows before report date | 204 |
| Report year | 2026 |
| Profile rows used | 71 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.298 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260812_MIL@SD |
| game_type | full |
| mlbID | 683734 |
| playerID | 683734 |
| playerName | Andrew Vaughn |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | MIL |
| teamID | 16 |
| game_date | 2026-08-12 |
| sl_k_percent | 15.1 |
| sl_bb_percent | 11.3 |
| sl_woba | 0.375 |
| sl_xwoba | 0.342 |
| sl_xba | 0.27 |
| sl_xslg | 0.399 |
| sl_sweet_spot_percent | 33.7 |
| sl_barrel_batted_rate | 5.8 |
| sl_hard_hit_percent | 41.9 |
| sl_exit_velocity_avg | 89.6 |
| sl_launch_angle_avg | 9.4 |
| sl_whiff_percent | 19.9 |
| sl_swing_percent | 39.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.203 | 1.000 | 0.000 | Hitting_2B | 0.227 | 0.000 | 0.773 | 1.000 |
| predicted_3B | 0.025 | 0.000 | 0.000 | Hitting_3B | 0.032 | 0.000 | -0.032 | 0.000 |
| predicted_AB | 4.240 | 5.000 | 4.000 | Hitting_AB | 4.054 | 3.000 | 0.946 | 2.000 |
| predicted_AVG | 0.201 | 0.400 | 0.250 | Hitting_AVG | 0.238 | 0.000 | 0.162 | 0.400 |
| predicted_BB | 0.443 | 0.000 | 0.000 | Hitting_BB | 0.511 | 0.000 | -0.511 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.003 | 0.000 | -0.003 | 0.000 |
| predicted_H | 0.850 | 2.000 | 1.000 | Hitting_H | 0.965 | 0.000 | 1.035 | 2.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.086 | 0.000 | -0.086 | 0.000 |
| predicted_OBP | 0.272 | 0.400 | 0.250 | Hitting_OBP | 0.332 | 0.000 | 0.068 | 0.400 |
| predicted_R | 0.595 | 1.000 | 1.000 | Hitting_R | 0.674 | 0.000 | 0.326 | 1.000 |
| predicted_RBI | 0.550 | 1.000 | 0.000 | Hitting_RBI | 0.498 | 0.000 | 0.502 | 1.000 |
| predicted_SLG | 0.376 | 0.600 | 0.250 | Hitting_SLG | 0.374 | 0.000 | 0.226 | 0.600 |
| predicted_SO | 1.203 | 1.000 | 1.000 | Hitting_SO | 1.272 | 1.000 | -0.272 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 9 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 4 |
| Better Metrics | 6 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_H: 0.8500 -> 2.0000 (boost 1.1500, better) |
| Biggest Deboost | predicted_BB: 0.4430 -> 0.0000 (deboost -0.4430, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 0 | 3 | 0 | 3 | - | predicted_AB: 4.2400 -> 4.0352 (deboost -0.2048, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.3644 -> 0.3491 (deboost -0.0153, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 2 | 5 | predicted_H: 0.8121 -> 1.0000 (boost 0.1879, better) | predicted_RBI: 0.4978 -> 0.0000 (deboost -0.4978, worse) | AB rounded to 4 (raw=4.24), rates preserved: AVG=0.192 HR/AB=0.030 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5748 -> 1.0000 (boost 0.4252, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2013 -> 0.2500 (boost 0.0487, better) | predicted_SLG: 0.3491 -> 0.2500 (deboost -0.0991, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 4 | 0 | 4 | 0 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3491 (boost 0.0991, better) | predicted_AVG: 0.2500 -> 0.2013 (deboost -0.0487, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "592885",
"player_name": "Christian Yelich",
"position": "DH",
"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": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.203,
"predicted_3B": 0.025,
"predicted_AB": 4.24,
"predicted_AVG": 0.201,
"predicted_BB": 0.443,
"predicted_H": 0.85,
"predicted_HR": 0.13,
"predicted_OBP": 0.272,
"predicted_R": 0.595,
"predicted_RBI": 0.55,
"predicted_SLG": 0.376,
"predicted_SO": 1.203
},
"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": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1765,
"predicted_3B": 0.0207,
"predicted_AB": 4.0352,
"predicted_AVG": 0.2025,
"predicted_BB": 0.3645,
"predicted_H": 0.8154,
"predicted_HBP": 0.089,
"predicted_HR": 0.1274,
"predicted_OBP": 0.2707,
"predicted_R": 0.5775,
"predicted_RBI": 0.5001,
"predicted_SLG": 0.3644,
"predicted_SO": 1.1915
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.203,
"after": 0.1765,
"delta": -0.0265,
"percent_delta": -0.1305,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.025,
"after": 0.0207,
"delta": -0.0043,
"percent_delta": -0.172,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.24,
"after": 4.0352,
"delta": -0.2048,
"percent_delta": -0.0483,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.201,
"after": 0.2025,
"delta": 0.0015,
"percent_delta": 0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.443,
"after": 0.3645,
"delta": -0.0785,
"percent_delta": -0.1772,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.85,
"after": 0.8154,
"delta": -0.0346,
"percent_delta": -0.0407,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1274,
"delta": -0.0026,
"percent_delta": -0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.272,
"after": 0.2707,
"delta": -0.0013,
"percent_delta": -0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.595,
"after": 0.5775,
"delta": -0.0175,
"percent_delta": -0.0294,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.55,
"after": 0.5001,
"delta": -0.0499,
"percent_delta": -0.0907,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.376,
"after": 0.3644,
"delta": -0.0116,
"percent_delta": -0.0309,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.203,
"after": 1.1915,
"delta": -0.0115,
"percent_delta": -0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.24,
"after": 4.0352,
"delta": -0.2048,
"percent_delta": -0.0483,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 79
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1765,
"predicted_3B": 0.0207,
"predicted_AB": 4.0352,
"predicted_AVG": 0.2013,
"predicted_BB": 0.3656,
"predicted_H": 0.8121,
"predicted_HBP": 0.089,
"predicted_HR": 0.1262,
"predicted_OBP": 0.2676,
"predicted_R": 0.5748,
"predicted_RBI": 0.4978,
"predicted_SLG": 0.3491,
"predicted_SO": 1.1878
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1765,
"after": 0.1765,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0207,
"after": 0.0207,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0352,
"after": 4.0352,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2025,
"after": 0.2013,
"delta": -0.0012,
"percent_delta": -0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3645,
"after": 0.3656,
"delta": 0.0011,
"percent_delta": 0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8154,
"after": 0.8121,
"delta": -0.0033,
"percent_delta": -0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.089,
"after": 0.089,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1274,
"after": 0.1262,
"delta": -0.0012,
"percent_delta": -0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2707,
"after": 0.2676,
"delta": -0.0031,
"percent_delta": -0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5775,
"after": 0.5748,
"delta": -0.0027,
"percent_delta": -0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5001,
"after": 0.4978,
"delta": -0.0023,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3644,
"after": 0.3491,
"delta": -0.0153,
"percent_delta": -0.042,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1915,
"after": 1.1878,
"delta": -0.0037,
"percent_delta": -0.0031,
"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_SLG",
"before": 0.3644,
"after": 0.3491,
"delta": -0.0153,
"percent_delta": -0.042,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.24), rates preserved: AVG=0.192 HR/AB=0.030",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1765,
"after": 0.0,
"delta": -0.1765,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0207,
"after": 0.0,
"delta": -0.0207,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0352,
"after": 4.0,
"delta": -0.0352,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3656,
"after": 0.0,
"delta": -0.3656,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8121,
"after": 1.0,
"delta": 0.1879,
"percent_delta": 0.2314,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.089,
"after": 0.0,
"delta": -0.089,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1262,
"after": 0.0,
"delta": -0.1262,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4978,
"after": 0.0,
"delta": -0.4978,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1878,
"after": 1.0,
"delta": -0.1878,
"percent_delta": -0.1581,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.8121,
"after": 1.0,
"delta": 0.1879,
"percent_delta": 0.2314,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4978,
"after": 0.0,
"delta": -0.4978,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.5748,
"after": 1.0,
"delta": 0.4252,
"percent_delta": 0.7397,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.5748,
"after": 1.0,
"delta": 0.4252,
"percent_delta": 0.7397,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2013,
"after": 0.25,
"delta": 0.0487,
"percent_delta": 0.2419,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_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_OBP",
"before": 0.2676,
"after": 0.25,
"delta": -0.0176,
"percent_delta": -0.0658,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3491,
"after": 0.25,
"delta": -0.0991,
"percent_delta": -0.2839,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2013,
"after": 0.25,
"delta": 0.0487,
"percent_delta": 0.2419,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3491,
"after": 0.25,
"delta": -0.0991,
"percent_delta": -0.2839,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_CS",
"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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2013,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2676,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3491,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2013,
"delta": -0.0487,
"percent_delta": -0.1949,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_CS",
"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_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_OBP",
"before": 0.25,
"after": 0.2676,
"delta": 0.0176,
"percent_delta": 0.0705,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3491,
"delta": 0.0991,
"percent_delta": 0.3965,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3491,
"delta": 0.0991,
"percent_delta": 0.3965,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2013,
"delta": -0.0487,
"percent_delta": -0.1949,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.203,
"after": 1.0,
"delta": 0.797,
"percent_delta": 3.9261,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.025,
"after": 0.0,
"delta": -0.025,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.24,
"after": 5.0,
"delta": 0.76,
"percent_delta": 0.1792,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.201,
"after": 0.2013,
"delta": 0.0003,
"percent_delta": 0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.443,
"after": 0.0,
"delta": -0.443,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.85,
"after": 2.0,
"delta": 1.15,
"percent_delta": 1.3529,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.272,
"after": 0.2676,
"delta": -0.0044,
"percent_delta": -0.0162,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.595,
"after": 1.0,
"delta": 0.405,
"percent_delta": 0.6807,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.55,
"after": 1.0,
"delta": 0.45,
"percent_delta": 0.8182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.376,
"after": 0.3491,
"delta": -0.0269,
"percent_delta": -0.0715,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.203,
"after": 1.0,
"delta": -0.203,
"percent_delta": -0.1687,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 5,
"deboosted_metrics": 4,
"better_metrics": 6,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.85,
"after": 2.0,
"delta": 1.15,
"percent_delta": 1.3529,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.443,
"after": 0.0,
"delta": -0.443,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.203 | - |
| predicted_3B | 0.025 | - |
| predicted_AB | 4.240 | - |
| predicted_AVG | 0.201 | - |
| predicted_BB | 0.443 | - |
| predicted_H | 0.850 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.272 | - |
| predicted_R | 0.595 | - |
| predicted_RBI | 0.550 | - |
| predicted_SLG | 0.376 | - |
| predicted_SO | 1.203 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.176 | -0.027 |
| predicted_3B | 0.021 | -0.004 |
| predicted_AB | 4.035 | -0.205 |
| predicted_AVG | 0.203 | 0.002 |
| predicted_BB | 0.364 | -0.079 |
| predicted_H | 0.815 | -0.035 |
| predicted_HBP | 0.089 | - |
| predicted_HR | 0.127 | -0.003 |
| predicted_OBP | 0.271 | -0.001 |
| predicted_R | 0.578 | -0.017 |
| predicted_RBI | 0.500 | -0.050 |
| predicted_SLG | 0.364 | -0.012 |
| predicted_SO | 1.192 | -0.012 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.176 | 0.000 |
| predicted_3B | 0.021 | 0.000 |
| predicted_AB | 4.035 | 0.000 |
| predicted_AVG | 0.201 | -0.001 |
| predicted_BB | 0.366 | 0.001 |
| predicted_H | 0.812 | -0.003 |
| predicted_HBP | 0.089 | 0.000 |
| predicted_HR | 0.126 | -0.001 |
| predicted_OBP | 0.268 | -0.003 |
| predicted_R | 0.575 | -0.003 |
| predicted_RBI | 0.498 | -0.002 |
| predicted_SLG | 0.349 | -0.015 |
| predicted_SO | 1.188 | -0.004 |
AB rounded to 4 (raw=4.24), rates preserved: AVG=0.192 HR/AB=0.030
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.176 |
| predicted_3B | 0.000 | -0.021 |
| predicted_AB | 4.000 | -0.035 |
| predicted_AVG | 0.250 | 0.049 |
| predicted_BB | 0.000 | -0.366 |
| predicted_H | 1.000 | 0.188 |
| predicted_HR | 0.000 | -0.126 |
| predicted_OBP | 0.250 | -0.018 |
| predicted_R | 1.000 | 0.425 |
| predicted_RBI | 0.000 | -0.498 |
| predicted_SLG | 0.250 | -0.099 |
| predicted_SO | 1.000 | -0.188 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 3.000 | 0.000 | 0.000 | 1.000 | 2.000 | 3.000 | 0.000 | 6.000 | 0.1765 | 0.2222 | 0.3529 | 0.1765 | 0.0588 | 0.1177 | 0.0000 | 0.3529 |
| last_10 | 0.20 | 10 | - | 38.000 | 6.000 | 1.000 | 0.000 | 1.000 | 3.000 | 4.000 | 0.000 | 12.000 | 0.1579 | 0.1795 | 0.2632 | 0.1579 | 0.0263 | 0.0790 | 0.0000 | 0.3158 |
| season | 0.60 | 79 | - | 305.000 | 68.000 | 16.000 | 2.000 | 8.000 | 38.000 | 47.000 | 35.000 | 95.000 | 0.2230 | 0.3092 | 0.3672 | 0.2230 | 0.0262 | 0.1246 | 0.1148 | 0.3115 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1410 |
| predicted_3B | 0.0150 |
| predicted_AB | 3.7600 |
| predicted_AVG | 0.2045 |
| predicted_BB | 0.2590 |
| predicted_H | 0.7690 |
| predicted_HBP | 0.0890 |
| predicted_HR | 0.1240 |
| predicted_OBP | 0.2690 |
| predicted_R | 0.5540 |
| predicted_RBI | 0.4330 |
| predicted_SLG | 0.3487 |
| predicted_SO | 1.1760 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2030 | 0.1410 | 0.1765 | model_form_blend |
| predicted_3B | 0.0250 | 0.0150 | 0.0207 | model_form_blend |
| predicted_AB | 4.2400 | 3.7600 | 4.0352 | model_form_blend |
| predicted_AVG | 0.2010 | 0.2045 | 0.2025 | model_form_blend |
| predicted_BB | 0.4430 | 0.2590 | 0.3645 | model_form_blend |
| predicted_H | 0.8500 | 0.7690 | 0.8154 | model_form_blend |
| predicted_HBP | - | 0.0890 | 0.0890 | form_only |
| predicted_HR | 0.1300 | 0.1240 | 0.1274 | model_form_blend |
| predicted_OBP | 0.2720 | 0.2690 | 0.2707 | model_form_blend |
| predicted_R | 0.5950 | 0.5540 | 0.5775 | model_form_blend |
| predicted_RBI | 0.5500 | 0.4330 | 0.5001 | model_form_blend |
| predicted_SLG | 0.3760 | 0.3487 | 0.3644 | model_form_blend |
| predicted_SO | 1.2030 | 1.1760 | 1.1915 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 313 |
| Season rows before report date | 313 |
| Report year | 2026 |
| Profile rows used | 79 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.223 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260811_MIL@SD |
| game_type | full |
| mlbID | 592885 |
| playerID | 592885 |
| playerName | Christian Yelich |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | MIL |
| teamID | 16 |
| game_date | 2026-08-11 |
| sl_k_percent | 27.3 |
| sl_bb_percent | 9.7 |
| sl_woba | 0.303 |
| sl_xwoba | 0.3 |
| sl_xba | 0.222 |
| sl_xslg | 0.373 |
| sl_sweet_spot_percent | 29.0 |
| sl_barrel_batted_rate | 9.4 |
| sl_hard_hit_percent | 41.5 |
| sl_exit_velocity_avg | 88.5 |
| sl_launch_angle_avg | 2.8 |
| sl_whiff_percent | 29.7 |
| sl_swing_percent | 44.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.235 | 1.000 | 0.000 | Hitting_2B | 0.274 | 0.000 | 0.726 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.620 | 4.000 | 5.000 | Hitting_AB | 4.265 | 5.000 | -0.265 | -1.000 |
| predicted_AVG | 0.197 | 0.500 | 0.200 | Hitting_AVG | 0.288 | 0.000 | 0.212 | 0.500 |
| predicted_BB | 0.388 | 1.000 | 0.000 | Hitting_BB | 0.385 | 1.000 | 0.615 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_H | 0.910 | 2.000 | 1.000 | Hitting_H | 1.228 | 0.000 | 0.772 | 2.000 |
| predicted_HR | 0.230 | 0.000 | 0.000 | Hitting_HR | 0.191 | 0.000 | -0.191 | 0.000 |
| predicted_OBP | 0.329 | 0.600 | 0.200 | Hitting_OBP | 0.349 | 0.167 | 0.251 | 0.433 |
| predicted_R | 0.682 | 1.000 | 1.000 | Hitting_R | 0.782 | 0.000 | 0.218 | 1.000 |
| predicted_RBI | 0.560 | 0.000 | 1.000 | Hitting_RBI | 0.622 | 0.000 | -0.622 | 0.000 |
| predicted_SLG | 0.435 | 0.750 | 0.200 | Hitting_SLG | 0.486 | 0.000 | 0.264 | 0.750 |
| predicted_SO | 1.118 | 1.000 | 1.000 | Hitting_SO | 1.188 | 2.000 | -0.188 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_H: 0.9100 -> 2.0000 (boost 1.0900, better) |
| Biggest Deboost | predicted_AB: 4.6200 -> 4.0000 (deboost -0.6200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 4 | 2 | 4 | 2 | predicted_BB: 0.3880 -> 0.4588 (boost 0.0708, better) | predicted_AB: 4.6200 -> 4.2914 (deboost -0.3286, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.3412 -> 0.2975 (deboost -0.0437, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 3 | 3 | predicted_AB: 4.2914 -> 5.0000 (boost 0.7086, better) | predicted_BB: 0.4602 -> 0.0000 (deboost -0.4602, worse) | AB rounded to 5 (raw=4.62), rates preserved: AVG=0.206 HR/AB=0.050 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6161 -> 1.0000 (boost 0.3839, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4285 -> 0.2000 (deboost -0.2285, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 3 | 2 | 3 | 2 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2000 -> 0.4285 (boost 0.2285, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694192",
"player_name": "Jackson Chourio",
"position": "LF",
"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": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.235,
"predicted_3B": 0.0,
"predicted_AB": 4.62,
"predicted_AVG": 0.197,
"predicted_BB": 0.388,
"predicted_H": 0.91,
"predicted_HR": 0.23,
"predicted_OBP": 0.329,
"predicted_R": 0.682,
"predicted_RBI": 0.56,
"predicted_SLG": 0.435,
"predicted_SO": 1.118
},
"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": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1921,
"predicted_3B": 0.0004,
"predicted_AB": 4.2914,
"predicted_AVG": 0.226,
"predicted_BB": 0.4588,
"predicted_H": 0.9572,
"predicted_HBP": 0.015,
"predicted_HR": 0.233,
"predicted_OBP": 0.3412,
"predicted_R": 0.6189,
"predicted_RBI": 0.5493,
"predicted_SLG": 0.4566,
"predicted_SO": 1.1103
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.235,
"after": 0.1921,
"delta": -0.0429,
"percent_delta": -0.1826,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.62,
"after": 4.2914,
"delta": -0.3286,
"percent_delta": -0.0711,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.197,
"after": 0.226,
"delta": 0.029,
"percent_delta": 0.1472,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.388,
"after": 0.4588,
"delta": 0.0708,
"percent_delta": 0.1825,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.91,
"after": 0.9572,
"delta": 0.0472,
"percent_delta": 0.0519,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.23,
"after": 0.233,
"delta": 0.003,
"percent_delta": 0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.329,
"after": 0.3412,
"delta": 0.0122,
"percent_delta": 0.0371,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.682,
"after": 0.6189,
"delta": -0.0631,
"percent_delta": -0.0925,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.56,
"after": 0.5493,
"delta": -0.0107,
"percent_delta": -0.0191,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.435,
"after": 0.4566,
"delta": 0.0216,
"percent_delta": 0.0497,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.118,
"after": 1.1103,
"delta": -0.0077,
"percent_delta": -0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.388,
"after": 0.4588,
"delta": 0.0708,
"percent_delta": 0.1825,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.62,
"after": 4.2914,
"delta": -0.3286,
"percent_delta": -0.0711,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 85
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1921,
"predicted_3B": 0.0004,
"predicted_AB": 4.2914,
"predicted_AVG": 0.2222,
"predicted_BB": 0.4602,
"predicted_H": 0.9534,
"predicted_HBP": 0.015,
"predicted_HR": 0.2309,
"predicted_OBP": 0.2975,
"predicted_R": 0.6161,
"predicted_RBI": 0.5468,
"predicted_SLG": 0.4285,
"predicted_SO": 1.1069
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1921,
"after": 0.1921,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2914,
"after": 4.2914,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.2222,
"delta": -0.0038,
"percent_delta": -0.0168,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4588,
"after": 0.4602,
"delta": 0.0014,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9572,
"after": 0.9534,
"delta": -0.0038,
"percent_delta": -0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.015,
"after": 0.015,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.233,
"after": 0.2309,
"delta": -0.0021,
"percent_delta": -0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3412,
"after": 0.2975,
"delta": -0.0437,
"percent_delta": -0.1281,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6189,
"after": 0.6161,
"delta": -0.0028,
"percent_delta": -0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5493,
"after": 0.5468,
"delta": -0.0025,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4566,
"after": 0.4285,
"delta": -0.0281,
"percent_delta": -0.0615,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1103,
"after": 1.1069,
"delta": -0.0034,
"percent_delta": -0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3412,
"after": 0.2975,
"delta": -0.0437,
"percent_delta": -0.1281,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.62), rates preserved: AVG=0.206 HR/AB=0.050",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1921,
"after": 0.0,
"delta": -0.1921,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2914,
"after": 5.0,
"delta": 0.7086,
"percent_delta": 0.1651,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4602,
"after": 0.0,
"delta": -0.4602,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9534,
"after": 1.0,
"delta": 0.0466,
"percent_delta": 0.0489,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.015,
"after": 0.0,
"delta": -0.015,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2309,
"after": 0.0,
"delta": -0.2309,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5468,
"after": 1.0,
"delta": 0.4532,
"percent_delta": 0.8288,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1069,
"after": 1.0,
"delta": -0.1069,
"percent_delta": -0.0966,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.2914,
"after": 5.0,
"delta": 0.7086,
"percent_delta": 0.1651,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4602,
"after": 0.0,
"delta": -0.4602,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.6161,
"after": 1.0,
"delta": 0.3839,
"percent_delta": 0.6231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.6161,
"after": 1.0,
"delta": 0.3839,
"percent_delta": 0.6231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.2,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2222,
"after": 0.2,
"delta": -0.0222,
"percent_delta": -0.0999,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_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_OBP",
"before": 0.2975,
"after": 0.2,
"delta": -0.0975,
"percent_delta": -0.3277,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4285,
"after": 0.2,
"delta": -0.2285,
"percent_delta": -0.5333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4285,
"after": 0.2,
"delta": -0.2285,
"percent_delta": -0.5333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2222,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.2975,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4285,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2,
"after": 0.2222,
"delta": 0.0222,
"percent_delta": 0.1108,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_CS",
"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_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_OBP",
"before": 0.2,
"after": 0.2975,
"delta": 0.0975,
"percent_delta": 0.4875,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.4285,
"delta": 0.2285,
"percent_delta": 1.1426,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.4285,
"delta": 0.2285,
"percent_delta": 1.1426,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.235,
"after": 1.0,
"delta": 0.765,
"percent_delta": 3.2553,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.62,
"after": 4.0,
"delta": -0.62,
"percent_delta": -0.1342,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.197,
"after": 0.2222,
"delta": 0.0252,
"percent_delta": 0.1279,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.388,
"after": 1.0,
"delta": 0.612,
"percent_delta": 1.5773,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.91,
"after": 2.0,
"delta": 1.09,
"percent_delta": 1.1978,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.23,
"after": 0.0,
"delta": -0.23,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.329,
"after": 0.2975,
"delta": -0.0315,
"percent_delta": -0.0957,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.682,
"after": 1.0,
"delta": 0.318,
"percent_delta": 0.4663,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.56,
"after": 0.0,
"delta": -0.56,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.435,
"after": 0.4285,
"delta": -0.0065,
"percent_delta": -0.0149,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.118,
"after": 1.0,
"delta": -0.118,
"percent_delta": -0.1055,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 6,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.91,
"after": 2.0,
"delta": 1.09,
"percent_delta": 1.1978,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.62,
"after": 4.0,
"delta": -0.62,
"percent_delta": -0.1342,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.235 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.620 | - |
| predicted_AVG | 0.197 | - |
| predicted_BB | 0.388 | - |
| predicted_H | 0.910 | - |
| predicted_HR | 0.230 | - |
| predicted_OBP | 0.329 | - |
| predicted_R | 0.682 | - |
| predicted_RBI | 0.560 | - |
| predicted_SLG | 0.435 | - |
| predicted_SO | 1.118 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.192 | -0.043 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.291 | -0.329 |
| predicted_AVG | 0.226 | 0.029 |
| predicted_BB | 0.459 | 0.071 |
| predicted_H | 0.957 | 0.047 |
| predicted_HBP | 0.015 | - |
| predicted_HR | 0.233 | 0.003 |
| predicted_OBP | 0.341 | 0.012 |
| predicted_R | 0.619 | -0.063 |
| predicted_RBI | 0.549 | -0.011 |
| predicted_SLG | 0.457 | 0.022 |
| predicted_SO | 1.110 | -0.008 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.192 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.291 | 0.000 |
| predicted_AVG | 0.222 | -0.004 |
| predicted_BB | 0.460 | 0.001 |
| predicted_H | 0.953 | -0.004 |
| predicted_HBP | 0.015 | 0.000 |
| predicted_HR | 0.231 | -0.002 |
| predicted_OBP | 0.297 | -0.044 |
| predicted_R | 0.616 | -0.003 |
| predicted_RBI | 0.547 | -0.003 |
| predicted_SLG | 0.428 | -0.028 |
| predicted_SO | 1.107 | -0.003 |
AB rounded to 5 (raw=4.62), rates preserved: AVG=0.206 HR/AB=0.050
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.192 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 5.000 | 0.709 |
| predicted_AVG | 0.200 | -0.022 |
| predicted_BB | 0.000 | -0.460 |
| predicted_H | 1.000 | 0.047 |
| predicted_HR | 0.000 | -0.231 |
| predicted_OBP | 0.200 | -0.097 |
| predicted_R | 1.000 | 0.384 |
| predicted_RBI | 1.000 | 0.453 |
| predicted_SLG | 0.200 | -0.228 |
| predicted_SO | 1.000 | -0.107 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 4.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 4.000 | 6.000 | 0.2353 | 0.3810 | 0.4118 | 0.2353 | 0.0588 | 0.1177 | 0.2353 | 0.3529 |
| last_10 | 0.20 | 10 | - | 35.000 | 9.000 | 0.000 | 0.000 | 4.000 | 6.000 | 5.000 | 8.000 | 10.000 | 0.2571 | 0.3953 | 0.6000 | 0.2571 | 0.1143 | 0.1714 | 0.2286 | 0.2857 |
| season | 0.60 | 85 | - | 351.000 | 98.000 | 20.000 | 0.000 | 17.000 | 48.000 | 58.000 | 33.000 | 95.000 | 0.2792 | 0.3437 | 0.4815 | 0.2792 | 0.0484 | 0.1368 | 0.0940 | 0.2707 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1350 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.8540 |
| predicted_AVG | 0.2647 |
| predicted_BB | 0.5530 |
| predicted_H | 1.0200 |
| predicted_HBP | 0.0150 |
| predicted_HR | 0.2370 |
| predicted_OBP | 0.3574 |
| predicted_R | 0.5350 |
| predicted_RBI | 0.5350 |
| predicted_SLG | 0.4853 |
| predicted_SO | 1.1000 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2350 | 0.1350 | 0.1921 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.6200 | 3.8540 | 4.2914 | model_form_blend |
| predicted_AVG | 0.1970 | 0.2647 | 0.2260 | model_form_blend |
| predicted_BB | 0.3880 | 0.5530 | 0.4588 | model_form_blend |
| predicted_H | 0.9100 | 1.0200 | 0.9572 | model_form_blend |
| predicted_HBP | - | 0.0150 | 0.0150 | form_only |
| predicted_HR | 0.2300 | 0.2370 | 0.2330 | model_form_blend |
| predicted_OBP | 0.3290 | 0.3574 | 0.3412 | model_form_blend |
| predicted_R | 0.6820 | 0.5350 | 0.6189 | model_form_blend |
| predicted_RBI | 0.5600 | 0.5350 | 0.5493 | model_form_blend |
| predicted_SLG | 0.4350 | 0.4853 | 0.4566 | model_form_blend |
| predicted_SO | 1.1180 | 1.1000 | 1.1103 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 325 |
| Season rows before report date | 325 |
| Report year | 2026 |
| Profile rows used | 85 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.279 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 1 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260812_MIL@SD |
| game_type | full |
| mlbID | 694192 |
| playerID | 694192 |
| playerName | Jackson Chourio |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | MIL |
| teamID | 16 |
| game_date | 2026-08-12 |
| sl_k_percent | 24.0 |
| sl_bb_percent | 8.3 |
| sl_woba | 0.353 |
| sl_xwoba | 0.344 |
| sl_xba | 0.258 |
| sl_xslg | 0.483 |
| sl_sweet_spot_percent | 33.1 |
| sl_barrel_batted_rate | 13.9 |
| sl_hard_hit_percent | 47.9 |
| sl_exit_velocity_avg | 92.1 |
| sl_launch_angle_avg | 11.8 |
| sl_whiff_percent | 23.5 |
| sl_swing_percent | 47.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.108 | 0.000 | 0.000 | Hitting_2B | 0.105 | 0.000 | -0.105 | 0.000 |
| predicted_3B | 0.024 | 0.000 | 0.000 | Hitting_3B | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_AB | 3.000 | 4.000 | 3.000 | Hitting_AB | 3.113 | 4.000 | 0.887 | 0.000 |
| predicted_AVG | 0.229 | 0.250 | 0.333 | Hitting_AVG | 0.250 | 0.000 | 0.000 | 0.250 |
| predicted_BB | 0.301 | 0.000 | 0.000 | Hitting_BB | 0.352 | 1.000 | -0.352 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.066 | 0.000 | -0.066 | 0.000 |
| predicted_H | 0.687 | 1.000 | 1.000 | Hitting_H | 0.777 | 0.000 | 0.223 | 1.000 |
| predicted_HR | 0.036 | 0.000 | 0.000 | Hitting_HR | 0.051 | 0.000 | -0.051 | 0.000 |
| predicted_OBP | 0.299 | 0.250 | 0.333 | Hitting_OBP | 0.328 | 0.200 | -0.078 | 0.050 |
| predicted_R | 0.434 | 1.000 | 0.000 | Hitting_R | 0.516 | 0.000 | 0.484 | 1.000 |
| predicted_RBI | 0.193 | 0.000 | 0.000 | Hitting_RBI | 0.230 | 0.000 | -0.230 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.285 | 1.000 | -0.285 | -1.000 |
| predicted_SLG | 0.317 | 0.250 | 0.333 | Hitting_SLG | 0.345 | 0.000 | -0.095 | 0.250 |
| predicted_SO | 0.783 | 0.000 | 1.000 | Hitting_SO | 0.789 | 1.000 | -0.789 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) |
| Biggest Deboost | predicted_SO: 0.7830 -> 0.0000 (deboost -0.7830, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3170 -> 0.3082 (deboost -0.0088, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 0 | 0 | 0 | 0 | 0 | - | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 2 | 3 | 1 | 4 | predicted_H: 0.6649 -> 1.0000 (boost 0.3351, better) | predicted_BB: 0.3092 -> 0.0000 (deboost -0.3092, worse) | AB rounded to 3 (raw=3.03), rates preserved: AVG=0.219 HR/AB=0.011 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4144 -> 0.0000 (deboost -0.4144, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2192 -> 0.3330 (boost 0.1138, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 2 | 1 | 3 | 0 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.2192 (deboost -0.1138, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "666152",
"player_name": "David Hamilton",
"position": "2B",
"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": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.108,
"predicted_3B": 0.024,
"predicted_AB": 3.0,
"predicted_AVG": 0.229,
"predicted_BB": 0.301,
"predicted_H": 0.687,
"predicted_HR": 0.036,
"predicted_OBP": 0.299,
"predicted_R": 0.434,
"predicted_RBI": 0.193,
"predicted_SLG": 0.317,
"predicted_SO": 0.783
},
"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": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1253,
"predicted_3B": 0.0202,
"predicted_AB": 3.0333,
"predicted_AVG": 0.2203,
"predicted_BB": 0.3082,
"predicted_H": 0.6676,
"predicted_HBP": 0.009,
"predicted_HR": 0.0339,
"predicted_OBP": 0.2931,
"predicted_R": 0.4163,
"predicted_RBI": 0.1964,
"predicted_SLG": 0.3082,
"predicted_SO": 0.7973
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.108,
"after": 0.1253,
"delta": 0.0173,
"percent_delta": 0.1602,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.024,
"after": 0.0202,
"delta": -0.0038,
"percent_delta": -0.1583,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0333,
"delta": 0.0333,
"percent_delta": 0.0111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2203,
"delta": -0.0087,
"percent_delta": -0.038,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.301,
"after": 0.3082,
"delta": 0.0072,
"percent_delta": 0.0239,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.687,
"after": 0.6676,
"delta": -0.0194,
"percent_delta": -0.0282,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.036,
"after": 0.0339,
"delta": -0.0021,
"percent_delta": -0.0583,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.299,
"after": 0.2931,
"delta": -0.0059,
"percent_delta": -0.0197,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.434,
"after": 0.4163,
"delta": -0.0177,
"percent_delta": -0.0408,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.193,
"after": 0.1964,
"delta": 0.0034,
"percent_delta": 0.0176,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.317,
"after": 0.3082,
"delta": -0.0088,
"percent_delta": -0.0278,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.783,
"after": 0.7973,
"delta": 0.0143,
"percent_delta": 0.0183,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.317,
"after": 0.3082,
"delta": -0.0088,
"percent_delta": -0.0278,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 83
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1253,
"predicted_3B": 0.0202,
"predicted_AB": 3.0333,
"predicted_AVG": 0.2192,
"predicted_BB": 0.3092,
"predicted_H": 0.6649,
"predicted_HBP": 0.009,
"predicted_HR": 0.0336,
"predicted_OBP": 0.2914,
"predicted_R": 0.4144,
"predicted_RBI": 0.1955,
"predicted_SLG": 0.3071,
"predicted_SO": 0.7948
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1253,
"after": 0.1253,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0202,
"after": 0.0202,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0333,
"after": 3.0333,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2203,
"after": 0.2192,
"delta": -0.0011,
"percent_delta": -0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3082,
"after": 0.3092,
"delta": 0.001,
"percent_delta": 0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6676,
"after": 0.6649,
"delta": -0.0027,
"percent_delta": -0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.009,
"after": 0.009,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0339,
"after": 0.0336,
"delta": -0.0003,
"percent_delta": -0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2931,
"after": 0.2914,
"delta": -0.0017,
"percent_delta": -0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4163,
"after": 0.4144,
"delta": -0.0019,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1964,
"after": 0.1955,
"delta": -0.0009,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3082,
"after": 0.3071,
"delta": -0.0011,
"percent_delta": -0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.7973,
"after": 0.7948,
"delta": -0.0025,
"percent_delta": -0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.03), rates preserved: AVG=0.219 HR/AB=0.011",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1253,
"after": 0.0,
"delta": -0.1253,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0202,
"after": 0.0,
"delta": -0.0202,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0333,
"after": 3.0,
"delta": -0.0333,
"percent_delta": -0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3092,
"after": 0.0,
"delta": -0.3092,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6649,
"after": 1.0,
"delta": 0.3351,
"percent_delta": 0.504,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.009,
"after": 0.0,
"delta": -0.009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0336,
"after": 0.0,
"delta": -0.0336,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1955,
"after": 0.0,
"delta": -0.1955,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7948,
"after": 1.0,
"delta": 0.2052,
"percent_delta": 0.2582,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.6649,
"after": 1.0,
"delta": 0.3351,
"percent_delta": 0.504,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3092,
"after": 0.0,
"delta": -0.3092,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.4144,
"after": 0.0,
"delta": -0.4144,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4144,
"after": 0.0,
"delta": -0.4144,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2192,
"after": 0.333,
"delta": 0.1138,
"percent_delta": 0.5192,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_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_OBP",
"before": 0.2914,
"after": 0.333,
"delta": 0.0416,
"percent_delta": 0.1428,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3071,
"after": 0.333,
"delta": 0.0259,
"percent_delta": 0.0843,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2192,
"after": 0.333,
"delta": 0.1138,
"percent_delta": 0.5192,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_CS",
"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_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2192,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2914,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3071,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2192,
"delta": -0.1138,
"percent_delta": -0.3417,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_CS",
"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_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_OBP",
"before": 0.333,
"after": 0.2914,
"delta": -0.0416,
"percent_delta": -0.1248,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3071,
"delta": -0.0259,
"percent_delta": -0.0779,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2192,
"delta": -0.1138,
"percent_delta": -0.3417,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.108,
"after": 0.0,
"delta": -0.108,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.024,
"after": 0.0,
"delta": -0.024,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2192,
"delta": -0.0098,
"percent_delta": -0.0428,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.301,
"after": 0.0,
"delta": -0.301,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.687,
"after": 1.0,
"delta": 0.313,
"percent_delta": 0.4556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.036,
"after": 0.0,
"delta": -0.036,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.299,
"after": 0.2914,
"delta": -0.0076,
"percent_delta": -0.0254,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.434,
"after": 1.0,
"delta": 0.566,
"percent_delta": 1.3041,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.193,
"after": 0.0,
"delta": -0.193,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.317,
"after": 0.3071,
"delta": -0.0099,
"percent_delta": -0.0312,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.783,
"after": 0.0,
"delta": -0.783,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.783,
"after": 0.0,
"delta": -0.783,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.108 | - |
| predicted_3B | 0.024 | - |
| predicted_AB | 3.000 | - |
| predicted_AVG | 0.229 | - |
| predicted_BB | 0.301 | - |
| predicted_H | 0.687 | - |
| predicted_HR | 0.036 | - |
| predicted_OBP | 0.299 | - |
| predicted_R | 0.434 | - |
| predicted_RBI | 0.193 | - |
| predicted_SLG | 0.317 | - |
| predicted_SO | 0.783 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.125 | 0.017 |
| predicted_3B | 0.020 | -0.004 |
| predicted_AB | 3.033 | 0.033 |
| predicted_AVG | 0.220 | -0.009 |
| predicted_BB | 0.308 | 0.007 |
| predicted_H | 0.668 | -0.019 |
| predicted_HBP | 0.009 | - |
| predicted_HR | 0.034 | -0.002 |
| predicted_OBP | 0.293 | -0.006 |
| predicted_R | 0.416 | -0.018 |
| predicted_RBI | 0.196 | 0.003 |
| predicted_SLG | 0.308 | -0.009 |
| predicted_SO | 0.797 | 0.014 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.125 | 0.000 |
| predicted_3B | 0.020 | 0.000 |
| predicted_AB | 3.033 | 0.000 |
| predicted_AVG | 0.219 | -0.001 |
| predicted_BB | 0.309 | 0.001 |
| predicted_H | 0.665 | -0.003 |
| predicted_HBP | 0.009 | 0.000 |
| predicted_HR | 0.034 | -0.000 |
| predicted_OBP | 0.291 | -0.002 |
| predicted_R | 0.414 | -0.002 |
| predicted_RBI | 0.196 | -0.001 |
| predicted_SLG | 0.307 | -0.001 |
| predicted_SO | 0.795 | -0.003 |
AB rounded to 3 (raw=3.03), rates preserved: AVG=0.219 HR/AB=0.011
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.125 |
| predicted_3B | 0.000 | -0.020 |
| predicted_AB | 3.000 | -0.033 |
| predicted_AVG | 0.333 | 0.114 |
| predicted_BB | 0.000 | -0.309 |
| predicted_H | 1.000 | 0.335 |
| predicted_HR | 0.000 | -0.034 |
| predicted_OBP | 0.333 | 0.042 |
| predicted_R | 0.000 | -0.414 |
| predicted_RBI | 0.000 | -0.196 |
| predicted_SLG | 0.333 | 0.026 |
| predicted_SO | 1.000 | 0.205 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 2.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 2.000 | 4.000 | 0.1333 | 0.2353 | 0.2000 | 0.1333 | 0.0000 | 0.0667 | 0.1333 | 0.2667 |
| last_10 | 0.20 | 10 | - | 30.000 | 6.000 | 2.000 | 0.000 | 0.000 | 1.000 | 4.000 | 3.000 | 9.000 | 0.2000 | 0.2727 | 0.2667 | 0.2000 | 0.0000 | 0.0333 | 0.1000 | 0.3000 |
| season | 0.60 | 83 | - | 249.000 | 57.000 | 9.000 | 2.000 | 3.000 | 16.000 | 36.000 | 25.000 | 65.000 | 0.2289 | 0.3018 | 0.3173 | 0.2289 | 0.0120 | 0.0643 | 0.1004 | 0.2610 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1490 |
| predicted_3B | 0.0150 |
| predicted_AB | 3.0790 |
| predicted_AVG | 0.2083 |
| predicted_BB | 0.3180 |
| predicted_H | 0.6410 |
| predicted_HBP | 0.0090 |
| predicted_HR | 0.0310 |
| predicted_OBP | 0.2849 |
| predicted_R | 0.3920 |
| predicted_RBI | 0.2010 |
| predicted_SLG | 0.2960 |
| predicted_SO | 0.8170 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1080 | 0.1490 | 0.1253 | model_form_blend |
| predicted_3B | 0.0240 | 0.0150 | 0.0202 | model_form_blend |
| predicted_AB | 3.0000 | 3.0790 | 3.0333 | model_form_blend |
| predicted_AVG | 0.2290 | 0.2083 | 0.2203 | model_form_blend |
| predicted_BB | 0.3010 | 0.3180 | 0.3082 | model_form_blend |
| predicted_H | 0.6870 | 0.6410 | 0.6676 | model_form_blend |
| predicted_HBP | - | 0.0090 | 0.0090 | form_only |
| predicted_HR | 0.0360 | 0.0310 | 0.0339 | model_form_blend |
| predicted_OBP | 0.2990 | 0.2849 | 0.2931 | model_form_blend |
| predicted_R | 0.4340 | 0.3920 | 0.4163 | model_form_blend |
| predicted_RBI | 0.1930 | 0.2010 | 0.1964 | model_form_blend |
| predicted_SLG | 0.3170 | 0.2960 | 0.3082 | model_form_blend |
| predicted_SO | 0.7830 | 0.8170 | 0.7973 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 256 |
| Season rows before report date | 256 |
| Report year | 2026 |
| Profile rows used | 83 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.229 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 1 |
| Fielding_E | 1 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260812_MIL@SD |
| game_type | full |
| mlbID | 666152 |
| playerID | 666152 |
| playerName | David Hamilton |
| pos | 3B |
| started | True |
| startingPosition | SS |
| team | MIL |
| teamID | 16 |
| game_date | 2026-08-12 |
| sl_k_percent | 22.6 |
| sl_bb_percent | 9.4 |
| sl_woba | 0.289 |
| sl_xwoba | 0.263 |
| sl_xba | 0.204 |
| sl_xslg | 0.291 |
| sl_sweet_spot_percent | 25.8 |
| sl_barrel_batted_rate | 3.6 |
| sl_hard_hit_percent | 26.9 |
| sl_exit_velocity_avg | 86.5 |
| sl_launch_angle_avg | 12.5 |
| sl_whiff_percent | 22.9 |
| sl_swing_percent | 45.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.145 | 0.000 | 0.000 | Hitting_2B | 0.147 | 0.000 | -0.147 | 0.000 |
| predicted_3B | 0.009 | 0.000 | 0.000 | Hitting_3B | 0.002 | 0.000 | -0.002 | 0.000 |
| predicted_AB | 3.920 | 4.000 | 4.000 | Hitting_AB | 3.974 | 3.000 | 0.026 | 1.000 |
| predicted_AVG | 0.214 | 0.000 | 0.250 | Hitting_AVG | 0.273 | 0.000 | -0.273 | 0.000 |
| predicted_BB | 0.391 | 0.000 | 0.000 | Hitting_BB | 0.413 | 2.000 | -0.413 | -2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.021 | 0.000 | -0.021 | 0.000 |
| predicted_H | 0.840 | 0.000 | 1.000 | Hitting_H | 1.083 | 0.000 | -1.083 | 0.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.109 | 0.000 | -0.109 | 0.000 |
| predicted_OBP | 0.328 | 0.000 | 0.250 | Hitting_OBP | 0.342 | 0.400 | -0.342 | -0.400 |
| predicted_R | 0.509 | 0.000 | 0.000 | Hitting_R | 0.553 | 0.000 | -0.553 | 0.000 |
| predicted_RBI | 0.450 | 0.000 | 0.000 | Hitting_RBI | 0.625 | 0.000 | -0.625 | 0.000 |
| predicted_SLG | 0.357 | 0.000 | 0.250 | Hitting_SLG | 0.393 | 0.000 | -0.393 | 0.000 |
| predicted_SO | 0.600 | 1.000 | 1.000 | Hitting_SO | 0.591 | 0.000 | 0.409 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_SO: 0.6000 -> 1.0000 (boost 0.4000, worse) |
| Biggest Deboost | predicted_H: 0.8400 -> 0.0000 (deboost -0.8400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 1 | 5 | 1 | 5 | predicted_BB: 0.3910 -> 0.4715 (boost 0.0805, better) | predicted_AB: 3.9200 -> 3.8062 (deboost -0.1138, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.3227 -> 0.2927 (deboost -0.0300, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 2 | 6 | predicted_SO: 0.5870 -> 1.0000 (boost 0.4130, worse) | predicted_BB: 0.4730 -> 0.0000 (deboost -0.4730, worse) | AB rounded to 4 (raw=3.92), rates preserved: AVG=0.199 HR/AB=0.023 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4696 -> 0.0000 (deboost -0.4696, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2048 -> 0.2500 (boost 0.0452, better) | predicted_SLG: 0.3121 -> 0.2500 (deboost -0.0621, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 1 | 0 | 1 | 0 | 1 | - | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3121 (boost 0.0621, better) | predicted_AVG: 0.2500 -> 0.2048 (deboost -0.0452, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "661388",
"player_name": "William Contreras",
"position": "C",
"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": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.145,
"predicted_3B": 0.009,
"predicted_AB": 3.92,
"predicted_AVG": 0.214,
"predicted_BB": 0.391,
"predicted_H": 0.84,
"predicted_HR": 0.1,
"predicted_OBP": 0.328,
"predicted_R": 0.509,
"predicted_RBI": 0.45,
"predicted_SLG": 0.357,
"predicted_SO": 0.6
},
"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": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1203,
"predicted_3B": 0.0077,
"predicted_AB": 3.8062,
"predicted_AVG": 0.2051,
"predicted_BB": 0.4715,
"predicted_H": 0.7825,
"predicted_HBP": 0.084,
"predicted_HR": 0.0918,
"predicted_OBP": 0.3227,
"predicted_R": 0.4718,
"predicted_RBI": 0.4253,
"predicted_SLG": 0.3268,
"predicted_SO": 0.5888
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.145,
"after": 0.1203,
"delta": -0.0247,
"percent_delta": -0.1703,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.009,
"after": 0.0077,
"delta": -0.0013,
"percent_delta": -0.1444,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.92,
"after": 3.8062,
"delta": -0.1138,
"percent_delta": -0.029,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.214,
"after": 0.2051,
"delta": -0.0089,
"percent_delta": -0.0416,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.391,
"after": 0.4715,
"delta": 0.0805,
"percent_delta": 0.2059,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.84,
"after": 0.7825,
"delta": -0.0575,
"percent_delta": -0.0685,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0918,
"delta": -0.0082,
"percent_delta": -0.082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.328,
"after": 0.3227,
"delta": -0.0053,
"percent_delta": -0.0162,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.509,
"after": 0.4718,
"delta": -0.0372,
"percent_delta": -0.0731,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.4253,
"delta": -0.0247,
"percent_delta": -0.0549,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.357,
"after": 0.3268,
"delta": -0.0302,
"percent_delta": -0.0846,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6,
"after": 0.5888,
"delta": -0.0112,
"percent_delta": -0.0187,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.391,
"after": 0.4715,
"delta": 0.0805,
"percent_delta": 0.2059,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.92,
"after": 3.8062,
"delta": -0.1138,
"percent_delta": -0.029,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 110
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1203,
"predicted_3B": 0.0077,
"predicted_AB": 3.8062,
"predicted_AVG": 0.2048,
"predicted_BB": 0.473,
"predicted_H": 0.7794,
"predicted_HBP": 0.084,
"predicted_HR": 0.091,
"predicted_OBP": 0.2927,
"predicted_R": 0.4696,
"predicted_RBI": 0.4233,
"predicted_SLG": 0.3121,
"predicted_SO": 0.587
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1203,
"after": 0.1203,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0077,
"after": 0.0077,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8062,
"after": 3.8062,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2051,
"after": 0.2048,
"delta": -0.0003,
"percent_delta": -0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4715,
"after": 0.473,
"delta": 0.0015,
"percent_delta": 0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7825,
"after": 0.7794,
"delta": -0.0031,
"percent_delta": -0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.084,
"after": 0.084,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0918,
"after": 0.091,
"delta": -0.0008,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3227,
"after": 0.2927,
"delta": -0.03,
"percent_delta": -0.093,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4718,
"after": 0.4696,
"delta": -0.0022,
"percent_delta": -0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4253,
"after": 0.4233,
"delta": -0.002,
"percent_delta": -0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3268,
"after": 0.3121,
"delta": -0.0147,
"percent_delta": -0.045,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5888,
"after": 0.587,
"delta": -0.0018,
"percent_delta": -0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3227,
"after": 0.2927,
"delta": -0.03,
"percent_delta": -0.093,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.92), rates preserved: AVG=0.199 HR/AB=0.023",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1203,
"after": 0.0,
"delta": -0.1203,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0077,
"after": 0.0,
"delta": -0.0077,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.8062,
"after": 4.0,
"delta": 0.1938,
"percent_delta": 0.0509,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.473,
"after": 0.0,
"delta": -0.473,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7794,
"after": 1.0,
"delta": 0.2206,
"percent_delta": 0.283,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.084,
"after": 0.0,
"delta": -0.084,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.091,
"after": 0.0,
"delta": -0.091,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4233,
"after": 0.0,
"delta": -0.4233,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.587,
"after": 1.0,
"delta": 0.413,
"percent_delta": 0.7036,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.587,
"after": 1.0,
"delta": 0.413,
"percent_delta": 0.7036,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.473,
"after": 0.0,
"delta": -0.473,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.4696,
"after": 0.0,
"delta": -0.4696,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4696,
"after": 0.0,
"delta": -0.4696,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2048,
"after": 0.25,
"delta": 0.0452,
"percent_delta": 0.2207,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_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_OBP",
"before": 0.2927,
"after": 0.25,
"delta": -0.0427,
"percent_delta": -0.1459,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3121,
"after": 0.25,
"delta": -0.0621,
"percent_delta": -0.199,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2048,
"after": 0.25,
"delta": 0.0452,
"percent_delta": 0.2207,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3121,
"after": 0.25,
"delta": -0.0621,
"percent_delta": -0.199,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_CS",
"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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2048,
"predicted_BB": 0.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2927,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3121,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2048,
"delta": -0.0452,
"percent_delta": -0.1809,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_OBP",
"before": 0.25,
"after": 0.2927,
"delta": 0.0427,
"percent_delta": 0.1706,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3121,
"delta": 0.0621,
"percent_delta": 0.2485,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3121,
"delta": 0.0621,
"percent_delta": 0.2485,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2048,
"delta": -0.0452,
"percent_delta": -0.1809,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.145,
"after": 0.0,
"delta": -0.145,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.009,
"after": 0.0,
"delta": -0.009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.92,
"after": 4.0,
"delta": 0.08,
"percent_delta": 0.0204,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.214,
"after": 0.2048,
"delta": -0.0092,
"percent_delta": -0.043,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.391,
"after": 0.0,
"delta": -0.391,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.84,
"after": 0.0,
"delta": -0.84,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.328,
"after": 0.2927,
"delta": -0.0353,
"percent_delta": -0.1076,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.509,
"after": 0.0,
"delta": -0.509,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.45,
"after": 0.0,
"delta": -0.45,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.357,
"after": 0.3121,
"delta": -0.0449,
"percent_delta": -0.1258,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6,
"after": 1.0,
"delta": 0.4,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 10,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.6,
"after": 1.0,
"delta": 0.4,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.84,
"after": 0.0,
"delta": -0.84,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.145 | - |
| predicted_3B | 0.009 | - |
| predicted_AB | 3.920 | - |
| predicted_AVG | 0.214 | - |
| predicted_BB | 0.391 | - |
| predicted_H | 0.840 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.328 | - |
| predicted_R | 0.509 | - |
| predicted_RBI | 0.450 | - |
| predicted_SLG | 0.357 | - |
| predicted_SO | 0.600 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.120 | -0.025 |
| predicted_3B | 0.008 | -0.001 |
| predicted_AB | 3.806 | -0.114 |
| predicted_AVG | 0.205 | -0.009 |
| predicted_BB | 0.471 | 0.080 |
| predicted_H | 0.782 | -0.057 |
| predicted_HBP | 0.084 | - |
| predicted_HR | 0.092 | -0.008 |
| predicted_OBP | 0.323 | -0.005 |
| predicted_R | 0.472 | -0.037 |
| predicted_RBI | 0.425 | -0.025 |
| predicted_SLG | 0.327 | -0.030 |
| predicted_SO | 0.589 | -0.011 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.120 | 0.000 |
| predicted_3B | 0.008 | 0.000 |
| predicted_AB | 3.806 | 0.000 |
| predicted_AVG | 0.205 | -0.000 |
| predicted_BB | 0.473 | 0.002 |
| predicted_H | 0.779 | -0.003 |
| predicted_HBP | 0.084 | 0.000 |
| predicted_HR | 0.091 | -0.001 |
| predicted_OBP | 0.293 | -0.030 |
| predicted_R | 0.470 | -0.002 |
| predicted_RBI | 0.423 | -0.002 |
| predicted_SLG | 0.312 | -0.015 |
| predicted_SO | 0.587 | -0.002 |
AB rounded to 4 (raw=3.92), rates preserved: AVG=0.199 HR/AB=0.023
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.120 |
| predicted_3B | 0.000 | -0.008 |
| predicted_AB | 4.000 | 0.194 |
| predicted_AVG | 0.250 | 0.045 |
| predicted_BB | 0.000 | -0.473 |
| predicted_H | 1.000 | 0.221 |
| predicted_HR | 0.000 | -0.091 |
| predicted_OBP | 0.250 | -0.043 |
| predicted_R | 0.000 | -0.470 |
| predicted_RBI | 0.000 | -0.423 |
| predicted_SLG | 0.250 | -0.062 |
| predicted_SO | 1.000 | 0.413 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 5.000 | 2.000 | 0.0625 | 0.3182 | 0.0625 | 0.0625 | 0.0000 | 0.0625 | 0.3125 | 0.1250 |
| last_10 | 0.20 | 10 | - | 35.000 | 4.000 | 0.000 | 0.000 | 1.000 | 2.000 | 4.000 | 7.000 | 6.000 | 0.1143 | 0.2791 | 0.2000 | 0.1143 | 0.0286 | 0.0571 | 0.2000 | 0.1714 |
| season | 0.60 | 110 | - | 423.000 | 109.000 | 16.000 | 1.000 | 11.000 | 58.000 | 56.000 | 43.000 | 66.000 | 0.2577 | 0.3284 | 0.3783 | 0.2577 | 0.0260 | 0.1371 | 0.1017 | 0.1560 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0880 |
| predicted_3B | 0.0060 |
| predicted_AB | 3.6570 |
| predicted_AVG | 0.1934 |
| predicted_BB | 0.5770 |
| predicted_H | 0.7070 |
| predicted_HBP | 0.0840 |
| predicted_HR | 0.0810 |
| predicted_OBP | 0.3158 |
| predicted_R | 0.4230 |
| predicted_RBI | 0.3930 |
| predicted_SLG | 0.2872 |
| predicted_SO | 0.5740 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1450 | 0.0880 | 0.1203 | model_form_blend |
| predicted_3B | 0.0090 | 0.0060 | 0.0077 | model_form_blend |
| predicted_AB | 3.9200 | 3.6570 | 3.8062 | model_form_blend |
| predicted_AVG | 0.2140 | 0.1934 | 0.2051 | model_form_blend |
| predicted_BB | 0.3910 | 0.5770 | 0.4715 | model_form_blend |
| predicted_H | 0.8400 | 0.7070 | 0.7825 | model_form_blend |
| predicted_HBP | - | 0.0840 | 0.0840 | form_only |
| predicted_HR | 0.1000 | 0.0810 | 0.0918 | model_form_blend |
| predicted_OBP | 0.3280 | 0.3158 | 0.3227 | model_form_blend |
| predicted_R | 0.5090 | 0.4230 | 0.4718 | model_form_blend |
| predicted_RBI | 0.4500 | 0.3930 | 0.4253 | model_form_blend |
| predicted_SLG | 0.3570 | 0.2872 | 0.3268 | model_form_blend |
| predicted_SO | 0.6000 | 0.5740 | 0.5888 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 421 |
| Season rows before report date | 421 |
| Report year | 2026 |
| Profile rows used | 110 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.258 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 2 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260812_MIL@SD |
| game_type | full |
| mlbID | 661388 |
| playerID | 661388 |
| playerName | William Contreras |
| pos | C |
| started | True |
| startingPosition | DH |
| team | MIL |
| teamID | 16 |
| game_date | 2026-08-12 |
| sl_k_percent | 14.1 |
| sl_bb_percent | 8.8 |
| sl_woba | 0.313 |
| sl_xwoba | 0.331 |
| sl_xba | 0.261 |
| sl_xslg | 0.434 |
| sl_sweet_spot_percent | 31.4 |
| sl_barrel_batted_rate | 7.4 |
| sl_hard_hit_percent | 42.7 |
| sl_exit_velocity_avg | 89.9 |
| sl_launch_angle_avg | 11.8 |
| sl_whiff_percent | 20.3 |
| sl_swing_percent | 46.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.214 | 2.000 | 0.000 | Hitting_2B | 0.258 | 0.000 | 1.742 | 2.000 |
| predicted_3B | 0.029 | 0.000 | 0.000 | Hitting_3B | 0.040 | 0.000 | -0.040 | 0.000 |
| predicted_AB | 3.282 | 3.000 | 3.000 | Hitting_AB | 3.538 | 2.000 | -0.538 | 1.000 |
| predicted_AVG | 0.215 | 0.667 | 0.333 | Hitting_AVG | 0.272 | 0.000 | 0.394 | 0.667 |
| predicted_BB | 0.456 | 2.000 | 0.000 | Hitting_BB | 0.450 | 1.000 | 1.550 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.051 | 0.000 | -0.051 | 0.000 |
| predicted_H | 0.410 | 2.000 | 1.000 | Hitting_H | 0.963 | 0.000 | 1.037 | 2.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.079 | 0.000 | -0.079 | 0.000 |
| predicted_OBP | 0.326 | 0.800 | 0.333 | Hitting_OBP | 0.357 | 0.333 | 0.443 | 0.467 |
| predicted_R | 0.456 | 1.000 | 0.000 | Hitting_R | 0.538 | 0.000 | 0.462 | 1.000 |
| predicted_RBI | 0.240 | 2.000 | 0.000 | Hitting_RBI | 0.538 | 0.000 | 1.462 | 2.000 |
| predicted_SLG | 0.340 | 1.333 | 0.333 | Hitting_SLG | 0.435 | 0.000 | 0.899 | 1.333 |
| predicted_SO | 1.204 | 0.000 | 1.000 | Hitting_SO | 1.227 | 1.000 | -1.227 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_2B: 0.2140 -> 2.0000 (boost 1.7860, better) |
| Biggest Deboost | predicted_SO: 1.2040 -> 0.0000 (deboost -1.2040, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 1 | 2 | predicted_H: 0.4100 -> 0.5151 (boost 0.1051, better) | predicted_R: 0.4560 -> 0.3959 (deboost -0.0601, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.3287 -> 0.2715 (deboost -0.0572, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 0 | 7 | 1 | 6 | - | predicted_H: 0.5130 -> 0.0000 (deboost -0.5130, worse) | AB rounded to 3 (raw=3.28), rates preserved: AVG=0.156 HR/AB=0.016 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.3941 -> 0.0000 (deboost -0.3941, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1581 -> 0.3330 (boost 0.1749, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 5 | 1 | 6 | 0 | predicted_2B: 0.0000 -> 2.0000 (boost 2.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1581 (deboost -0.1749, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669003",
"player_name": "Garrett Mitchell",
"position": "CF",
"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": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.214,
"predicted_3B": 0.029,
"predicted_AB": 3.282,
"predicted_AVG": 0.215,
"predicted_BB": 0.456,
"predicted_H": 0.41,
"predicted_HR": 0.06,
"predicted_OBP": 0.326,
"predicted_R": 0.456,
"predicted_RBI": 0.24,
"predicted_SLG": 0.34,
"predicted_SO": 1.204
},
"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": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1848,
"predicted_3B": 0.0239,
"predicted_AB": 3.2451,
"predicted_AVG": 0.2107,
"predicted_BB": 0.5036,
"predicted_H": 0.5151,
"predicted_HBP": 0.042,
"predicted_HR": 0.0536,
"predicted_OBP": 0.3287,
"predicted_R": 0.3959,
"predicted_RBI": 0.255,
"predicted_SLG": 0.3243,
"predicted_SO": 1.171
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.214,
"after": 0.1848,
"delta": -0.0292,
"percent_delta": -0.1364,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.029,
"after": 0.0239,
"delta": -0.0051,
"percent_delta": -0.1759,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.282,
"after": 3.2451,
"delta": -0.0369,
"percent_delta": -0.0112,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.215,
"after": 0.2107,
"delta": -0.0043,
"percent_delta": -0.02,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.456,
"after": 0.5036,
"delta": 0.0476,
"percent_delta": 0.1044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.41,
"after": 0.5151,
"delta": 0.1051,
"percent_delta": 0.2563,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0536,
"delta": -0.0064,
"percent_delta": -0.1067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.326,
"after": 0.3287,
"delta": 0.0027,
"percent_delta": 0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.456,
"after": 0.3959,
"delta": -0.0601,
"percent_delta": -0.1318,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.24,
"after": 0.255,
"delta": 0.015,
"percent_delta": 0.0625,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.34,
"after": 0.3243,
"delta": -0.0157,
"percent_delta": -0.0462,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.204,
"after": 1.171,
"delta": -0.033,
"percent_delta": -0.0274,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.41,
"after": 0.5151,
"delta": 0.1051,
"percent_delta": 0.2563,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.456,
"after": 0.3959,
"delta": -0.0601,
"percent_delta": -0.1318,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 103
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1848,
"predicted_3B": 0.0239,
"predicted_AB": 3.2451,
"predicted_AVG": 0.1581,
"predicted_BB": 0.5052,
"predicted_H": 0.513,
"predicted_HBP": 0.042,
"predicted_HR": 0.0531,
"predicted_OBP": 0.2715,
"predicted_R": 0.3941,
"predicted_RBI": 0.2538,
"predicted_SLG": 0.2789,
"predicted_SO": 1.1674
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1848,
"after": 0.1848,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0239,
"after": 0.0239,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2451,
"after": 3.2451,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2107,
"after": 0.1581,
"delta": -0.0526,
"percent_delta": -0.2496,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5036,
"after": 0.5052,
"delta": 0.0016,
"percent_delta": 0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5151,
"after": 0.513,
"delta": -0.0021,
"percent_delta": -0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.042,
"after": 0.042,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0536,
"after": 0.0531,
"delta": -0.0005,
"percent_delta": -0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3287,
"after": 0.2715,
"delta": -0.0572,
"percent_delta": -0.174,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3959,
"after": 0.3941,
"delta": -0.0018,
"percent_delta": -0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.255,
"after": 0.2538,
"delta": -0.0012,
"percent_delta": -0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3243,
"after": 0.2789,
"delta": -0.0454,
"percent_delta": -0.14,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.171,
"after": 1.1674,
"delta": -0.0036,
"percent_delta": -0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3287,
"after": 0.2715,
"delta": -0.0572,
"percent_delta": -0.174,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.28), rates preserved: AVG=0.156 HR/AB=0.016",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1848,
"after": 0.0,
"delta": -0.1848,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0239,
"after": 0.0,
"delta": -0.0239,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2451,
"after": 3.0,
"delta": -0.2451,
"percent_delta": -0.0755,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5052,
"after": 0.0,
"delta": -0.5052,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.513,
"after": 0.0,
"delta": -0.513,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.042,
"after": 0.0,
"delta": -0.042,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0531,
"after": 0.0,
"delta": -0.0531,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2538,
"after": 0.0,
"delta": -0.2538,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1674,
"after": 1.0,
"delta": -0.1674,
"percent_delta": -0.1434,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 0,
"deboosted_metrics": 7,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.513,
"after": 0.0,
"delta": -0.513,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.3941,
"after": 0.0,
"delta": -0.3941,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3941,
"after": 0.0,
"delta": -0.3941,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1581,
"after": 0.333,
"delta": 0.1749,
"percent_delta": 1.1063,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_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_OBP",
"before": 0.2715,
"after": 0.333,
"delta": 0.0615,
"percent_delta": 0.2265,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2789,
"after": 0.333,
"delta": 0.0541,
"percent_delta": 0.194,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.1581,
"after": 0.333,
"delta": 0.1749,
"percent_delta": 1.1063,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 2.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 5,
"deboosted_metrics": 1,
"better_metrics": 6,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 2.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.1581,
"predicted_BB": 2.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2715,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2789,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1581,
"delta": -0.1749,
"percent_delta": -0.5252,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_CS",
"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_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_OBP",
"before": 0.333,
"after": 0.2715,
"delta": -0.0615,
"percent_delta": -0.1847,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.2789,
"delta": -0.0541,
"percent_delta": -0.1625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1581,
"delta": -0.1749,
"percent_delta": -0.5252,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.214,
"after": 2.0,
"delta": 1.786,
"percent_delta": 8.3458,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.029,
"after": 0.0,
"delta": -0.029,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.282,
"after": 3.0,
"delta": -0.282,
"percent_delta": -0.0859,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.215,
"after": 0.1581,
"delta": -0.0569,
"percent_delta": -0.2647,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.456,
"after": 2.0,
"delta": 1.544,
"percent_delta": 3.386,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.41,
"after": 2.0,
"delta": 1.59,
"percent_delta": 3.878,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.326,
"after": 0.2715,
"delta": -0.0545,
"percent_delta": -0.1672,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.456,
"after": 1.0,
"delta": 0.544,
"percent_delta": 1.193,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.24,
"after": 2.0,
"delta": 1.76,
"percent_delta": 7.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.34,
"after": 0.2789,
"delta": -0.0611,
"percent_delta": -0.1797,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.204,
"after": 0.0,
"delta": -1.204,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 6,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.214,
"after": 2.0,
"delta": 1.786,
"percent_delta": 8.3458,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.204,
"after": 0.0,
"delta": -1.204,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.214 | - |
| predicted_3B | 0.029 | - |
| predicted_AB | 3.282 | - |
| predicted_AVG | 0.215 | - |
| predicted_BB | 0.456 | - |
| predicted_H | 0.410 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.326 | - |
| predicted_R | 0.456 | - |
| predicted_RBI | 0.240 | - |
| predicted_SLG | 0.340 | - |
| predicted_SO | 1.204 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.185 | -0.029 |
| predicted_3B | 0.024 | -0.005 |
| predicted_AB | 3.245 | -0.037 |
| predicted_AVG | 0.211 | -0.004 |
| predicted_BB | 0.504 | 0.048 |
| predicted_H | 0.515 | 0.105 |
| predicted_HBP | 0.042 | - |
| predicted_HR | 0.054 | -0.006 |
| predicted_OBP | 0.329 | 0.003 |
| predicted_R | 0.396 | -0.060 |
| predicted_RBI | 0.255 | 0.015 |
| predicted_SLG | 0.324 | -0.016 |
| predicted_SO | 1.171 | -0.033 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.185 | 0.000 |
| predicted_3B | 0.024 | 0.000 |
| predicted_AB | 3.245 | 0.000 |
| predicted_AVG | 0.158 | -0.053 |
| predicted_BB | 0.505 | 0.002 |
| predicted_H | 0.513 | -0.002 |
| predicted_HBP | 0.042 | 0.000 |
| predicted_HR | 0.053 | -0.001 |
| predicted_OBP | 0.272 | -0.057 |
| predicted_R | 0.394 | -0.002 |
| predicted_RBI | 0.254 | -0.001 |
| predicted_SLG | 0.279 | -0.045 |
| predicted_SO | 1.167 | -0.004 |
AB rounded to 3 (raw=3.28), rates preserved: AVG=0.156 HR/AB=0.016
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.185 |
| predicted_3B | 0.000 | -0.024 |
| predicted_AB | 3.000 | -0.245 |
| predicted_AVG | 0.333 | 0.175 |
| predicted_BB | 0.000 | -0.505 |
| predicted_H | 1.000 | 0.487 |
| predicted_HR | 0.000 | -0.053 |
| predicted_OBP | 0.333 | 0.061 |
| predicted_R | 0.000 | -0.394 |
| predicted_RBI | 0.000 | -0.254 |
| predicted_SLG | 0.333 | 0.054 |
| predicted_SO | 1.000 | -0.167 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 2.000 | 2.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 2.000 | 2.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 1.000 |
| RBI | 2.000 | 2.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 4.000 | 5.000 | 0.1429 | 0.3333 | 0.1429 | 0.1429 | 0.0000 | 0.0000 | 0.2857 | 0.3571 |
| last_10 | 0.20 | 10 | - | 31.000 | 4.000 | 1.000 | 0.000 | 0.000 | 1.000 | 2.000 | 7.000 | 11.000 | 0.1290 | 0.3077 | 0.1613 | 0.1290 | 0.0000 | 0.0323 | 0.2258 | 0.3548 |
| season | 0.60 | 103 | - | 338.000 | 83.000 | 22.000 | 3.000 | 7.000 | 43.000 | 47.000 | 47.000 | 124.000 | 0.2456 | 0.3436 | 0.3905 | 0.2456 | 0.0207 | 0.1272 | 0.1391 | 0.3669 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1460 |
| predicted_3B | 0.0170 |
| predicted_AB | 3.1960 |
| predicted_AVG | 0.2050 |
| predicted_BB | 0.5670 |
| predicted_H | 0.6550 |
| predicted_HBP | 0.0420 |
| predicted_HR | 0.0450 |
| predicted_OBP | 0.3323 |
| predicted_R | 0.3160 |
| predicted_RBI | 0.2750 |
| predicted_SLG | 0.3033 |
| predicted_SO | 1.1270 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2140 | 0.1460 | 0.1848 | model_form_blend |
| predicted_3B | 0.0290 | 0.0170 | 0.0239 | model_form_blend |
| predicted_AB | 3.2820 | 3.1960 | 3.2451 | model_form_blend |
| predicted_AVG | 0.2150 | 0.2050 | 0.2107 | model_form_blend |
| predicted_BB | 0.4560 | 0.5670 | 0.5036 | model_form_blend |
| predicted_H | 0.4100 | 0.6550 | 0.5151 | model_form_blend |
| predicted_HBP | - | 0.0420 | 0.0420 | form_only |
| predicted_HR | 0.0600 | 0.0450 | 0.0536 | model_form_blend |
| predicted_OBP | 0.3260 | 0.3323 | 0.3287 | model_form_blend |
| predicted_R | 0.4560 | 0.3160 | 0.3959 | model_form_blend |
| predicted_RBI | 0.2400 | 0.2750 | 0.2550 | model_form_blend |
| predicted_SLG | 0.3400 | 0.3033 | 0.3243 | model_form_blend |
| predicted_SO | 1.2040 | 1.1270 | 1.1710 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 353 |
| Season rows before report date | 353 |
| Report year | 2026 |
| Profile rows used | 103 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 3 |
| H | 2 |
| 2B | 2 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 2 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.246 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-CF |
| gameID | 20260812_MIL@SD |
| game_type | ph |
| mlbID | 669003 |
| note | Struck out for Lockridge in the 6th. |
| playerID | 669003 |
| playerName | Garrett Mitchell |
| pos | CF |
| started | False |
| startingPosition | PH |
| team | MIL |
| teamID | 16 |
| game_date | 2026-08-12 |
| sl_k_percent | 31.8 |
| sl_bb_percent | 12.4 |
| sl_woba | 0.337 |
| sl_xwoba | 0.348 |
| sl_xba | 0.255 |
| sl_xslg | 0.439 |
| sl_sweet_spot_percent | 32.1 |
| sl_barrel_batted_rate | 13.1 |
| sl_hard_hit_percent | 50.7 |
| sl_exit_velocity_avg | 92.7 |
| sl_launch_angle_avg | 1.8 |
| sl_whiff_percent | 36.7 |
| sl_swing_percent | 43.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.108 | 0.000 | 0.000 | Hitting_2B | 0.119 | 0.000 | -0.119 | 0.000 |
| predicted_3B | 0.024 | 0.000 | 0.000 | Hitting_3B | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_AB | 2.952 | 4.000 | 3.000 | Hitting_AB | 3.086 | 3.000 | 0.914 | 1.000 |
| predicted_AVG | 0.286 | 0.000 | 0.333 | Hitting_AVG | 0.251 | 0.333 | -0.251 | -0.333 |
| predicted_BB | 0.313 | 0.000 | 0.000 | Hitting_BB | 0.320 | 2.000 | -0.320 | -2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.050 | 0.000 | -0.050 | 0.000 |
| predicted_H | 0.660 | 0.000 | 1.000 | Hitting_H | 0.773 | 1.000 | -0.773 | -1.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.090 | 0.000 | -0.090 | 0.000 |
| predicted_OBP | 0.330 | 0.000 | 0.333 | Hitting_OBP | 0.317 | 0.600 | -0.317 | -0.600 |
| predicted_R | 0.337 | 0.000 | 0.000 | Hitting_R | 0.374 | 1.000 | -0.374 | -1.000 |
| predicted_RBI | 0.300 | 0.000 | 0.000 | Hitting_RBI | 0.378 | 0.000 | -0.378 | 0.000 |
| predicted_SLG | 0.390 | 0.000 | 0.333 | Hitting_SLG | 0.388 | 0.333 | -0.388 | -0.333 |
| predicted_SO | 0.627 | 1.000 | 1.000 | Hitting_SO | 0.647 | 1.000 | 0.353 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AB: 2.9520 -> 4.0000 (boost 1.0480, better) |
| Biggest Deboost | predicted_H: 0.6600 -> 0.0000 (deboost -0.6600, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 2 | 1 | predicted_H: 0.6600 -> 0.7236 (boost 0.0636, better) | predicted_AVG: 0.2860 -> 0.2761 (deboost -0.0099, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3904 -> 0.3477 (deboost -0.0427, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 2 | 3 | 1 | 4 | predicted_SO: 0.6444 -> 1.0000 (boost 0.3556, worse) | predicted_RBI: 0.3284 -> 0.0000 (deboost -0.3284, worse) | AB rounded to 3 (raw=3.01), rates preserved: AVG=0.239 HR/AB=0.016 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3358 -> 0.0000 (deboost -0.3358, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2395 -> 0.3330 (boost 0.0935, better) | predicted_SLG: 0.3477 -> 0.3330 (deboost -0.0147, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 1 | 1 | 1 | 1 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3477 (boost 0.0147, better) | predicted_AVG: 0.3330 -> 0.2395 (deboost -0.0935, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "687401",
"player_name": "Joey Ortiz",
"position": "SS",
"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": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.108,
"predicted_3B": 0.024,
"predicted_AB": 2.952,
"predicted_AVG": 0.286,
"predicted_BB": 0.313,
"predicted_H": 0.66,
"predicted_HR": 0.04,
"predicted_OBP": 0.33,
"predicted_R": 0.337,
"predicted_RBI": 0.3,
"predicted_SLG": 0.39,
"predicted_SO": 0.627
},
"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": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1093,
"predicted_3B": 0.0349,
"predicted_AB": 3.0097,
"predicted_AVG": 0.2761,
"predicted_BB": 0.3181,
"predicted_H": 0.7236,
"predicted_HBP": 0.003,
"predicted_HR": 0.0493,
"predicted_OBP": 0.3307,
"predicted_R": 0.3374,
"predicted_RBI": 0.3299,
"predicted_SLG": 0.3904,
"predicted_SO": 0.6464
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.108,
"after": 0.1093,
"delta": 0.0013,
"percent_delta": 0.012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.024,
"after": 0.0349,
"delta": 0.0109,
"percent_delta": 0.4542,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.952,
"after": 3.0097,
"delta": 0.0577,
"percent_delta": 0.0195,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2761,
"delta": -0.0099,
"percent_delta": -0.0346,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.313,
"after": 0.3181,
"delta": 0.0051,
"percent_delta": 0.0163,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.66,
"after": 0.7236,
"delta": 0.0636,
"percent_delta": 0.0964,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0493,
"delta": 0.0093,
"percent_delta": 0.2325,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.33,
"after": 0.3307,
"delta": 0.0007,
"percent_delta": 0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.337,
"after": 0.3374,
"delta": 0.0004,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.3299,
"delta": 0.0299,
"percent_delta": 0.0997,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.39,
"after": 0.3904,
"delta": 0.0004,
"percent_delta": 0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.627,
"after": 0.6464,
"delta": 0.0194,
"percent_delta": 0.0309,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.66,
"after": 0.7236,
"delta": 0.0636,
"percent_delta": 0.0964,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2761,
"delta": -0.0099,
"percent_delta": -0.0346,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 83
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1093,
"predicted_3B": 0.0349,
"predicted_AB": 3.0097,
"predicted_AVG": 0.2395,
"predicted_BB": 0.3191,
"predicted_H": 0.7207,
"predicted_HBP": 0.003,
"predicted_HR": 0.0489,
"predicted_OBP": 0.3124,
"predicted_R": 0.3358,
"predicted_RBI": 0.3284,
"predicted_SLG": 0.3477,
"predicted_SO": 0.6444
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1093,
"after": 0.1093,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0349,
"after": 0.0349,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0097,
"after": 3.0097,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2761,
"after": 0.2395,
"delta": -0.0366,
"percent_delta": -0.1326,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3181,
"after": 0.3191,
"delta": 0.001,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7236,
"after": 0.7207,
"delta": -0.0029,
"percent_delta": -0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.003,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0493,
"after": 0.0489,
"delta": -0.0004,
"percent_delta": -0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3307,
"after": 0.3124,
"delta": -0.0183,
"percent_delta": -0.0553,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3374,
"after": 0.3358,
"delta": -0.0016,
"percent_delta": -0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3299,
"after": 0.3284,
"delta": -0.0015,
"percent_delta": -0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3904,
"after": 0.3477,
"delta": -0.0427,
"percent_delta": -0.1094,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6464,
"after": 0.6444,
"delta": -0.002,
"percent_delta": -0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3904,
"after": 0.3477,
"delta": -0.0427,
"percent_delta": -0.1094,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.01), rates preserved: AVG=0.239 HR/AB=0.016",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1093,
"after": 0.0,
"delta": -0.1093,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0349,
"after": 0.0,
"delta": -0.0349,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0097,
"after": 3.0,
"delta": -0.0097,
"percent_delta": -0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3191,
"after": 0.0,
"delta": -0.3191,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7207,
"after": 1.0,
"delta": 0.2793,
"percent_delta": 0.3875,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.0,
"delta": -0.003,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0489,
"after": 0.0,
"delta": -0.0489,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3284,
"after": 0.0,
"delta": -0.3284,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6444,
"after": 1.0,
"delta": 0.3556,
"percent_delta": 0.5518,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.6444,
"after": 1.0,
"delta": 0.3556,
"percent_delta": 0.5518,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3284,
"after": 0.0,
"delta": -0.3284,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.3358,
"after": 0.0,
"delta": -0.3358,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3358,
"after": 0.0,
"delta": -0.3358,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2395,
"after": 0.333,
"delta": 0.0935,
"percent_delta": 0.3904,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_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_OBP",
"before": 0.3124,
"after": 0.333,
"delta": 0.0206,
"percent_delta": 0.0659,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3477,
"after": 0.333,
"delta": -0.0147,
"percent_delta": -0.0423,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2395,
"after": 0.333,
"delta": 0.0935,
"percent_delta": 0.3904,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3477,
"after": 0.333,
"delta": -0.0147,
"percent_delta": -0.0423,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_CS",
"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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2395,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3124,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3477,
"predicted_SO": 1.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2395,
"delta": -0.0935,
"percent_delta": -0.2809,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_OBP",
"before": 0.333,
"after": 0.3124,
"delta": -0.0206,
"percent_delta": -0.062,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3477,
"delta": 0.0147,
"percent_delta": 0.044,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3477,
"delta": 0.0147,
"percent_delta": 0.044,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2395,
"delta": -0.0935,
"percent_delta": -0.2809,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.108,
"after": 0.0,
"delta": -0.108,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.024,
"after": 0.0,
"delta": -0.024,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.952,
"after": 4.0,
"delta": 1.048,
"percent_delta": 0.355,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2395,
"delta": -0.0465,
"percent_delta": -0.1626,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.313,
"after": 0.0,
"delta": -0.313,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.66,
"after": 0.0,
"delta": -0.66,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.33,
"after": 0.3124,
"delta": -0.0176,
"percent_delta": -0.0533,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.337,
"after": 0.0,
"delta": -0.337,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.0,
"delta": -0.3,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.39,
"after": 0.3477,
"delta": -0.0423,
"percent_delta": -0.1085,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.627,
"after": 1.0,
"delta": 0.373,
"percent_delta": 0.5949,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.952,
"after": 4.0,
"delta": 1.048,
"percent_delta": 0.355,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.66,
"after": 0.0,
"delta": -0.66,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.108 | - |
| predicted_3B | 0.024 | - |
| predicted_AB | 2.952 | - |
| predicted_AVG | 0.286 | - |
| predicted_BB | 0.313 | - |
| predicted_H | 0.660 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.330 | - |
| predicted_R | 0.337 | - |
| predicted_RBI | 0.300 | - |
| predicted_SLG | 0.390 | - |
| predicted_SO | 0.627 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.109 | 0.001 |
| predicted_3B | 0.035 | 0.011 |
| predicted_AB | 3.010 | 0.058 |
| predicted_AVG | 0.276 | -0.010 |
| predicted_BB | 0.318 | 0.005 |
| predicted_H | 0.724 | 0.064 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.049 | 0.009 |
| predicted_OBP | 0.331 | 0.001 |
| predicted_R | 0.337 | 0.000 |
| predicted_RBI | 0.330 | 0.030 |
| predicted_SLG | 0.390 | 0.000 |
| predicted_SO | 0.646 | 0.019 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.109 | 0.000 |
| predicted_3B | 0.035 | 0.000 |
| predicted_AB | 3.010 | 0.000 |
| predicted_AVG | 0.239 | -0.037 |
| predicted_BB | 0.319 | 0.001 |
| predicted_H | 0.721 | -0.003 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.049 | -0.000 |
| predicted_OBP | 0.312 | -0.018 |
| predicted_R | 0.336 | -0.002 |
| predicted_RBI | 0.328 | -0.002 |
| predicted_SLG | 0.348 | -0.043 |
| predicted_SO | 0.644 | -0.002 |
AB rounded to 3 (raw=3.01), rates preserved: AVG=0.239 HR/AB=0.016
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.109 |
| predicted_3B | 0.000 | -0.035 |
| predicted_AB | 3.000 | -0.010 |
| predicted_AVG | 0.333 | 0.094 |
| predicted_BB | 0.000 | -0.319 |
| predicted_H | 1.000 | 0.279 |
| predicted_HR | 0.000 | -0.049 |
| predicted_OBP | 0.333 | 0.021 |
| predicted_R | 0.000 | -0.336 |
| predicted_RBI | 0.000 | -0.328 |
| predicted_SLG | 0.333 | -0.015 |
| predicted_SO | 1.000 | 0.356 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 4.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 2.000 | 3.000 | 0.2667 | 0.3529 | 0.2667 | 0.2667 | 0.0000 | 0.0667 | 0.1333 | 0.2000 |
| last_10 | 0.20 | 10 | - | 32.000 | 11.000 | 2.000 | 2.000 | 1.000 | 6.000 | 4.000 | 3.000 | 8.000 | 0.3438 | 0.4000 | 0.6250 | 0.3438 | 0.0312 | 0.1875 | 0.0938 | 0.2500 |
| season | 0.60 | 83 | - | 245.000 | 58.000 | 9.000 | 2.000 | 5.000 | 28.000 | 28.000 | 26.000 | 52.000 | 0.2367 | 0.3066 | 0.3510 | 0.2367 | 0.0204 | 0.1143 | 0.1061 | 0.2122 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1110 |
| predicted_3B | 0.0500 |
| predicted_AB | 3.0890 |
| predicted_AVG | 0.2625 |
| predicted_BB | 0.3250 |
| predicted_H | 0.8110 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.0620 |
| predicted_OBP | 0.3317 |
| predicted_R | 0.3380 |
| predicted_RBI | 0.3710 |
| predicted_SLG | 0.3909 |
| predicted_SO | 0.6730 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1080 | 0.1110 | 0.1093 | model_form_blend |
| predicted_3B | 0.0240 | 0.0500 | 0.0349 | model_form_blend |
| predicted_AB | 2.9520 | 3.0890 | 3.0097 | model_form_blend |
| predicted_AVG | 0.2860 | 0.2625 | 0.2761 | model_form_blend |
| predicted_BB | 0.3130 | 0.3250 | 0.3181 | model_form_blend |
| predicted_H | 0.6600 | 0.8110 | 0.7236 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.0400 | 0.0620 | 0.0493 | model_form_blend |
| predicted_OBP | 0.3300 | 0.3317 | 0.3307 | model_form_blend |
| predicted_R | 0.3370 | 0.3380 | 0.3374 | model_form_blend |
| predicted_RBI | 0.3000 | 0.3710 | 0.3299 | model_form_blend |
| predicted_SLG | 0.3900 | 0.3909 | 0.3904 | model_form_blend |
| predicted_SO | 0.6270 | 0.6730 | 0.6464 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 278 |
| Season rows before report date | 278 |
| Report year | 2026 |
| Profile rows used | 83 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.237 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 2 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260812_MIL@SD |
| game_type | full |
| mlbID | 687401 |
| playerID | 687401 |
| playerName | Joey Ortiz |
| pos | SS |
| started | True |
| startingPosition | 3B |
| team | MIL |
| teamID | 16 |
| game_date | 2026-08-12 |
| sl_k_percent | 18.1 |
| sl_bb_percent | 8.9 |
| sl_woba | 0.294 |
| sl_xwoba | 0.297 |
| sl_xba | 0.242 |
| sl_xslg | 0.341 |
| sl_sweet_spot_percent | 27.2 |
| sl_barrel_batted_rate | 3.9 |
| sl_hard_hit_percent | 34.5 |
| sl_exit_velocity_avg | 87.9 |
| sl_launch_angle_avg | 5.5 |
| sl_whiff_percent | 18.4 |
| sl_swing_percent | 44.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 1.217 | 4.000 | -0.217 | -3.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 1.739 | 6.000 | 1.261 | -3.000 |
| predicted_H | 7.000 | 7.000 | 7.000 | Pitching_H | 3.826 | 9.000 | 3.174 | -2.000 |
| predicted_IP | 5.200 | 5.200 | 5.200 | Pitching_InningsPitched | 3.922 | 5.000 | 1.278 | 0.200 |
| predicted_SO | 3.000 | 3.000 | 3.000 | Pitching_SO | 4.043 | 4.000 | -1.043 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 5.6667 -> 5.2000 (deboost -0.4667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 5.6667 -> 5.2000 (deboost -0.4667, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "675660",
"player_name": "Shane Drohan",
"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": 3.0,
"predicted_H": 7.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": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 3.0,
"predicted_H": 7.0,
"predicted_HR": 1.0,
"predicted_IP": 5.2,
"predicted_R": 3.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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 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": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 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": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 1.000 | - |
| predicted_ER | 3.000 | - |
| predicted_H | 7.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 5.667 | - |
| predicted_SO | 3.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 29.100 | 19.000 | 29.000 | 8.000 | 32.000 | 4.000 | 5.8295 | 1.2614 | 0.6477 | 0.9886 | 0.2727 | 1.0909 | 0.1364 |
| last_10 | 0.35 | 10 | 55.100 | 27.000 | 57.000 | 17.000 | 56.000 | 7.000 | 4.3916 | 1.3373 | 0.4879 | 1.0301 | 0.3072 | 1.0120 | 0.1265 |
| season | 0.20 | 23 | 93.000 | 40.000 | 88.000 | 28.000 | 93.000 | 9.000 | 3.8710 | 1.2473 | 0.4301 | 0.9462 | 0.3011 | 1.0000 | 0.0968 |
| Metric | Value |
|---|---|
| predicted_BB | 1.6720 |
| predicted_ER | 2.9740 |
| predicted_ERA | 4.8515 |
| predicted_H | 5.4650 |
| predicted_HR | 0.7120 |
| predicted_IP | 5.2000 |
| predicted_SO | 5.6750 |
| predicted_WHIP | 1.2938 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 1.6720 | 1.3861 | model_form_blend |
| predicted_ER | 3.0000 | 2.9740 | 2.9851 | model_form_blend |
| predicted_ERA | - | 4.8515 | 4.8515 | form_only |
| predicted_H | 7.0000 | 5.4650 | 6.1181 | model_form_blend |
| predicted_HR | 1.0000 | 0.7120 | 0.8345 | model_form_blend |
| predicted_IP | 5.2000 | 5.2000 | 5.2000 | model_form_blend |
| predicted_SO | 3.0000 | 5.6750 | 4.5369 | model_form_blend |
| predicted_WHIP | - | 1.2938 | 1.2938 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 23 |
| Season rows before report date | 23 |
| Report year | 2026 |
| Profile rows used | 23 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 5.2 |
| H | 7 |
| R | 3 |
| ER | 3 |
| BB | 1 |
| SO | 3 |
| HR | 1 |
| BF | 25 |
| Pitches | 108 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 4 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 26 |
| Pitching_ER | 6 |
| Pitching_ERA | 3.87 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 3 |
| Pitching_H | 9 |
| Pitching_HBP | 0 |
| Pitching_HR | 2 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.0 |
| Pitching_Pitches | 94 |
| Pitching_R | 6 |
| Pitching_SO | 4 |
| Pitching_Strikes | 56 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260807_MIN@MIL |
| game_type | full |
| mlbID | 675660 |
| playerID | 675660 |
| playerName | Shane Drohan |
| pos | P |
| started | True |
| startingPosition | P |
| team | MIL |
| teamID | 16 |
| game_date | 2026-08-07 |
| sl_k_percent | 23.8 |
| sl_bb_percent | 7.2 |
| sl_woba | 0.307 |
| sl_xwoba | 0.291 |
| sl_sweet_spot_percent | 35.3 |
| sl_barrel_batted_rate | 8.7 |
| sl_hard_hit_percent | 37.2 |
| sl_whiff_percent | 27.5 |
| sl_swing_percent | 48.5 |
| sl_avg_best_speed | 76.804064341 |
| sl_avg_hyper_speed | 93.702349341 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.589 | 0.000 | -0.589 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.464 | 0.000 | -0.464 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.107 | 2.000 | -1.107 | -2.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.068 | 0.200 | 0.032 | 0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.696 | 1.000 | -0.696 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "676879",
"player_name": "Aaron Ashby",
"position": "Middle Reliever",
"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": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.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": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 1.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.200 | 0.000 | 5.000 | 2.000 | 12.000 | 0.000 | 0.0000 | 1.2353 | 0.0000 | 0.8823 | 0.3529 | 2.1176 | 0.0000 |
| last_10 | 0.35 | 10 | 9.200 | 4.000 | 10.000 | 4.000 | 18.000 | 0.000 | 3.7241 | 1.4483 | 0.4138 | 1.0345 | 0.4138 | 1.8621 | 0.0000 |
| season | 0.20 | 56 | 66.100 | 26.000 | 62.000 | 33.000 | 95.000 | 5.000 | 3.5276 | 1.4322 | 0.3920 | 0.9347 | 0.4975 | 1.4322 | 0.0754 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4110 |
| predicted_ER | 0.3130 |
| predicted_ERA | 2.6828 |
| predicted_H | 1.0000 |
| predicted_HR | 0.0540 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.7140 |
| predicted_WHIP | 1.3450 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4110 | 0.2196 | model_form_blend |
| predicted_ER | 0.0000 | 0.3130 | 0.1672 | model_form_blend |
| predicted_ERA | - | 2.6828 | 2.6828 | form_only |
| predicted_H | 0.0000 | 1.0000 | 0.5343 | model_form_blend |
| predicted_HR | 0.0000 | 0.0540 | 0.0289 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.7140 | 1.3815 | model_form_blend |
| predicted_WHIP | - | 1.3450 | 1.3450 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 56 |
| Season rows before report date | 56 |
| Report year | 2026 |
| Profile rows used | 56 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 20 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.53 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 1 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 24 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 15 |
| Pitching_Wild Pitch | 1 |
| Pitching_decision | BS |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260812_MIL@SD |
| game_type | full |
| mlbID | 676879 |
| playerID | 676879 |
| playerName | Aaron Ashby |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIL |
| teamID | 16 |
| game_date | 2026-08-12 |
| sl_k_percent | 32.3 |
| sl_bb_percent | 11.2 |
| sl_woba | 0.301 |
| sl_xwoba | 0.269 |
| sl_sweet_spot_percent | 29.9 |
| sl_barrel_batted_rate | 4.3 |
| sl_hard_hit_percent | 39.0 |
| sl_whiff_percent | 32.5 |
| sl_swing_percent | 41.3 |
| sl_avg_best_speed | 74.848836585 |
| sl_avg_hyper_speed | 94.341782086 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.367 | 2.000 | -0.367 | -2.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.224 | 0.000 | 0.776 | 1.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.653 | 0.000 | 1.347 | 2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.910 | 1.000 | 0.090 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.980 | 0.000 | 0.020 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "682842",
"player_name": "Abner Uribe",
"position": "Middle Reliever",
"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": 0.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.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": 0.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 1.0,
"after": 1.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 1.0,
"after": 1.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"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.000 | 0.000 | 1.000 | 3.000 | 6.000 | 0.000 | 0.0000 | 0.8000 | 0.0000 | 0.2000 | 0.6000 | 1.2000 | 0.0000 |
| last_10 | 0.35 | 10 | 9.200 | 0.000 | 7.000 | 3.000 | 13.000 | 0.000 | 0.0000 | 1.0345 | 0.0000 | 0.7241 | 0.3103 | 1.3448 | 0.0000 |
| season | 0.20 | 49 | 48.100 | 11.000 | 32.000 | 18.000 | 48.000 | 3.000 | 2.0483 | 1.0345 | 0.2276 | 0.6621 | 0.3724 | 0.9931 | 0.0621 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4220 |
| predicted_ER | 0.1990 |
| predicted_ERA | 1.7942 |
| predicted_H | 0.6450 |
| predicted_HR | 0.0590 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1220 |
| predicted_WHIP | 1.0670 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4220 | 0.2135 | model_form_blend |
| predicted_ER | 1.0000 | 0.1990 | 0.5948 | model_form_blend |
| predicted_ERA | - | 1.7942 | 1.7942 | form_only |
| predicted_H | 2.0000 | 0.6450 | 1.3145 | model_form_blend |
| predicted_HR | 0.0000 | 0.0590 | 0.0298 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.1220 | 1.0617 | model_form_blend |
| predicted_WHIP | - | 1.0670 | 1.0670 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 49 |
| Season rows before report date | 49 |
| Report year | 2026 |
| Profile rows used | 49 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 2 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 5 |
| Pitches | 19 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.05 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 3 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 33 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 16 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260809_MIN@MIL |
| game_type | full |
| mlbID | 682842 |
| playerID | 682842 |
| playerName | Abner Uribe |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIL |
| teamID | 16 |
| game_date | 2026-08-09 |
| sl_k_percent | 25.1 |
| sl_bb_percent | 9.4 |
| sl_woba | 0.238 |
| sl_xwoba | 0.26 |
| sl_sweet_spot_percent | 25.8 |
| sl_barrel_batted_rate | 1.6 |
| sl_hard_hit_percent | 31.5 |
| sl_whiff_percent | 26.4 |
| sl_swing_percent | 43.4 |
| sl_avg_best_speed | 76.142747541 |
| sl_avg_hyper_speed | 93.09525314 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.250 | 1.000 | -0.250 | -1.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 0.271 | 0.000 | 1.729 | 2.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 0.583 | 0.000 | 2.417 | 3.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.965 | 1.200 | 0.035 | -0.200 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.104 | 0.000 | 0.896 | 2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "656730",
"player_name": "Trevor Megill",
"position": "Middle Reliever",
"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": 0.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 1.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": 0.0,
"predicted_ER": 2.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 2.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 1.0,
"after": 1.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 1.0,
"after": 1.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"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.200 | 0.000 | 0.000 | 1.000 | 3.000 | 0.000 | 0.0000 | 0.1765 | 0.0000 | 0.0000 | 0.1765 | 0.5294 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 1.000 | 2.000 | 2.000 | 6.000 | 0.000 | 0.9000 | 0.4000 | 0.1000 | 0.2000 | 0.2000 | 0.6000 | 0.0000 |
| season | 0.20 | 47 | 47.000 | 9.000 | 26.000 | 12.000 | 53.000 | 0.000 | 1.7234 | 0.8085 | 0.1915 | 0.5532 | 0.2553 | 1.1277 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2560 |
| predicted_ER | 0.2200 |
| predicted_ERA | 1.9830 |
| predicted_H | 0.4560 |
| predicted_HR | 0.0510 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.7710 |
| predicted_WHIP | 0.7120 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2560 | 0.1288 | model_form_blend |
| predicted_ER | 2.0000 | 0.2200 | 1.1042 | model_form_blend |
| predicted_ERA | - | 1.9830 | 1.9830 | form_only |
| predicted_H | 3.0000 | 0.4560 | 1.7197 | model_form_blend |
| predicted_HR | 0.0000 | 0.0510 | 0.0257 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 0.7710 | 1.3815 | model_form_blend |
| predicted_WHIP | - | 0.7120 | 0.7120 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 48 |
| Season rows before report date | 48 |
| Report year | 2026 |
| Profile rows used | 47 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 3 |
| R | 2 |
| ER | 2 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 6 |
| Pitches | 22 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.49 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.2 |
| Pitching_Pitches | 15 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260812_MIL@SD |
| game_type | full |
| mlbID | 656730 |
| playerID | 656730 |
| playerName | Trevor Megill |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIL |
| teamID | 16 |
| game_date | 2026-08-12 |
| sl_k_percent | 29.0 |
| sl_bb_percent | 6.6 |
| sl_woba | 0.197 |
| sl_xwoba | 0.25 |
| sl_sweet_spot_percent | 29.1 |
| sl_barrel_batted_rate | 5.1 |
| sl_hard_hit_percent | 41.9 |
| sl_whiff_percent | 31.9 |
| sl_swing_percent | 52.3 |
| sl_avg_best_speed | 82.015747321 |
| sl_avg_hyper_speed | 94.343480982 |
| Field | Value |
|---|---|
| Pitcher | Roki Sasaki |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.0532 |
| ESPN Rank | 270 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1287 |
| Avg Velo | 92.2200 |
| Avg Spin | 1704.6280 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.2000 |
| Pre ER | 4 |
| Pre H | 5 |
| Pre BB | 3 |
| Pre SO | 4 |
| Season ERA | 4.5429 |
| Season WHIP | 1.2762 |
| Role Avg IP | 5.2500 |
| Recent Avg IP | 6 |
| Last Start IP | 6 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAD",
"games": 128,
"wins": 76,
"losses": 52,
"win_pct": 0.5938,
"runs_scored": 640.0,
"runs_allowed": 488.0,
"run_differential": 152.0,
"run_differential_per_game": 1.1875,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 3.8125,
"offense_index": 1.111,
"defense_index": 1.1804,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 5.0,
"run_differential": -12.0
},
"available": true,
"quality_score": 0.1899
},
"opponent": {
"team": "MIL",
"games": 132,
"wins": 78,
"losses": 54,
"win_pct": 0.5909,
"runs_scored": 635.0,
"runs_allowed": 500.0,
"run_differential": 135.0,
"run_differential_per_game": 1.0227,
"avg_runs_scored": 4.8106,
"avg_runs_allowed": 3.7879,
"offense_index": 1.069,
"defense_index": 1.1881,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 4.2,
"run_differential": -5.0
},
"available": true,
"quality_score": 0.2023
},
"edges": {
"quality_edge": -0.0124,
"offense_edge": 0.111,
"opponent_offense_edge": 0.069,
"defense_strength": 0.1804,
"opponent_defense_weakness": -0.1881,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0022,
"run_prevention": 0.9936,
"strikeout": 0.9941
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "808963",
"profile": {
"available": true,
"pitcher_id": "808963",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 372.0,
"k_percent": 23.8,
"bb_percent": 9.0,
"woba": 0.339,
"xwoba": 0.315,
"sweet_spot_percent": 35.6,
"barrel_batted_rate": 10.5,
"hard_hit_percent": 42.7,
"avg_best_speed": 79.1564,
"avg_hyper_speed": 94.436,
"whiff_percent": 29.7,
"swing_percent": 50.2
},
"league_medians": {
"pa": 108.0,
"k_percent": 22.0,
"bb_percent": 8.9,
"woba": 0.3155,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5616,
"avg_hyper_speed": 93.8784,
"whiff_percent": 25.3,
"swing_percent": 47.6
},
"components": {
"contact_quality": -0.3893,
"command_and_miss": 0.3307,
"regression_edge": 0.6857,
"xwoba_edge": -0.0857,
"barrel_edge": -0.7556,
"hard_hit_edge": -0.7286,
"whiff_edge": 0.6286,
"bb_edge": -0.025,
"pitch_design_score": 0.1287
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "808963",
"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": 92.22000082266553,
"release_spin_rate": 1704.6280166546687,
"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": 92.22000082266553,
"release_spin_rate": 1704.6280166546687,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 92.22,
"release_spin_rate": 1704.628,
"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.1287,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.9195,
"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.0532,
"sample_weight": 1.0,
"run_prevention_factor": 1.0045,
"strikeout_factor": 1.0354,
"walk_factor": 1.002,
"homer_factor": 1.0922,
"woba_minus_xwoba": 0.024,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "808963",
"espn_id": 5134638,
"player_name": "Roki Sasaki",
"team": "LAD",
"role": "pitcher",
"espn_rank": 270,
"espn_total_ranked": 806,
"metrics": {
"espn_rank": 270,
"gp_value": 20.0,
"gp_rank": 347,
"gs_value": 20.0,
"gs_rank": 74,
"qs_value": 6.0,
"qs_rank": 81,
"era_value": 4.5428,
"era_rank": null,
"w_value": 5.0,
"w_rank": 113,
"l_value": 5.0,
"l_rank": 109,
"sv_value": 0.0,
"sv_rank": 236,
"hld_value": 0.0,
"hld_rank": 318,
"ip_value": 105.0,
"ip_rank": 93,
"h_value": 94.0,
"h_rank": 90,
"er_value": 53.0,
"er_rank": 55,
"hr_value": 21.0,
"hr_rank": 15,
"bb_value": 40.0,
"bb_rank": 53,
"k_value": 106.0,
"k_rank": 60,
"k_per_9_value": 9.085714,
"k_per_9_rank": 17,
"whip_value": 1.2761,
"whip_rank": null,
"war_value": 0.38,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0045,
"adjusted": 2
},
"predicted_H": {
"original": 4.0,
"factor": 1.0045,
"adjusted": 4
},
"predicted_BB": {
"original": 2.0,
"factor": 1.002,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0922,
"adjusted": 1
},
"predicted_SO": {
"original": 6.0,
"factor": 1.0354,
"adjusted": 6
}
}
}
}{
"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.0,
"ER": 27,
"H": 44,
"BB": 21,
"SO": 56,
"HR": 11,
"ERA": 4.499999999999999,
"WHIP": 1.2037037037037035,
"K9": 9.333333333333332,
"HR9": 1.833333333333333,
"games_pitched": 10,
"quality_starts": 4,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-07T00:00:00"
}{
"available": true,
"pitcher_id": "808963",
"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": 92.22000082266553,
"release_spin_rate": 1704.6280166546687,
"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": 92.22000082266553,
"release_spin_rate": 1704.6280166546687,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 92.22,
"release_spin_rate": 1704.628,
"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.1287,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.9195,
"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."
}{
"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": 20.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8,
"prior_weight": 0.2
},
"role": "pitcher",
"player_id": "808963",
"report_date": "20260813",
"season_year": 2026,
"rows_used": 20,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 30.0,
"ER": 8.0,
"R": 9.0,
"H": 21.0,
"BB": 8.0,
"SO": 31.0,
"HR": 4.0,
"BF": 117.0,
"Pitches": 442.0
},
"per_game": {
"IP": 6.0,
"ER": 1.6,
"R": 1.8,
"H": 4.2,
"BB": 1.6,
"SO": 6.2,
"HR": 0.8,
"BF": 23.4,
"Pitches": 88.4
},
"rates": {
"ERA": 2.4,
"WHIP": 0.9667,
"ER_per_IP": 0.26667,
"H_per_IP": 0.7,
"BB_per_IP": 0.26667,
"SO_per_IP": 1.03333,
"HR_per_IP": 0.13333
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 54.0,
"ER": 27.0,
"R": 28.0,
"H": 44.0,
"BB": 21.0,
"SO": 56.0,
"HR": 11.0,
"BF": 224.0,
"Pitches": 890.0
},
"per_game": {
"IP": 5.1,
"ER": 2.7,
"R": 2.8,
"H": 4.4,
"BB": 2.1,
"SO": 5.6,
"HR": 1.1,
"BF": 22.4,
"Pitches": 89.0
},
"rates": {
"ERA": 4.5,
"WHIP": 1.2037,
"ER_per_IP": 0.5,
"H_per_IP": 0.81481,
"BB_per_IP": 0.38889,
"SO_per_IP": 1.03704,
"HR_per_IP": 0.2037
}
},
"season": {
"games": 20,
"totals": {
"IP": 105.0,
"ER": 53.0,
"R": 55.0,
"H": 94.0,
"BB": 40.0,
"SO": 106.0,
"HR": 21.0,
"BF": 446.0,
"Pitches": 1786.0
},
"per_game": {
"IP": 5.1,
"ER": 2.65,
"R": 2.75,
"H": 4.7,
"BB": 2.0,
"SO": 5.3,
"HR": 1.05,
"BF": 22.3,
"Pitches": 89.3
},
"rates": {
"ERA": 4.5429,
"WHIP": 1.2762,
"ER_per_IP": 0.50476,
"H_per_IP": 0.89524,
"BB_per_IP": 0.38095,
"SO_per_IP": 1.00952,
"HR_per_IP": 0.2
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.2,
"predicted_ER": 2.347,
"predicted_H": 4.613,
"predicted_BB": 1.906,
"predicted_SO": 5.723,
"predicted_HR": 0.94,
"predicted_ERA": 3.7448,
"predicted_WHIP": 1.156
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4345,
"form_weight": 0.5655,
"form_reliability": 0.8,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 20.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8,
"prior_weight": 0.2
},
"applied_metrics": {
"predicted_IP": {
"model": 5.2,
"form": 5.2,
"final": 5.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 2.347,
"final": 3.0652,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 4.613,
"final": 4.7812,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 1.906,
"final": 2.3813,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 5.723,
"final": 4.9744,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.94,
"final": 0.5316,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.7448,
"final": 3.7448,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.156,
"final": 1.156,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Edwin Díaz |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.3230 |
| ESPN Rank | 778 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.1000 |
| Pre ER | 3 |
| Pre H | 5 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 7.3636 |
| Season WHIP | 1.9091 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAD",
"games": 128,
"wins": 76,
"losses": 52,
"win_pct": 0.5938,
"runs_scored": 640.0,
"runs_allowed": 488.0,
"run_differential": 152.0,
"run_differential_per_game": 1.1875,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 3.8125,
"offense_index": 1.111,
"defense_index": 1.1804,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 5.0,
"run_differential": -12.0
},
"available": true,
"quality_score": 0.1899
},
"opponent": {
"team": "MIL",
"games": 132,
"wins": 78,
"losses": 54,
"win_pct": 0.5909,
"runs_scored": 635.0,
"runs_allowed": 500.0,
"run_differential": 135.0,
"run_differential_per_game": 1.0227,
"avg_runs_scored": 4.8106,
"avg_runs_allowed": 3.7879,
"offense_index": 1.069,
"defense_index": 1.1881,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 4.2,
"run_differential": -5.0
},
"available": true,
"quality_score": 0.2023
},
"edges": {
"quality_edge": -0.0124,
"offense_edge": 0.111,
"opponent_offense_edge": 0.069,
"defense_strength": 0.1804,
"opponent_defense_weakness": -0.1881,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0022,
"run_prevention": 0.9936,
"strikeout": 0.9941
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "621242",
"profile": {
"available": true,
"pitcher_id": "621242",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 31.0,
"k_percent": 27.1,
"bb_percent": 13.6,
"woba": 0.45,
"xwoba": 0.349,
"sweet_spot_percent": 47.1,
"barrel_batted_rate": 12.1,
"hard_hit_percent": 55.9,
"avg_best_speed": 83.8027,
"avg_hyper_speed": 95.5013,
"whiff_percent": 19.8,
"swing_percent": 46.4
},
"league_medians": {
"pa": 108.0,
"k_percent": 22.0,
"bb_percent": 8.9,
"woba": 0.3155,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5616,
"avg_hyper_speed": 93.8784,
"whiff_percent": 25.3,
"swing_percent": 47.6
},
"components": {
"contact_quality": -1.5542,
"command_and_miss": -0.1821,
"regression_edge": 2.0,
"xwoba_edge": -1.0571,
"barrel_edge": -1.1111,
"hard_hit_edge": -2.5,
"whiff_edge": -0.7857,
"bb_edge": -1.175,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "621242",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.323,
"sample_weight": 0.45,
"run_prevention_factor": 1.0275,
"strikeout_factor": 0.999,
"walk_factor": 1.0423,
"homer_factor": 1.0993,
"woba_minus_xwoba": 0.101,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "621242",
"espn_id": 35394,
"player_name": "Edwin Diaz",
"team": "LAD",
"role": "pitcher",
"espn_rank": 778,
"espn_total_ranked": 806,
"metrics": {
"espn_rank": 778,
"gp_value": 13.0,
"gp_rank": 443,
"gs_value": 0.0,
"gs_rank": 339,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 9.8181,
"era_rank": null,
"w_value": 2.0,
"w_rank": 282,
"l_value": 1.0,
"l_rank": 384,
"sv_value": 6.0,
"sv_rank": 32,
"hld_value": 0.0,
"hld_rank": 318,
"ip_value": 11.0,
"ip_rank": 558,
"h_value": 17.0,
"h_rank": 495,
"er_value": 12.0,
"er_rank": 417,
"hr_value": 3.0,
"hr_rank": 393,
"bb_value": 8.0,
"bb_rank": 486,
"k_value": 16.0,
"k_rank": 483,
"k_per_9_value": 13.090909,
"k_per_9_rank": 23,
"whip_value": 2.2727,
"whip_rank": null,
"war_value": -0.84,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0124,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.0124,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.019,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0447,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9996,
"adjusted": 2
}
}
}
}{
"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": 8.0,
"ER": 8,
"H": 13,
"BB": 5,
"SO": 12,
"HR": 3,
"ERA": 9.0,
"WHIP": 2.25,
"K9": 13.5,
"HR9": 3.375,
"games_pitched": 9,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-10T00:00:00"
}{
"available": false,
"pitcher_id": "621242",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"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": 2.199,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3055,
"prior_weight": 0.6945
},
"role": "pitcher",
"player_id": "621242",
"report_date": "20260813",
"season_year": 2026,
"rows_used": 12,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 4.0,
"R": 4.0,
"H": 6.0,
"BB": 3.0,
"SO": 6.0,
"HR": 2.0,
"BF": 21.0,
"Pitches": 94.0
},
"per_game": {
"IP": 0.2,
"ER": 0.8,
"R": 0.8,
"H": 1.2,
"BB": 0.6,
"SO": 1.2,
"HR": 0.4,
"BF": 4.2,
"Pitches": 18.8
},
"rates": {
"ERA": 9.0,
"WHIP": 2.25,
"ER_per_IP": 1.0,
"H_per_IP": 1.5,
"BB_per_IP": 0.75,
"SO_per_IP": 1.5,
"HR_per_IP": 0.5
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 9.0,
"R": 9.0,
"H": 14.0,
"BB": 6.0,
"SO": 14.0,
"HR": 3.0,
"BF": 48.0,
"Pitches": 199.0
},
"per_game": {
"IP": 1.0,
"ER": 0.9,
"R": 0.9,
"H": 1.4,
"BB": 0.6,
"SO": 1.4,
"HR": 0.3,
"BF": 4.8,
"Pitches": 19.9
},
"rates": {
"ERA": 9.0,
"WHIP": 2.2222,
"ER_per_IP": 1.0,
"H_per_IP": 1.55556,
"BB_per_IP": 0.66667,
"SO_per_IP": 1.55556,
"HR_per_IP": 0.33333
}
},
"season": {
"games": 12,
"totals": {
"IP": 11.0,
"ER": 9.0,
"R": 9.0,
"H": 14.0,
"BB": 7.0,
"SO": 16.0,
"HR": 3.0,
"BF": 55.0,
"Pitches": 226.0
},
"per_game": {
"IP": 1.0,
"ER": 0.75,
"R": 0.75,
"H": 1.1667,
"BB": 0.5833,
"SO": 1.3333,
"HR": 0.25,
"BF": 4.5833,
"Pitches": 18.8333
},
"rates": {
"ERA": 7.3636,
"WHIP": 1.9091,
"ER_per_IP": 0.81818,
"H_per_IP": 1.27273,
"BB_per_IP": 0.63636,
"SO_per_IP": 1.45455,
"HR_per_IP": 0.27273
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.61,
"predicted_H": 1.074,
"predicted_BB": 0.443,
"predicted_SO": 1.073,
"predicted_HR": 0.213,
"predicted_ERA": 5.7539,
"predicted_WHIP": 1.5899
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6434,
"form_weight": 0.3566,
"form_reliability": 0.3055,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 2.199,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3055,
"prior_weight": 0.6945
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 0.61,
"final": 2.1478,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 1.074,
"final": 3.6001,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.443,
"final": 0.158,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.073,
"final": 0.3826,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.213,
"final": 0.076,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.7539,
"final": 5.7539,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5899,
"final": 1.5899,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Tanner Scott |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3916 |
| ESPN Rank | 97 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2.2657 |
| Season WHIP | 0.9231 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAD",
"games": 128,
"wins": 76,
"losses": 52,
"win_pct": 0.5938,
"runs_scored": 640.0,
"runs_allowed": 488.0,
"run_differential": 152.0,
"run_differential_per_game": 1.1875,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 3.8125,
"offense_index": 1.111,
"defense_index": 1.1804,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 5.0,
"run_differential": -12.0
},
"available": true,
"quality_score": 0.1899
},
"opponent": {
"team": "MIL",
"games": 132,
"wins": 78,
"losses": 54,
"win_pct": 0.5909,
"runs_scored": 635.0,
"runs_allowed": 500.0,
"run_differential": 135.0,
"run_differential_per_game": 1.0227,
"avg_runs_scored": 4.8106,
"avg_runs_allowed": 3.7879,
"offense_index": 1.069,
"defense_index": 1.1881,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 4.2,
"run_differential": -5.0
},
"available": true,
"quality_score": 0.2023
},
"edges": {
"quality_edge": -0.0124,
"offense_edge": 0.111,
"opponent_offense_edge": 0.069,
"defense_strength": 0.1804,
"opponent_defense_weakness": -0.1881,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0022,
"run_prevention": 0.9936,
"strikeout": 0.9941
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656945",
"profile": {
"available": true,
"pitcher_id": "656945",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 150.0,
"k_percent": 32.8,
"bb_percent": 6.0,
"woba": 0.243,
"xwoba": 0.276,
"sweet_spot_percent": 38.7,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 33.3,
"avg_best_speed": 78.9418,
"avg_hyper_speed": 93.4183,
"whiff_percent": 36.3,
"swing_percent": 55.1
},
"league_medians": {
"pa": 108.0,
"k_percent": 22.0,
"bb_percent": 8.9,
"woba": 0.3155,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5616,
"avg_hyper_speed": 93.8784,
"whiff_percent": 25.3,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.6888,
"command_and_miss": 1.3893,
"regression_edge": -0.9429,
"xwoba_edge": 1.0286,
"barrel_edge": -0.0222,
"hard_hit_edge": 0.6143,
"whiff_edge": 1.5714,
"bb_edge": 0.725,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "656945",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.3916,
"sample_weight": 0.6,
"run_prevention_factor": 0.9667,
"strikeout_factor": 1.0747,
"walk_factor": 0.9652,
"homer_factor": 0.9678,
"woba_minus_xwoba": -0.033,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "656945",
"espn_id": 35135,
"player_name": "Tanner Scott",
"team": "LAD",
"role": "pitcher",
"espn_rank": 97,
"espn_total_ranked": 806,
"metrics": {
"espn_rank": 97,
"gp_value": 51.0,
"gp_rank": 35,
"gs_value": 0.0,
"gs_rank": 339,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 2.2657,
"era_rank": null,
"w_value": 1.0,
"w_rank": 369,
"l_value": 3.0,
"l_rank": 199,
"sv_value": 16.0,
"sv_rank": 17,
"hld_value": 10.0,
"hld_rank": 63,
"ip_value": 47.2,
"ip_rank": 253,
"h_value": 33.0,
"h_rank": 332,
"er_value": 12.0,
"er_rank": 417,
"hr_value": 4.0,
"hr_rank": 325,
"bb_value": 11.0,
"bb_rank": 417,
"k_value": 60.0,
"k_rank": 175,
"k_per_9_value": 11.328671,
"k_per_9_rank": 18,
"whip_value": 0.923,
"whip_rank": null,
"war_value": 1.55,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.98,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.98,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9791,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9807,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0448,
"adjusted": 2
}
}
}
}{
"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": 9.0,
"ER": 1,
"H": 8,
"BB": 6,
"SO": 10,
"HR": 0,
"ERA": 1.0,
"WHIP": 1.5555555555555556,
"K9": 10.0,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-10T00:00:00"
}{
"available": false,
"pitcher_id": "656945",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"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": 9.53,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6559,
"prior_weight": 0.3441
},
"role": "pitcher",
"player_id": "656945",
"report_date": "20260813",
"season_year": 2026,
"rows_used": 51,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 0.0,
"R": 0.0,
"H": 3.0,
"BB": 5.0,
"SO": 4.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 84.0
},
"per_game": {
"IP": 0.2,
"ER": 0.0,
"R": 0.0,
"H": 0.6,
"BB": 1.0,
"SO": 0.8,
"HR": 0.0,
"BF": 3.8,
"Pitches": 16.8
},
"rates": {
"ERA": 0.0,
"WHIP": 2.0,
"ER_per_IP": 0.0,
"H_per_IP": 0.75,
"BB_per_IP": 1.25,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 1.0,
"R": 1.0,
"H": 8.0,
"BB": 6.0,
"SO": 10.0,
"HR": 0.0,
"BF": 39.0,
"Pitches": 149.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.8,
"BB": 0.6,
"SO": 1.0,
"HR": 0.0,
"BF": 3.9,
"Pitches": 14.9
},
"rates": {
"ERA": 1.0,
"WHIP": 1.5556,
"ER_per_IP": 0.11111,
"H_per_IP": 0.88889,
"BB_per_IP": 0.66667,
"SO_per_IP": 1.11111,
"HR_per_IP": 0.0
}
},
"season": {
"games": 51,
"totals": {
"IP": 47.2,
"ER": 12.0,
"R": 12.0,
"H": 33.0,
"BB": 11.0,
"SO": 60.0,
"HR": 4.0,
"BF": 183.0,
"Pitches": 704.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2353,
"R": 0.2353,
"H": 0.6471,
"BB": 0.2157,
"SO": 1.1765,
"HR": 0.0784,
"BF": 3.5882,
"Pitches": 13.8039
},
"rates": {
"ERA": 2.2657,
"WHIP": 0.9231,
"ER_per_IP": 0.25175,
"H_per_IP": 0.69231,
"BB_per_IP": 0.23077,
"SO_per_IP": 1.25874,
"HR_per_IP": 0.08392
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.207,
"predicted_H": 0.767,
"predicted_BB": 0.61,
"predicted_SO": 0.941,
"predicted_HR": 0.056,
"predicted_ERA": 2.0649,
"predicted_WHIP": 1.5275
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4954,
"form_weight": 0.5046,
"form_reliability": 0.6559,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.53,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6559,
"prior_weight": 0.3441
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.207,
"final": 0.1045,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.767,
"final": 0.8824,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.61,
"final": 0.3078,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.941,
"final": 0.4748,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.056,
"final": 0.0283,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.0649,
"final": 2.0649,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5275,
"final": 1.5275,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Evan Phillips |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.1195 |
| ESPN Rank | 663 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 5.7273 |
| Season WHIP | 1.4545 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAD",
"games": 128,
"wins": 76,
"losses": 52,
"win_pct": 0.5938,
"runs_scored": 640.0,
"runs_allowed": 488.0,
"run_differential": 152.0,
"run_differential_per_game": 1.1875,
"avg_runs_scored": 5.0,
"avg_runs_allowed": 3.8125,
"offense_index": 1.111,
"defense_index": 1.1804,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 5.0,
"run_differential": -12.0
},
"available": true,
"quality_score": 0.1899
},
"opponent": {
"team": "MIL",
"games": 132,
"wins": 78,
"losses": 54,
"win_pct": 0.5909,
"runs_scored": 635.0,
"runs_allowed": 500.0,
"run_differential": 135.0,
"run_differential_per_game": 1.0227,
"avg_runs_scored": 4.8106,
"avg_runs_allowed": 3.7879,
"offense_index": 1.069,
"defense_index": 1.1881,
"current_streak": "L3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.7,
"avg_runs_allowed": 4.2,
"run_differential": -5.0
},
"available": true,
"quality_score": 0.2023
},
"edges": {
"quality_edge": -0.0124,
"offense_edge": 0.111,
"opponent_offense_edge": 0.069,
"defense_strength": 0.1804,
"opponent_defense_weakness": -0.1881,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 1.0022,
"run_prevention": 0.9936,
"strikeout": 0.9941
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "623465",
"profile": {
"available": true,
"pitcher_id": "623465",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 22.0,
"k_percent": 24.5,
"bb_percent": 6.1,
"woba": 0.374,
"xwoba": 0.332,
"sweet_spot_percent": 26.5,
"barrel_batted_rate": 14.7,
"hard_hit_percent": 41.2,
"avg_best_speed": 85.1234,
"avg_hyper_speed": 95.4344,
"whiff_percent": 25.3,
"swing_percent": 44.8
},
"league_medians": {
"pa": 108.0,
"k_percent": 22.0,
"bb_percent": 8.9,
"woba": 0.3155,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5616,
"avg_hyper_speed": 93.8784,
"whiff_percent": 25.3,
"swing_percent": 47.6
},
"components": {
"contact_quality": -0.828,
"command_and_miss": 0.3007,
"regression_edge": 1.2,
"xwoba_edge": -0.5714,
"barrel_edge": -1.6889,
"hard_hit_edge": -0.5143,
"whiff_edge": 0.0,
"bb_edge": 0.7,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "623465",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": -0.1195,
"sample_weight": 0.45,
"run_prevention_factor": 1.0102,
"strikeout_factor": 1.0064,
"walk_factor": 0.9748,
"homer_factor": 1.0778,
"woba_minus_xwoba": 0.042,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "623465",
"espn_id": 37911,
"player_name": "Evan Phillips",
"team": "LAD",
"role": "pitcher",
"espn_rank": 663,
"espn_total_ranked": 806,
"metrics": {
"espn_rank": 663,
"gp_value": 14.0,
"gp_rank": 423,
"gs_value": 0.0,
"gs_rank": 339,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 5.7272,
"era_rank": null,
"w_value": 0.0,
"w_rank": 481,
"l_value": 2.0,
"l_rank": 285,
"sv_value": 0.0,
"sv_rank": 236,
"hld_value": 2.0,
"hld_rank": 208,
"ip_value": 11.0,
"ip_rank": 558,
"h_value": 13.0,
"h_rank": 545,
"er_value": 7.0,
"er_rank": 552,
"hr_value": 4.0,
"hr_rank": 325,
"bb_value": 3.0,
"bb_rank": 632,
"k_value": 12.0,
"k_rank": 522,
"k_per_9_value": 9.818182,
"k_per_9_rank": 25,
"whip_value": 1.4545,
"whip_rank": null,
"war_value": -0.28,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0046,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0046,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9887,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.035,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0029,
"adjusted": 2
}
}
}
}{
"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": 7.0,
"ER": 4,
"H": 7,
"BB": 2,
"SO": 7,
"HR": 2,
"ERA": 5.142857142857143,
"WHIP": 1.2857142857142858,
"K9": 9.0,
"HR9": 2.5714285714285716,
"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-11T00:00:00"
}{
"available": false,
"pitcher_id": "623465",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"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": 2.199,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3055,
"prior_weight": 0.6945
},
"role": "pitcher",
"player_id": "623465",
"report_date": "20260813",
"season_year": 2026,
"rows_used": 14,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 2.2,
"ER": 2.0,
"R": 3.0,
"H": 5.0,
"BB": 1.0,
"SO": 3.0,
"HR": 0.0,
"BF": 14.0,
"Pitches": 56.0
},
"per_game": {
"IP": 0.2,
"ER": 0.4,
"R": 0.6,
"H": 1.0,
"BB": 0.2,
"SO": 0.6,
"HR": 0.0,
"BF": 2.8,
"Pitches": 11.2
},
"rates": {
"ERA": 6.75,
"WHIP": 2.25,
"ER_per_IP": 0.75,
"H_per_IP": 1.875,
"BB_per_IP": 0.375,
"SO_per_IP": 1.125,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 7.0,
"ER": 4.0,
"R": 5.0,
"H": 7.0,
"BB": 2.0,
"SO": 7.0,
"HR": 2.0,
"BF": 30.0,
"Pitches": 112.0
},
"per_game": {
"IP": 0.2,
"ER": 0.4,
"R": 0.5,
"H": 0.7,
"BB": 0.2,
"SO": 0.7,
"HR": 0.2,
"BF": 3.0,
"Pitches": 11.2
},
"rates": {
"ERA": 5.1429,
"WHIP": 1.2857,
"ER_per_IP": 0.57143,
"H_per_IP": 1.0,
"BB_per_IP": 0.28571,
"SO_per_IP": 1.0,
"HR_per_IP": 0.28571
}
},
"season": {
"games": 14,
"totals": {
"IP": 11.0,
"ER": 7.0,
"R": 8.0,
"H": 13.0,
"BB": 3.0,
"SO": 12.0,
"HR": 4.0,
"BF": 49.0,
"Pitches": 194.0
},
"per_game": {
"IP": 0.2,
"ER": 0.5,
"R": 0.5714,
"H": 0.9286,
"BB": 0.2143,
"SO": 0.8571,
"HR": 0.2857,
"BF": 3.5,
"Pitches": 13.8571
},
"rates": {
"ERA": 5.7273,
"WHIP": 1.4545,
"ER_per_IP": 0.63636,
"H_per_IP": 1.18182,
"BB_per_IP": 0.27273,
"SO_per_IP": 1.09091,
"HR_per_IP": 0.36364
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.365,
"predicted_H": 0.742,
"predicted_BB": 0.233,
"predicted_SO": 0.661,
"predicted_HR": 0.104,
"predicted_ERA": 4.9321,
"predicted_WHIP": 1.462
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6434,
"form_weight": 0.3566,
"form_reliability": 0.3055,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 2.199,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3055,
"prior_weight": 0.6945
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.365,
"final": 0.1301,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.742,
"final": 0.2646,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.233,
"final": 0.0831,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.661,
"final": 1.5225,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.104,
"final": 0.0371,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.9321,
"final": 4.9321,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.462,
"final": 1.462,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.200 | 0.000 | 0.000 | Hitting_2B | 0.180 | 0.000 | -0.180 | 0.000 |
| predicted_3B | 0.018 | 0.000 | 0.000 | Hitting_3B | 0.024 | 0.000 | -0.024 | 0.000 |
| predicted_AB | 3.845 | 5.000 | 4.000 | Hitting_AB | 3.869 | 4.000 | 1.131 | 1.000 |
| predicted_AVG | 0.291 | 0.600 | 0.250 | Hitting_AVG | 0.289 | 0.500 | 0.311 | 0.100 |
| predicted_BB | 0.627 | 0.000 | 1.000 | Hitting_BB | 0.683 | 0.000 | -0.683 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_H | 1.118 | 3.000 | 1.000 | Hitting_H | 1.118 | 2.000 | 1.882 | 1.000 |
| predicted_HR | 0.245 | 0.000 | 0.000 | Hitting_HR | 0.233 | 1.000 | -0.233 | -1.000 |
| predicted_OBP | 0.390 | 0.600 | 0.400 | Hitting_OBP | 0.398 | 0.500 | 0.202 | 0.100 |
| predicted_R | 0.691 | 1.000 | 1.000 | Hitting_R | 0.707 | 1.000 | 0.293 | 0.000 |
| predicted_RBI | 0.655 | 0.000 | 1.000 | Hitting_RBI | 0.663 | 2.000 | -0.663 | -2.000 |
| predicted_SLG | 0.544 | 0.600 | 0.250 | Hitting_SLG | 0.528 | 1.250 | 0.072 | -0.650 |
| predicted_SO | 1.055 | 0.000 | 1.000 | Hitting_SO | 1.071 | 1.000 | -1.071 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_H: 1.1180 -> 3.0000 (boost 1.8820, better) |
| Biggest Deboost | predicted_SO: 1.0550 -> 0.0000 (deboost -1.0550, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 1 | 4 | 1 | 4 | predicted_AB: 3.8450 -> 3.9022 (boost 0.0572, better) | predicted_BB: 0.6270 -> 0.5537 (deboost -0.0733, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 0 | 0 | 0 | 0 | 0 | - | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 4 | 3 | predicted_BB: 0.5560 -> 1.0000 (boost 0.4440, better) | predicted_HR: 0.2422 -> 0.0000 (deboost -0.2422, worse) | AB rounded to 4 (raw=3.90), rates preserved: AVG=0.283 HR/AB=0.062 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6883 -> 1.0000 (boost 0.3117, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3725 -> 0.4000 (boost 0.0275, better) | predicted_SLG: 0.5263 -> 0.2500 (deboost -0.2763, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 2 | 3 | 3 | 2 | predicted_H: 1.0000 -> 3.0000 (boost 2.0000, better) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.5263 (boost 0.2763, better) | predicted_OBP: 0.4000 -> 0.3725 (deboost -0.0275, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "660271",
"player_name": "Shohei Ohtani",
"position": "DH",
"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": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.2,
"predicted_3B": 0.018,
"predicted_AB": 3.845,
"predicted_AVG": 0.291,
"predicted_BB": 0.627,
"predicted_H": 1.118,
"predicted_HR": 0.245,
"predicted_OBP": 0.39,
"predicted_R": 0.691,
"predicted_RBI": 0.655,
"predicted_SLG": 0.544,
"predicted_SO": 1.055
},
"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": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1918,
"predicted_3B": 0.0154,
"predicted_AB": 3.9022,
"predicted_AVG": 0.2854,
"predicted_BB": 0.5537,
"predicted_H": 1.1128,
"predicted_HBP": 0.029,
"predicted_HR": 0.2437,
"predicted_OBP": 0.3731,
"predicted_R": 0.6958,
"predicted_RBI": 0.6654,
"predicted_SLG": 0.5301,
"predicted_SO": 1.0801
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2,
"after": 0.1918,
"delta": -0.0082,
"percent_delta": -0.041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.018,
"after": 0.0154,
"delta": -0.0026,
"percent_delta": -0.1444,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.845,
"after": 3.9022,
"delta": 0.0572,
"percent_delta": 0.0149,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.291,
"after": 0.2854,
"delta": -0.0056,
"percent_delta": -0.0192,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.627,
"after": 0.5537,
"delta": -0.0733,
"percent_delta": -0.1169,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.118,
"after": 1.1128,
"delta": -0.0052,
"percent_delta": -0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.245,
"after": 0.2437,
"delta": -0.0013,
"percent_delta": -0.0053,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.39,
"after": 0.3731,
"delta": -0.0169,
"percent_delta": -0.0433,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.691,
"after": 0.6958,
"delta": 0.0048,
"percent_delta": 0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.655,
"after": 0.6654,
"delta": 0.0104,
"percent_delta": 0.0159,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.544,
"after": 0.5301,
"delta": -0.0139,
"percent_delta": -0.0256,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.055,
"after": 1.0801,
"delta": 0.0251,
"percent_delta": 0.0238,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 1,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.845,
"after": 3.9022,
"delta": 0.0572,
"percent_delta": 0.0149,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.627,
"after": 0.5537,
"delta": -0.0733,
"percent_delta": -0.1169,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 110
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1918,
"predicted_3B": 0.0154,
"predicted_AB": 3.9022,
"predicted_AVG": 0.2831,
"predicted_BB": 0.556,
"predicted_H": 1.1046,
"predicted_HBP": 0.029,
"predicted_HR": 0.2422,
"predicted_OBP": 0.3725,
"predicted_R": 0.6883,
"predicted_RBI": 0.6582,
"predicted_SLG": 0.5263,
"predicted_SO": 1.0757
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1918,
"after": 0.1918,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0154,
"after": 0.0154,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9022,
"after": 3.9022,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2854,
"after": 0.2831,
"delta": -0.0023,
"percent_delta": -0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5537,
"after": 0.556,
"delta": 0.0023,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1128,
"after": 1.1046,
"delta": -0.0082,
"percent_delta": -0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.029,
"after": 0.029,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2437,
"after": 0.2422,
"delta": -0.0015,
"percent_delta": -0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3731,
"after": 0.3725,
"delta": -0.0006,
"percent_delta": -0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6958,
"after": 0.6883,
"delta": -0.0075,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6654,
"after": 0.6582,
"delta": -0.0072,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5301,
"after": 0.5263,
"delta": -0.0038,
"percent_delta": -0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0801,
"after": 1.0757,
"delta": -0.0044,
"percent_delta": -0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.90), rates preserved: AVG=0.283 HR/AB=0.062",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1918,
"after": 0.0,
"delta": -0.1918,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0154,
"after": 0.0,
"delta": -0.0154,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9022,
"after": 4.0,
"delta": 0.0978,
"percent_delta": 0.0251,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.556,
"after": 1.0,
"delta": 0.444,
"percent_delta": 0.7986,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1046,
"after": 1.0,
"delta": -0.1046,
"percent_delta": -0.0947,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.029,
"after": 0.0,
"delta": -0.029,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2422,
"after": 0.0,
"delta": -0.2422,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6582,
"after": 1.0,
"delta": 0.3418,
"percent_delta": 0.5193,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0757,
"after": 1.0,
"delta": -0.0757,
"percent_delta": -0.0704,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 4,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.556,
"after": 1.0,
"delta": 0.444,
"percent_delta": 0.7986,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.2422,
"after": 0.0,
"delta": -0.2422,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.6883,
"after": 1.0,
"delta": 0.3117,
"percent_delta": 0.4529,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.6883,
"after": 1.0,
"delta": 0.3117,
"percent_delta": 0.4529,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2831,
"after": 0.25,
"delta": -0.0331,
"percent_delta": -0.1169,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_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_OBP",
"before": 0.3725,
"after": 0.4,
"delta": 0.0275,
"percent_delta": 0.0738,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5263,
"after": 0.25,
"delta": -0.2763,
"percent_delta": -0.525,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3725,
"after": 0.4,
"delta": 0.0275,
"percent_delta": 0.0738,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5263,
"after": 0.25,
"delta": -0.2763,
"percent_delta": -0.525,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"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": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2831,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3725,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5263,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2831,
"delta": 0.0331,
"percent_delta": 0.1322,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_CS",
"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_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_OBP",
"before": 0.4,
"after": 0.3725,
"delta": -0.0275,
"percent_delta": -0.0688,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.5263,
"delta": 0.2763,
"percent_delta": 1.1053,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.5263,
"delta": 0.2763,
"percent_delta": 1.1053,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3725,
"delta": -0.0275,
"percent_delta": -0.0688,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.018,
"after": 0.0,
"delta": -0.018,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.845,
"after": 5.0,
"delta": 1.155,
"percent_delta": 0.3004,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.291,
"after": 0.2831,
"delta": -0.0079,
"percent_delta": -0.0271,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.627,
"after": 0.0,
"delta": -0.627,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.118,
"after": 3.0,
"delta": 1.882,
"percent_delta": 1.6834,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.245,
"after": 0.0,
"delta": -0.245,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.39,
"after": 0.3725,
"delta": -0.0175,
"percent_delta": -0.0449,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.691,
"after": 1.0,
"delta": 0.309,
"percent_delta": 0.4472,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.655,
"after": 0.0,
"delta": -0.655,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.544,
"after": 0.5263,
"delta": -0.0177,
"percent_delta": -0.0325,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.055,
"after": 0.0,
"delta": -1.055,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.118,
"after": 3.0,
"delta": 1.882,
"percent_delta": 1.6834,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.055,
"after": 0.0,
"delta": -1.055,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.200 | - |
| predicted_3B | 0.018 | - |
| predicted_AB | 3.845 | - |
| predicted_AVG | 0.291 | - |
| predicted_BB | 0.627 | - |
| predicted_H | 1.118 | - |
| predicted_HR | 0.245 | - |
| predicted_OBP | 0.390 | - |
| predicted_R | 0.691 | - |
| predicted_RBI | 0.655 | - |
| predicted_SLG | 0.544 | - |
| predicted_SO | 1.055 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.192 | -0.008 |
| predicted_3B | 0.015 | -0.003 |
| predicted_AB | 3.902 | 0.057 |
| predicted_AVG | 0.285 | -0.006 |
| predicted_BB | 0.554 | -0.073 |
| predicted_H | 1.113 | -0.005 |
| predicted_HBP | 0.029 | - |
| predicted_HR | 0.244 | -0.001 |
| predicted_OBP | 0.373 | -0.017 |
| predicted_R | 0.696 | 0.005 |
| predicted_RBI | 0.665 | 0.010 |
| predicted_SLG | 0.530 | -0.014 |
| predicted_SO | 1.080 | 0.025 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.192 | 0.000 |
| predicted_3B | 0.015 | 0.000 |
| predicted_AB | 3.902 | 0.000 |
| predicted_AVG | 0.283 | -0.002 |
| predicted_BB | 0.556 | 0.002 |
| predicted_H | 1.105 | -0.008 |
| predicted_HBP | 0.029 | 0.000 |
| predicted_HR | 0.242 | -0.002 |
| predicted_OBP | 0.372 | -0.001 |
| predicted_R | 0.688 | -0.007 |
| predicted_RBI | 0.658 | -0.007 |
| predicted_SLG | 0.526 | -0.004 |
| predicted_SO | 1.076 | -0.004 |
AB rounded to 4 (raw=3.90), rates preserved: AVG=0.283 HR/AB=0.062
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.192 |
| predicted_3B | 0.000 | -0.015 |
| predicted_AB | 4.000 | 0.098 |
| predicted_AVG | 0.250 | -0.033 |
| predicted_BB | 1.000 | 0.444 |
| predicted_H | 1.000 | -0.105 |
| predicted_HR | 0.000 | -0.242 |
| predicted_OBP | 0.400 | 0.028 |
| predicted_R | 1.000 | 0.312 |
| predicted_RBI | 1.000 | 0.342 |
| predicted_SLG | 0.250 | -0.276 |
| predicted_SO | 1.000 | -0.076 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 1.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 3.000 | 2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 22.000 | 5.000 | 1.000 | 0.000 | 1.000 | 4.000 | 4.000 | 0.000 | 7.000 | 0.2273 | 0.2273 | 0.4091 | 0.2273 | 0.0454 | 0.1818 | 0.0000 | 0.3182 |
| last_10 | 0.20 | 10 | - | 40.000 | 12.000 | 1.000 | 0.000 | 3.000 | 7.000 | 7.000 | 4.000 | 11.000 | 0.3000 | 0.3636 | 0.5500 | 0.3000 | 0.0750 | 0.1750 | 0.1000 | 0.2750 |
| season | 0.60 | 110 | - | 423.000 | 123.000 | 22.000 | 2.000 | 27.000 | 72.000 | 76.000 | 69.000 | 116.000 | 0.2908 | 0.3924 | 0.5437 | 0.2908 | 0.0638 | 0.1702 | 0.1631 | 0.2742 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1810 |
| predicted_3B | 0.0120 |
| predicted_AB | 3.9770 |
| predicted_AVG | 0.2781 |
| predicted_BB | 0.4580 |
| predicted_H | 1.1060 |
| predicted_HBP | 0.0290 |
| predicted_HR | 0.2420 |
| predicted_OBP | 0.3509 |
| predicted_R | 0.7020 |
| predicted_RBI | 0.6790 |
| predicted_SLG | 0.5119 |
| predicted_SO | 1.1130 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2000 | 0.1810 | 0.1918 | model_form_blend |
| predicted_3B | 0.0180 | 0.0120 | 0.0154 | model_form_blend |
| predicted_AB | 3.8450 | 3.9770 | 3.9022 | model_form_blend |
| predicted_AVG | 0.2910 | 0.2781 | 0.2854 | model_form_blend |
| predicted_BB | 0.6270 | 0.4580 | 0.5537 | model_form_blend |
| predicted_H | 1.1180 | 1.1060 | 1.1128 | model_form_blend |
| predicted_HBP | - | 0.0290 | 0.0290 | form_only |
| predicted_HR | 0.2450 | 0.2420 | 0.2437 | model_form_blend |
| predicted_OBP | 0.3900 | 0.3509 | 0.3731 | model_form_blend |
| predicted_R | 0.6910 | 0.7020 | 0.6958 | model_form_blend |
| predicted_RBI | 0.6550 | 0.6790 | 0.6654 | model_form_blend |
| predicted_SLG | 0.5440 | 0.5119 | 0.5301 | model_form_blend |
| predicted_SO | 1.0550 | 1.1130 | 1.0801 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 451 |
| Season rows before report date | 451 |
| Report year | 2026 |
| Profile rows used | 110 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 3 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.291 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 5 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260812_KC@LAD |
| game_type | full |
| mlbID | 660271 |
| playerID | 660271 |
| playerName | Shohei Ohtani |
| pos | TWP |
| started | True |
| startingPosition | DH |
| team | LAD |
| teamID | 14 |
| game_date | 2026-08-12 |
| sl_k_percent | 23.0 |
| sl_bb_percent | 13.7 |
| sl_woba | 0.39 |
| sl_xwoba | 0.405 |
| sl_xba | 0.294 |
| sl_xslg | 0.566 |
| sl_sweet_spot_percent | 39.3 |
| sl_barrel_batted_rate | 16.4 |
| sl_hard_hit_percent | 52.1 |
| sl_exit_velocity_avg | 93.3 |
| sl_launch_angle_avg | 12.7 |
| sl_whiff_percent | 30.4 |
| sl_swing_percent | 46.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.195 | 0.000 | 0.000 | Hitting_2B | 0.215 | 0.000 | -0.215 | 0.000 |
| predicted_3B | 0.017 | 0.000 | 0.000 | Hitting_3B | 0.013 | 0.000 | -0.013 | 0.000 |
| predicted_AB | 5.020 | 5.000 | 5.000 | Hitting_AB | 3.969 | 4.000 | 1.031 | 1.000 |
| predicted_AVG | 0.263 | 0.200 | 0.200 | Hitting_AVG | 0.270 | 0.250 | -0.070 | -0.050 |
| predicted_BB | 0.364 | 0.000 | 0.000 | Hitting_BB | 0.369 | 0.000 | -0.369 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.059 | 1.000 | -0.059 | -1.000 |
| predicted_H | 1.320 | 1.000 | 1.000 | Hitting_H | 1.073 | 1.000 | -0.073 | 0.000 |
| predicted_HR | 0.190 | 0.000 | 0.000 | Hitting_HR | 0.176 | 0.000 | -0.176 | 0.000 |
| predicted_OBP | 0.342 | 0.200 | 0.200 | Hitting_OBP | 0.336 | 0.250 | -0.136 | -0.050 |
| predicted_R | 0.559 | 1.000 | 0.000 | Hitting_R | 0.655 | 0.000 | 0.345 | 1.000 |
| predicted_RBI | 0.620 | 1.000 | 1.000 | Hitting_RBI | 0.684 | 0.000 | 0.316 | 1.000 |
| predicted_SLG | 0.417 | 0.200 | 0.200 | Hitting_SLG | 0.464 | 0.250 | -0.264 | -0.050 |
| predicted_SO | 0.864 | 1.000 | 1.000 | Hitting_SO | 0.870 | 1.000 | 0.130 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 8 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 5 |
| Better Metrics | 2 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_R: 0.5590 -> 1.0000 (boost 0.4410, better) |
| Biggest Deboost | predicted_BB: 0.3640 -> 0.0000 (deboost -0.3640, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 1 | 3 | 1 | 3 | predicted_AVG: 0.2630 -> 0.2703 (boost 0.0073, better) | predicted_AB: 5.0200 -> 4.5211 (deboost -0.4989, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.3457 -> 0.3249 (deboost -0.0208, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_AB: 4.5211 -> 5.0000 (boost 0.4789, better) | predicted_BB: 0.3860 -> 0.0000 (deboost -0.3860, worse) | AB rounded to 5 (raw=5.02), rates preserved: AVG=0.241 HR/AB=0.031 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4766 -> 0.0000 (deboost -0.4766, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4210 -> 0.2000 (deboost -0.2210, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2000 -> 0.4210 (boost 0.2210, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "681624",
"player_name": "Andy Pages",
"position": "CF",
"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": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.195,
"predicted_3B": 0.017,
"predicted_AB": 5.02,
"predicted_AVG": 0.263,
"predicted_BB": 0.364,
"predicted_H": 1.32,
"predicted_HR": 0.19,
"predicted_OBP": 0.342,
"predicted_R": 0.559,
"predicted_RBI": 0.62,
"predicted_SLG": 0.417,
"predicted_SO": 0.864
},
"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": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1954,
"predicted_3B": 0.014,
"predicted_AB": 4.5211,
"predicted_AVG": 0.2703,
"predicted_BB": 0.3844,
"predicted_H": 1.2172,
"predicted_HBP": 0.026,
"predicted_HR": 0.1583,
"predicted_OBP": 0.3457,
"predicted_R": 0.4818,
"predicted_RBI": 0.5758,
"predicted_SLG": 0.4212,
"predicted_SO": 0.8779
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.195,
"after": 0.1954,
"delta": 0.0004,
"percent_delta": 0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.014,
"delta": -0.003,
"percent_delta": -0.1765,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.02,
"after": 4.5211,
"delta": -0.4989,
"percent_delta": -0.0994,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.2703,
"delta": 0.0073,
"percent_delta": 0.0278,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.364,
"after": 0.3844,
"delta": 0.0204,
"percent_delta": 0.056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.32,
"after": 1.2172,
"delta": -0.1028,
"percent_delta": -0.0779,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.1583,
"delta": -0.0317,
"percent_delta": -0.1668,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.342,
"after": 0.3457,
"delta": 0.0037,
"percent_delta": 0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.559,
"after": 0.4818,
"delta": -0.0772,
"percent_delta": -0.1381,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.62,
"after": 0.5758,
"delta": -0.0442,
"percent_delta": -0.0713,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.417,
"after": 0.4212,
"delta": 0.0042,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.864,
"after": 0.8779,
"delta": 0.0139,
"percent_delta": 0.0161,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.2703,
"delta": 0.0073,
"percent_delta": 0.0278,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.02,
"after": 4.5211,
"delta": -0.4989,
"percent_delta": -0.0994,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 118
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1954,
"predicted_3B": 0.014,
"predicted_AB": 4.5211,
"predicted_AVG": 0.2672,
"predicted_BB": 0.386,
"predicted_H": 1.2082,
"predicted_HBP": 0.026,
"predicted_HR": 0.1573,
"predicted_OBP": 0.3249,
"predicted_R": 0.4766,
"predicted_RBI": 0.5696,
"predicted_SLG": 0.421,
"predicted_SO": 0.8743
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1954,
"after": 0.1954,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.014,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.5211,
"after": 4.5211,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2703,
"after": 0.2672,
"delta": -0.0031,
"percent_delta": -0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3844,
"after": 0.386,
"delta": 0.0016,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2172,
"after": 1.2082,
"delta": -0.009,
"percent_delta": -0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.026,
"after": 0.026,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1583,
"after": 0.1573,
"delta": -0.001,
"percent_delta": -0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3457,
"after": 0.3249,
"delta": -0.0208,
"percent_delta": -0.0602,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4818,
"after": 0.4766,
"delta": -0.0052,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5758,
"after": 0.5696,
"delta": -0.0062,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4212,
"after": 0.421,
"delta": -0.0002,
"percent_delta": -0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.8779,
"after": 0.8743,
"delta": -0.0036,
"percent_delta": -0.0041,
"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_OBP",
"before": 0.3457,
"after": 0.3249,
"delta": -0.0208,
"percent_delta": -0.0602,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.02), rates preserved: AVG=0.241 HR/AB=0.031",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1954,
"after": 0.0,
"delta": -0.1954,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.014,
"after": 0.0,
"delta": -0.014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.5211,
"after": 5.0,
"delta": 0.4789,
"percent_delta": 0.1059,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.386,
"after": 0.0,
"delta": -0.386,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2082,
"after": 1.0,
"delta": -0.2082,
"percent_delta": -0.1723,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.026,
"after": 0.0,
"delta": -0.026,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1573,
"after": 0.0,
"delta": -0.1573,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5696,
"after": 1.0,
"delta": 0.4304,
"percent_delta": 0.7556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8743,
"after": 1.0,
"delta": 0.1257,
"percent_delta": 0.1438,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.5211,
"after": 5.0,
"delta": 0.4789,
"percent_delta": 0.1059,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.386,
"after": 0.0,
"delta": -0.386,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.4766,
"after": 0.0,
"delta": -0.4766,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4766,
"after": 0.0,
"delta": -0.4766,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.2,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2672,
"after": 0.2,
"delta": -0.0672,
"percent_delta": -0.2515,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_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_OBP",
"before": 0.3249,
"after": 0.2,
"delta": -0.1249,
"percent_delta": -0.3844,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.421,
"after": 0.2,
"delta": -0.221,
"percent_delta": -0.5249,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.421,
"after": 0.2,
"delta": -0.221,
"percent_delta": -0.5249,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_CS",
"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_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2672,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3249,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.421,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2,
"after": 0.2672,
"delta": 0.0672,
"percent_delta": 0.3362,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_CS",
"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_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_OBP",
"before": 0.2,
"after": 0.3249,
"delta": 0.1249,
"percent_delta": 0.6244,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.421,
"delta": 0.221,
"percent_delta": 1.1052,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.421,
"delta": 0.221,
"percent_delta": 1.1052,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.195,
"after": 0.0,
"delta": -0.195,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.0,
"delta": -0.017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.02,
"after": 5.0,
"delta": -0.02,
"percent_delta": -0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.2672,
"delta": 0.0042,
"percent_delta": 0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.364,
"after": 0.0,
"delta": -0.364,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.32,
"after": 1.0,
"delta": -0.32,
"percent_delta": -0.2424,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.0,
"delta": -0.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.342,
"after": 0.3249,
"delta": -0.0171,
"percent_delta": -0.05,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.559,
"after": 1.0,
"delta": 0.441,
"percent_delta": 0.7889,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.62,
"after": 1.0,
"delta": 0.38,
"percent_delta": 0.6129,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.417,
"after": 0.421,
"delta": 0.004,
"percent_delta": 0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.864,
"after": 1.0,
"delta": 0.136,
"percent_delta": 0.1574,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.559,
"after": 1.0,
"delta": 0.441,
"percent_delta": 0.7889,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.364,
"after": 0.0,
"delta": -0.364,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.195 | - |
| predicted_3B | 0.017 | - |
| predicted_AB | 5.020 | - |
| predicted_AVG | 0.263 | - |
| predicted_BB | 0.364 | - |
| predicted_H | 1.320 | - |
| predicted_HR | 0.190 | - |
| predicted_OBP | 0.342 | - |
| predicted_R | 0.559 | - |
| predicted_RBI | 0.620 | - |
| predicted_SLG | 0.417 | - |
| predicted_SO | 0.864 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.195 | 0.000 |
| predicted_3B | 0.014 | -0.003 |
| predicted_AB | 4.521 | -0.499 |
| predicted_AVG | 0.270 | 0.007 |
| predicted_BB | 0.384 | 0.020 |
| predicted_H | 1.217 | -0.103 |
| predicted_HBP | 0.026 | - |
| predicted_HR | 0.158 | -0.032 |
| predicted_OBP | 0.346 | 0.004 |
| predicted_R | 0.482 | -0.077 |
| predicted_RBI | 0.576 | -0.044 |
| predicted_SLG | 0.421 | 0.004 |
| predicted_SO | 0.878 | 0.014 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.195 | 0.000 |
| predicted_3B | 0.014 | 0.000 |
| predicted_AB | 4.521 | 0.000 |
| predicted_AVG | 0.267 | -0.003 |
| predicted_BB | 0.386 | 0.002 |
| predicted_H | 1.208 | -0.009 |
| predicted_HBP | 0.026 | 0.000 |
| predicted_HR | 0.157 | -0.001 |
| predicted_OBP | 0.325 | -0.021 |
| predicted_R | 0.477 | -0.005 |
| predicted_RBI | 0.570 | -0.006 |
| predicted_SLG | 0.421 | -0.000 |
| predicted_SO | 0.874 | -0.004 |
AB rounded to 5 (raw=5.02), rates preserved: AVG=0.241 HR/AB=0.031
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.195 |
| predicted_3B | 0.000 | -0.014 |
| predicted_AB | 5.000 | 0.479 |
| predicted_AVG | 0.200 | -0.067 |
| predicted_BB | 0.000 | -0.386 |
| predicted_H | 1.000 | -0.208 |
| predicted_HR | 0.000 | -0.157 |
| predicted_OBP | 0.200 | -0.125 |
| predicted_R | 0.000 | -0.477 |
| predicted_RBI | 1.000 | 0.430 |
| predicted_SLG | 0.200 | -0.221 |
| predicted_SO | 1.000 | 0.126 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 6.000 | 1.000 | 0.000 | 0.000 | 1.000 | 0.000 | 3.000 | 5.000 | 0.3158 | 0.4091 | 0.3684 | 0.3158 | 0.0000 | 0.0526 | 0.1579 | 0.2632 |
| last_10 | 0.20 | 10 | - | 39.000 | 11.000 | 2.000 | 0.000 | 1.000 | 5.000 | 2.000 | 4.000 | 9.000 | 0.2821 | 0.3488 | 0.4103 | 0.2821 | 0.0256 | 0.1282 | 0.1026 | 0.2308 |
| season | 0.60 | 118 | - | 459.000 | 124.000 | 23.000 | 2.000 | 19.000 | 75.000 | 66.000 | 43.000 | 102.000 | 0.2702 | 0.3359 | 0.4532 | 0.2702 | 0.0414 | 0.1634 | 0.0937 | 0.2222 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1960 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.8700 |
| predicted_AVG | 0.2798 |
| predicted_BB | 0.4110 |
| predicted_H | 1.0830 |
| predicted_HBP | 0.0260 |
| predicted_HR | 0.1170 |
| predicted_OBP | 0.3505 |
| predicted_R | 0.3810 |
| predicted_RBI | 0.5180 |
| predicted_SLG | 0.4266 |
| predicted_SO | 0.8960 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1950 | 0.1960 | 0.1954 | model_form_blend |
| predicted_3B | 0.0170 | 0.0100 | 0.0140 | model_form_blend |
| predicted_AB | 5.0200 | 3.8700 | 4.5211 | model_form_blend |
| predicted_AVG | 0.2630 | 0.2798 | 0.2703 | model_form_blend |
| predicted_BB | 0.3640 | 0.4110 | 0.3844 | model_form_blend |
| predicted_H | 1.3200 | 1.0830 | 1.2172 | model_form_blend |
| predicted_HBP | - | 0.0260 | 0.0260 | form_only |
| predicted_HR | 0.1900 | 0.1170 | 0.1583 | model_form_blend |
| predicted_OBP | 0.3420 | 0.3505 | 0.3457 | model_form_blend |
| predicted_R | 0.5590 | 0.3810 | 0.4818 | model_form_blend |
| predicted_RBI | 0.6200 | 0.5180 | 0.5758 | model_form_blend |
| predicted_SLG | 0.4170 | 0.4266 | 0.4212 | model_form_blend |
| predicted_SO | 0.8640 | 0.8960 | 0.8779 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 455 |
| Season rows before report date | 455 |
| Report year | 2026 |
| Profile rows used | 118 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.27 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 1 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260812_KC@LAD |
| game_type | full |
| mlbID | 681624 |
| playerID | 681624 |
| playerName | Andy Pages |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | LAD |
| teamID | 14 |
| game_date | 2026-08-12 |
| sl_k_percent | 20.1 |
| sl_bb_percent | 8.4 |
| sl_woba | 0.344 |
| sl_xwoba | 0.338 |
| sl_xba | 0.268 |
| sl_xslg | 0.437 |
| sl_sweet_spot_percent | 36.3 |
| sl_barrel_batted_rate | 7.8 |
| sl_hard_hit_percent | 42.7 |
| sl_exit_velocity_avg | 89.1 |
| sl_launch_angle_avg | 15.9 |
| sl_whiff_percent | 22.7 |
| sl_swing_percent | 48.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.181 | 1.000 | 0.000 | Hitting_2B | 0.175 | 1.000 | 0.825 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.500 | 3.000 | 3.000 | Hitting_AB | 2.746 | 2.000 | 0.254 | 1.000 |
| predicted_AVG | 0.289 | 0.667 | 0.333 | Hitting_AVG | 0.288 | 0.500 | 0.379 | 0.167 |
| predicted_BB | 0.136 | 1.000 | 0.000 | Hitting_BB | 0.175 | 1.000 | 0.825 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.023 | 0.000 | -0.023 | 0.000 |
| predicted_H | 0.723 | 2.000 | 1.000 | Hitting_H | 0.791 | 1.000 | 1.209 | 1.000 |
| predicted_HR | 0.045 | 0.000 | 0.000 | Hitting_HR | 0.062 | 0.000 | -0.062 | 0.000 |
| predicted_OBP | 0.326 | 0.750 | 0.333 | Hitting_OBP | 0.325 | 0.667 | 0.425 | 0.083 |
| predicted_R | 0.271 | 1.000 | 0.000 | Hitting_R | 0.311 | 1.000 | 0.689 | 0.000 |
| predicted_RBI | 0.271 | 0.000 | 0.000 | Hitting_RBI | 0.345 | 0.000 | -0.345 | 0.000 |
| predicted_SLG | 0.416 | 1.000 | 0.333 | Hitting_SLG | 0.420 | 1.000 | 0.580 | 0.000 |
| predicted_SO | 0.286 | 1.000 | 0.000 | Hitting_SO | 0.311 | 0.000 | 0.689 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 9 |
| Deboosted Metrics | 1 |
| Better Metrics | 8 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_H: 0.7230 -> 2.0000 (boost 1.2770, better) |
| Biggest Deboost | predicted_RBI: 0.2710 -> 0.0000 (deboost -0.2710, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.4160 -> 0.4292 (boost 0.0132, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 0 | 0 | 0 | 0 | 0 | - | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 3 | 3 | predicted_AB: 2.5204 -> 3.0000 (boost 0.4796, better) | predicted_SO: 0.3182 -> 0.0000 (deboost -0.3182, better) | AB rounded to 3 (raw=2.52), rates preserved: AVG=0.294 HR/AB=0.016 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3065 -> 0.0000 (deboost -0.3065, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2944 -> 0.3330 (boost 0.0386, better) | predicted_SLG: 0.4264 -> 0.3330 (deboost -0.0934, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 5 | 0 | 4 | 1 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.3330 -> 0.4264 (boost 0.0934, better) | predicted_AVG: 0.3330 -> 0.2944 (deboost -0.0386, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "500743",
"player_name": "Miguel Rojas",
"position": "SS",
"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": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.181,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.289,
"predicted_BB": 0.136,
"predicted_H": 0.723,
"predicted_HR": 0.045,
"predicted_OBP": 0.326,
"predicted_R": 0.271,
"predicted_RBI": 0.271,
"predicted_SLG": 0.416,
"predicted_SO": 0.286
},
"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": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2088,
"predicted_3B": 0.0004,
"predicted_AB": 2.5204,
"predicted_AVG": 0.2963,
"predicted_BB": 0.1679,
"predicted_H": 0.7475,
"predicted_HBP": 0.011,
"predicted_HR": 0.0413,
"predicted_OBP": 0.3369,
"predicted_R": 0.3098,
"predicted_RBI": 0.2448,
"predicted_SLG": 0.4292,
"predicted_SO": 0.3195
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.181,
"after": 0.2088,
"delta": 0.0278,
"percent_delta": 0.1536,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.5204,
"delta": 0.0204,
"percent_delta": 0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.289,
"after": 0.2963,
"delta": 0.0073,
"percent_delta": 0.0253,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.136,
"after": 0.1679,
"delta": 0.0319,
"percent_delta": 0.2346,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.723,
"after": 0.7475,
"delta": 0.0245,
"percent_delta": 0.0339,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.045,
"after": 0.0413,
"delta": -0.0037,
"percent_delta": -0.0822,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.326,
"after": 0.3369,
"delta": 0.0109,
"percent_delta": 0.0334,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.271,
"after": 0.3098,
"delta": 0.0388,
"percent_delta": 0.1432,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.271,
"after": 0.2448,
"delta": -0.0262,
"percent_delta": -0.0967,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.416,
"after": 0.4292,
"delta": 0.0132,
"percent_delta": 0.0317,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.286,
"after": 0.3195,
"delta": 0.0335,
"percent_delta": 0.1171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.416,
"after": 0.4292,
"delta": 0.0132,
"percent_delta": 0.0317,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 69
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2088,
"predicted_3B": 0.0004,
"predicted_AB": 2.5204,
"predicted_AVG": 0.2944,
"predicted_BB": 0.1686,
"predicted_H": 0.742,
"predicted_HBP": 0.011,
"predicted_HR": 0.041,
"predicted_OBP": 0.3386,
"predicted_R": 0.3065,
"predicted_RBI": 0.2422,
"predicted_SLG": 0.4264,
"predicted_SO": 0.3182
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2088,
"after": 0.2088,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5204,
"after": 2.5204,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2963,
"after": 0.2944,
"delta": -0.0019,
"percent_delta": -0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1679,
"after": 0.1686,
"delta": 0.0007,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7475,
"after": 0.742,
"delta": -0.0055,
"percent_delta": -0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.011,
"after": 0.011,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0413,
"after": 0.041,
"delta": -0.0003,
"percent_delta": -0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3369,
"after": 0.3386,
"delta": 0.0017,
"percent_delta": 0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3098,
"after": 0.3065,
"delta": -0.0033,
"percent_delta": -0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2448,
"after": 0.2422,
"delta": -0.0026,
"percent_delta": -0.0106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4292,
"after": 0.4264,
"delta": -0.0028,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.3195,
"after": 0.3182,
"delta": -0.0013,
"percent_delta": -0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.52), rates preserved: AVG=0.294 HR/AB=0.016",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2088,
"after": 0.0,
"delta": -0.2088,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5204,
"after": 3.0,
"delta": 0.4796,
"percent_delta": 0.1903,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1686,
"after": 0.0,
"delta": -0.1686,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.742,
"after": 1.0,
"delta": 0.258,
"percent_delta": 0.3477,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.011,
"after": 0.0,
"delta": -0.011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.041,
"after": 0.0,
"delta": -0.041,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2422,
"after": 0.0,
"delta": -0.2422,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.3182,
"after": 0.0,
"delta": -0.3182,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5204,
"after": 3.0,
"delta": 0.4796,
"percent_delta": 0.1903,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.3182,
"after": 0.0,
"delta": -0.3182,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.3065,
"after": 0.0,
"delta": -0.3065,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.3065,
"after": 0.0,
"delta": -0.3065,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2944,
"after": 0.333,
"delta": 0.0386,
"percent_delta": 0.1311,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_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_OBP",
"before": 0.3386,
"after": 0.333,
"delta": -0.0056,
"percent_delta": -0.0165,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4264,
"after": 0.333,
"delta": -0.0934,
"percent_delta": -0.219,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2944,
"after": 0.333,
"delta": 0.0386,
"percent_delta": 0.1311,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4264,
"after": 0.333,
"delta": -0.0934,
"percent_delta": -0.219,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2944,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3386,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4264,
"predicted_SO": 1.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2944,
"delta": -0.0386,
"percent_delta": -0.116,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_CS",
"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_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_OBP",
"before": 0.333,
"after": 0.3386,
"delta": 0.0056,
"percent_delta": 0.0169,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4264,
"delta": 0.0934,
"percent_delta": 0.2805,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4264,
"delta": 0.0934,
"percent_delta": 0.2805,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2944,
"delta": -0.0386,
"percent_delta": -0.116,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.181,
"after": 1.0,
"delta": 0.819,
"percent_delta": 4.5249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 3.0,
"delta": 0.5,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.289,
"after": 0.2944,
"delta": 0.0054,
"percent_delta": 0.0187,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.136,
"after": 1.0,
"delta": 0.864,
"percent_delta": 6.3529,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.723,
"after": 2.0,
"delta": 1.277,
"percent_delta": 1.7663,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.045,
"after": 0.0,
"delta": -0.045,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.326,
"after": 0.3386,
"delta": 0.0126,
"percent_delta": 0.0387,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.271,
"after": 1.0,
"delta": 0.729,
"percent_delta": 2.69,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.271,
"after": 0.0,
"delta": -0.271,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.416,
"after": 0.4264,
"delta": 0.0104,
"percent_delta": 0.025,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.286,
"after": 1.0,
"delta": 0.714,
"percent_delta": 2.4965,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 9,
"deboosted_metrics": 1,
"better_metrics": 8,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.723,
"after": 2.0,
"delta": 1.277,
"percent_delta": 1.7663,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.271,
"after": 0.0,
"delta": -0.271,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.181 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.289 | - |
| predicted_BB | 0.136 | - |
| predicted_H | 0.723 | - |
| predicted_HR | 0.045 | - |
| predicted_OBP | 0.326 | - |
| predicted_R | 0.271 | - |
| predicted_RBI | 0.271 | - |
| predicted_SLG | 0.416 | - |
| predicted_SO | 0.286 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.209 | 0.028 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.520 | 0.020 |
| predicted_AVG | 0.296 | 0.007 |
| predicted_BB | 0.168 | 0.032 |
| predicted_H | 0.748 | 0.025 |
| predicted_HBP | 0.011 | - |
| predicted_HR | 0.041 | -0.004 |
| predicted_OBP | 0.337 | 0.011 |
| predicted_R | 0.310 | 0.039 |
| predicted_RBI | 0.245 | -0.026 |
| predicted_SLG | 0.429 | 0.013 |
| predicted_SO | 0.320 | 0.034 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.209 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.520 | 0.000 |
| predicted_AVG | 0.294 | -0.002 |
| predicted_BB | 0.169 | 0.001 |
| predicted_H | 0.742 | -0.006 |
| predicted_HBP | 0.011 | 0.000 |
| predicted_HR | 0.041 | -0.000 |
| predicted_OBP | 0.339 | 0.002 |
| predicted_R | 0.306 | -0.003 |
| predicted_RBI | 0.242 | -0.003 |
| predicted_SLG | 0.426 | -0.003 |
| predicted_SO | 0.318 | -0.001 |
AB rounded to 3 (raw=2.52), rates preserved: AVG=0.294 HR/AB=0.016
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 0.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 0.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.209 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | 0.480 |
| predicted_AVG | 0.333 | 0.039 |
| predicted_BB | 0.000 | -0.169 |
| predicted_H | 1.000 | 0.258 |
| predicted_HR | 0.000 | -0.041 |
| predicted_OBP | 0.333 | -0.006 |
| predicted_R | 0.000 | -0.306 |
| predicted_RBI | 0.000 | -0.242 |
| predicted_SLG | 0.333 | -0.093 |
| predicted_SO | 0.000 | -0.318 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 11.000 | 5.000 | 2.000 | 0.000 | 0.000 | 0.000 | 3.000 | 2.000 | 2.000 | 0.4545 | 0.5385 | 0.6364 | 0.4546 | 0.0000 | 0.0000 | 0.1818 | 0.1818 |
| last_10 | 0.20 | 10 | - | 23.000 | 6.000 | 3.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 3.000 | 0.2609 | 0.3077 | 0.3913 | 0.2609 | 0.0000 | 0.0435 | 0.0870 | 0.1304 |
| season | 0.60 | 69 | - | 166.000 | 48.000 | 12.000 | 0.000 | 3.000 | 18.000 | 18.000 | 9.000 | 19.000 | 0.2892 | 0.3187 | 0.4157 | 0.2892 | 0.0181 | 0.1084 | 0.0542 | 0.1145 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2490 |
| predicted_3B | 0.0010 |
| predicted_AB | 2.5500 |
| predicted_AVG | 0.3069 |
| predicted_BB | 0.2140 |
| predicted_H | 0.7830 |
| predicted_HBP | 0.0110 |
| predicted_HR | 0.0360 |
| predicted_OBP | 0.3527 |
| predicted_R | 0.3660 |
| predicted_RBI | 0.2070 |
| predicted_SLG | 0.4484 |
| predicted_SO | 0.3680 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1810 | 0.2490 | 0.2088 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 2.5000 | 2.5500 | 2.5204 | model_form_blend |
| predicted_AVG | 0.2890 | 0.3069 | 0.2963 | model_form_blend |
| predicted_BB | 0.1360 | 0.2140 | 0.1679 | model_form_blend |
| predicted_H | 0.7230 | 0.7830 | 0.7475 | model_form_blend |
| predicted_HBP | - | 0.0110 | 0.0110 | form_only |
| predicted_HR | 0.0450 | 0.0360 | 0.0413 | model_form_blend |
| predicted_OBP | 0.3260 | 0.3527 | 0.3369 | model_form_blend |
| predicted_R | 0.2710 | 0.3660 | 0.3098 | model_form_blend |
| predicted_RBI | 0.2710 | 0.2070 | 0.2448 | model_form_blend |
| predicted_SLG | 0.4160 | 0.4484 | 0.4292 | model_form_blend |
| predicted_SO | 0.2860 | 0.3680 | 0.3195 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 177 |
| Season rows before report date | 177 |
| Report year | 2026 |
| Profile rows used | 69 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.289 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260812_KC@LAD |
| game_type | full |
| mlbID | 500743 |
| playerID | 500743 |
| playerName | Miguel Rojas |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | LAD |
| teamID | 14 |
| game_date | 2026-08-12 |
| sl_k_percent | 10.3 |
| sl_bb_percent | 5.9 |
| sl_woba | 0.32 |
| sl_xwoba | 0.319 |
| sl_xba | 0.289 |
| sl_xslg | 0.404 |
| sl_sweet_spot_percent | 35.9 |
| sl_barrel_batted_rate | 5.9 |
| sl_hard_hit_percent | 36.6 |
| sl_exit_velocity_avg | 87.0 |
| sl_launch_angle_avg | 14.7 |
| sl_whiff_percent | 16.3 |
| sl_swing_percent | 48.3 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.143 | 0.000 | 0.000 | Hitting_2B | 0.126 | 0.000 | -0.126 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.512 | 4.000 | 4.000 | Hitting_AB | 3.653 | 3.000 | 0.347 | 1.000 |
| predicted_AVG | 0.205 | 0.250 | 0.250 | Hitting_AVG | 0.245 | 0.000 | 0.005 | 0.250 |
| predicted_BB | 0.310 | 0.000 | 0.000 | Hitting_BB | 0.365 | 0.000 | -0.365 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.670 | 1.000 | 1.000 | Hitting_H | 0.895 | 0.000 | 0.105 | 1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.126 | 0.000 | -0.126 | 0.000 |
| predicted_OBP | 0.267 | 0.250 | 0.250 | Hitting_OBP | 0.316 | 0.000 | -0.066 | 0.250 |
| predicted_R | 0.548 | 0.000 | 0.000 | Hitting_R | 0.604 | 0.000 | -0.604 | 0.000 |
| predicted_RBI | 0.370 | 0.000 | 0.000 | Hitting_RBI | 0.572 | 0.000 | -0.572 | 0.000 |
| predicted_SLG | 0.376 | 0.250 | 0.250 | Hitting_SLG | 0.383 | 0.000 | -0.133 | 0.250 |
| predicted_SO | 1.036 | 1.000 | 1.000 | Hitting_SO | 1.116 | 1.000 | -0.116 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_AB: 3.5120 -> 4.0000 (boost 0.4880, better) |
| Biggest Deboost | predicted_R: 0.5480 -> 0.0000 (deboost -0.5480, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 0 | 4 | 0 | 4 | - | predicted_AB: 3.5120 -> 3.4035 (deboost -0.1085, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3663 -> 0.3297 (deboost -0.0366, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 2 | 4 | predicted_AB: 3.4035 -> 4.0000 (boost 0.5965, better) | predicted_RBI: 0.3664 -> 0.0000 (deboost -0.3664, worse) | AB rounded to 4 (raw=3.51), rates preserved: AVG=0.194 HR/AB=0.028 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4613 -> 0.0000 (deboost -0.4613, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.1999 -> 0.2500 (boost 0.0501, better) | predicted_SLG: 0.3297 -> 0.2500 (deboost -0.0797, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3297 (boost 0.0797, better) | predicted_AVG: 0.2500 -> 0.1999 (deboost -0.0501, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "606192",
"player_name": "Teoscar Hernández",
"position": "LF",
"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": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.143,
"predicted_3B": 0.0,
"predicted_AB": 3.512,
"predicted_AVG": 0.205,
"predicted_BB": 0.31,
"predicted_H": 0.67,
"predicted_HR": 0.1,
"predicted_OBP": 0.267,
"predicted_R": 0.548,
"predicted_RBI": 0.37,
"predicted_SLG": 0.376,
"predicted_SO": 1.036
},
"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": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1468,
"predicted_3B": 0.0004,
"predicted_AB": 3.4035,
"predicted_AVG": 0.2099,
"predicted_BB": 0.2534,
"predicted_H": 0.6853,
"predicted_HBP": 0.014,
"predicted_HR": 0.0987,
"predicted_OBP": 0.2622,
"predicted_R": 0.4663,
"predicted_RBI": 0.3704,
"predicted_SLG": 0.3663,
"predicted_SO": 0.9939
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.143,
"after": 0.1468,
"delta": 0.0038,
"percent_delta": 0.0266,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.512,
"after": 3.4035,
"delta": -0.1085,
"percent_delta": -0.0309,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.205,
"after": 0.2099,
"delta": 0.0049,
"percent_delta": 0.0239,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.31,
"after": 0.2534,
"delta": -0.0566,
"percent_delta": -0.1826,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.67,
"after": 0.6853,
"delta": 0.0153,
"percent_delta": 0.0228,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0987,
"delta": -0.0013,
"percent_delta": -0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.267,
"after": 0.2622,
"delta": -0.0048,
"percent_delta": -0.018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.548,
"after": 0.4663,
"delta": -0.0817,
"percent_delta": -0.1491,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.3704,
"delta": 0.0004,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.376,
"after": 0.3663,
"delta": -0.0097,
"percent_delta": -0.0258,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.036,
"after": 0.9939,
"delta": -0.0421,
"percent_delta": -0.0406,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.512,
"after": 3.4035,
"delta": -0.1085,
"percent_delta": -0.0309,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 84
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1468,
"predicted_3B": 0.0004,
"predicted_AB": 3.4035,
"predicted_AVG": 0.1999,
"predicted_BB": 0.2544,
"predicted_H": 0.6802,
"predicted_HBP": 0.014,
"predicted_HR": 0.0981,
"predicted_OBP": 0.2555,
"predicted_R": 0.4613,
"predicted_RBI": 0.3664,
"predicted_SLG": 0.3297,
"predicted_SO": 0.9898
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1468,
"after": 0.1468,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4035,
"after": 3.4035,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2099,
"after": 0.1999,
"delta": -0.01,
"percent_delta": -0.0476,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2534,
"after": 0.2544,
"delta": 0.001,
"percent_delta": 0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6853,
"after": 0.6802,
"delta": -0.0051,
"percent_delta": -0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.014,
"after": 0.014,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0987,
"after": 0.0981,
"delta": -0.0006,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2622,
"after": 0.2555,
"delta": -0.0067,
"percent_delta": -0.0256,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4663,
"after": 0.4613,
"delta": -0.005,
"percent_delta": -0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3704,
"after": 0.3664,
"delta": -0.004,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3663,
"after": 0.3297,
"delta": -0.0366,
"percent_delta": -0.0999,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9939,
"after": 0.9898,
"delta": -0.0041,
"percent_delta": -0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3663,
"after": 0.3297,
"delta": -0.0366,
"percent_delta": -0.0999,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.51), rates preserved: AVG=0.194 HR/AB=0.028",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1468,
"after": 0.0,
"delta": -0.1468,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.4035,
"after": 4.0,
"delta": 0.5965,
"percent_delta": 0.1753,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2544,
"after": 0.0,
"delta": -0.2544,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6802,
"after": 1.0,
"delta": 0.3198,
"percent_delta": 0.4702,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.014,
"after": 0.0,
"delta": -0.014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0981,
"after": 0.0,
"delta": -0.0981,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3664,
"after": 0.0,
"delta": -0.3664,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9898,
"after": 1.0,
"delta": 0.0102,
"percent_delta": 0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.4035,
"after": 4.0,
"delta": 0.5965,
"percent_delta": 0.1753,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3664,
"after": 0.0,
"delta": -0.3664,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.4613,
"after": 0.0,
"delta": -0.4613,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4613,
"after": 0.0,
"delta": -0.4613,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1999,
"after": 0.25,
"delta": 0.0501,
"percent_delta": 0.2506,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_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_OBP",
"before": 0.2555,
"after": 0.25,
"delta": -0.0055,
"percent_delta": -0.0215,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3297,
"after": 0.25,
"delta": -0.0797,
"percent_delta": -0.2417,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.1999,
"after": 0.25,
"delta": 0.0501,
"percent_delta": 0.2506,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3297,
"after": 0.25,
"delta": -0.0797,
"percent_delta": -0.2417,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_CS",
"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_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1999,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.2555,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3297,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1999,
"delta": -0.0501,
"percent_delta": -0.2006,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_CS",
"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_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_OBP",
"before": 0.25,
"after": 0.2555,
"delta": 0.0055,
"percent_delta": 0.0221,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3297,
"delta": 0.0797,
"percent_delta": 0.3188,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3297,
"delta": 0.0797,
"percent_delta": 0.3188,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1999,
"delta": -0.0501,
"percent_delta": -0.2006,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.143,
"after": 0.0,
"delta": -0.143,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.512,
"after": 4.0,
"delta": 0.488,
"percent_delta": 0.139,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.205,
"after": 0.1999,
"delta": -0.0051,
"percent_delta": -0.0249,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.31,
"after": 0.0,
"delta": -0.31,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.67,
"after": 1.0,
"delta": 0.33,
"percent_delta": 0.4925,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.267,
"after": 0.2555,
"delta": -0.0115,
"percent_delta": -0.0431,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.548,
"after": 0.0,
"delta": -0.548,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.0,
"delta": -0.37,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.376,
"after": 0.3297,
"delta": -0.0463,
"percent_delta": -0.1231,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.036,
"after": 1.0,
"delta": -0.036,
"percent_delta": -0.0347,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.512,
"after": 4.0,
"delta": 0.488,
"percent_delta": 0.139,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.548,
"after": 0.0,
"delta": -0.548,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.143 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.512 | - |
| predicted_AVG | 0.205 | - |
| predicted_BB | 0.310 | - |
| predicted_H | 0.670 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.267 | - |
| predicted_R | 0.548 | - |
| predicted_RBI | 0.370 | - |
| predicted_SLG | 0.376 | - |
| predicted_SO | 1.036 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.147 | 0.004 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.404 | -0.108 |
| predicted_AVG | 0.210 | 0.005 |
| predicted_BB | 0.253 | -0.057 |
| predicted_H | 0.685 | 0.015 |
| predicted_HBP | 0.014 | - |
| predicted_HR | 0.099 | -0.001 |
| predicted_OBP | 0.262 | -0.005 |
| predicted_R | 0.466 | -0.082 |
| predicted_RBI | 0.370 | 0.000 |
| predicted_SLG | 0.366 | -0.010 |
| predicted_SO | 0.994 | -0.042 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.147 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.404 | 0.000 |
| predicted_AVG | 0.200 | -0.010 |
| predicted_BB | 0.254 | 0.001 |
| predicted_H | 0.680 | -0.005 |
| predicted_HBP | 0.014 | 0.000 |
| predicted_HR | 0.098 | -0.001 |
| predicted_OBP | 0.256 | -0.007 |
| predicted_R | 0.461 | -0.005 |
| predicted_RBI | 0.366 | -0.004 |
| predicted_SLG | 0.330 | -0.037 |
| predicted_SO | 0.990 | -0.004 |
AB rounded to 4 (raw=3.51), rates preserved: AVG=0.194 HR/AB=0.028
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.147 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.596 |
| predicted_AVG | 0.250 | 0.050 |
| predicted_BB | 0.000 | -0.254 |
| predicted_H | 1.000 | 0.320 |
| predicted_HR | 0.000 | -0.098 |
| predicted_OBP | 0.250 | -0.006 |
| predicted_R | 0.000 | -0.461 |
| predicted_RBI | 0.000 | -0.366 |
| predicted_SLG | 0.250 | -0.080 |
| predicted_SO | 1.000 | 0.010 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 13.000 | 2.000 | 1.000 | 0.000 | 0.000 | 1.000 | 0.000 | 0.000 | 4.000 | 0.1538 | 0.1538 | 0.2308 | 0.1538 | 0.0000 | 0.0769 | 0.0000 | 0.3077 |
| last_10 | 0.20 | 10 | - | 29.000 | 5.000 | 1.000 | 0.000 | 1.000 | 2.000 | 2.000 | 0.000 | 8.000 | 0.1724 | 0.1724 | 0.3103 | 0.1724 | 0.0345 | 0.0690 | 0.0000 | 0.2759 |
| season | 0.60 | 84 | - | 295.000 | 73.000 | 12.000 | 0.000 | 11.000 | 41.000 | 46.000 | 26.000 | 87.000 | 0.2475 | 0.3098 | 0.4000 | 0.2475 | 0.0373 | 0.1390 | 0.0881 | 0.2949 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1520 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.2570 |
| predicted_AVG | 0.2166 |
| predicted_BB | 0.1770 |
| predicted_H | 0.7060 |
| predicted_HBP | 0.0140 |
| predicted_HR | 0.0970 |
| predicted_OBP | 0.2557 |
| predicted_R | 0.3560 |
| predicted_RBI | 0.3710 |
| predicted_SLG | 0.3533 |
| predicted_SO | 0.9370 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1430 | 0.1520 | 0.1468 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.5120 | 3.2570 | 3.4035 | model_form_blend |
| predicted_AVG | 0.2050 | 0.2166 | 0.2099 | model_form_blend |
| predicted_BB | 0.3100 | 0.1770 | 0.2534 | model_form_blend |
| predicted_H | 0.6700 | 0.7060 | 0.6853 | model_form_blend |
| predicted_HBP | - | 0.0140 | 0.0140 | form_only |
| predicted_HR | 0.1000 | 0.0970 | 0.0987 | model_form_blend |
| predicted_OBP | 0.2670 | 0.2557 | 0.2622 | model_form_blend |
| predicted_R | 0.5480 | 0.3560 | 0.4663 | model_form_blend |
| predicted_RBI | 0.3700 | 0.3710 | 0.3704 | model_form_blend |
| predicted_SLG | 0.3760 | 0.3533 | 0.3663 | model_form_blend |
| predicted_SO | 1.0360 | 0.9370 | 0.9939 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 285 |
| Season rows before report date | 285 |
| Report year | 2026 |
| Profile rows used | 84 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.247 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260812_KC@LAD |
| game_type | full |
| mlbID | 606192 |
| playerID | 606192 |
| playerName | Teoscar Hernández |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | LAD |
| teamID | 14 |
| game_date | 2026-08-12 |
| sl_k_percent | 26.8 |
| sl_bb_percent | 8.2 |
| sl_woba | 0.315 |
| sl_xwoba | 0.315 |
| sl_xba | 0.243 |
| sl_xslg | 0.41 |
| sl_sweet_spot_percent | 30.3 |
| sl_barrel_batted_rate | 9.0 |
| sl_hard_hit_percent | 42.2 |
| sl_exit_velocity_avg | 89.4 |
| sl_launch_angle_avg | 15.3 |
| sl_whiff_percent | 31.4 |
| sl_swing_percent | 47.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.238 | 0.000 | 0.000 | Hitting_2B | 0.308 | 0.000 | -0.308 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.500 | 4.000 | 3.000 | Hitting_AB | 1.923 | 0.000 | 2.077 | 4.000 |
| predicted_AVG | 0.286 | 0.250 | 0.333 | Hitting_AVG | 0.400 | - | -0.150 | - |
| predicted_BB | 0.119 | 0.000 | 0.000 | Hitting_BB | 0.077 | 0.000 | -0.077 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.714 | 1.000 | 1.000 | Hitting_H | 0.769 | 0.000 | 0.231 | 1.000 |
| predicted_HR | 0.119 | 1.000 | 0.000 | Hitting_HR | 0.154 | 0.000 | 0.846 | 1.000 |
| predicted_OBP | 0.318 | 0.250 | 0.333 | Hitting_OBP | 0.423 | - | -0.173 | - |
| predicted_R | 0.357 | 1.000 | 0.000 | Hitting_R | 0.385 | 0.000 | 0.615 | 1.000 |
| predicted_RBI | 0.238 | 2.000 | 0.000 | Hitting_RBI | 0.308 | 0.000 | 1.692 | 2.000 |
| predicted_SLG | 0.524 | 1.000 | 0.333 | Hitting_SLG | 0.800 | - | 0.200 | - |
| predicted_SO | 0.476 | 0.000 | 1.000 | Hitting_SO | 0.308 | 0.000 | -0.308 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 6 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_RBI: 0.2380 -> 2.0000 (boost 1.7620, better) |
| Biggest Deboost | predicted_SO: 0.4760 -> 0.0000 (deboost -0.4760, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 1 | 3 | 1 | 3 | predicted_AB: 2.5000 -> 2.6460 (boost 0.1460, better) | predicted_SLG: 0.5240 -> 0.4807 (deboost -0.0433, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4807 -> 0.4717 (deboost -0.0090, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_SO: 0.5233 -> 1.0000 (boost 0.4767, worse) | predicted_RBI: 0.2477 -> 0.0000 (deboost -0.2477, worse) | AB rounded to 3 (raw=2.65), rates preserved: AVG=0.265 HR/AB=0.042 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3626 -> 0.0000 (deboost -0.3626, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2648 -> 0.3330 (boost 0.0682, better) | predicted_SLG: 0.4717 -> 0.3330 (deboost -0.1387, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 4 | 1 | 5 | 0 | predicted_RBI: 0.0000 -> 2.0000 (boost 2.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4717 (boost 0.1387, better) | predicted_AVG: 0.3330 -> 0.2648 (deboost -0.0682, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "571771",
"player_name": "Enrique Hernández",
"position": "3B",
"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": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.238,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.286,
"predicted_BB": 0.119,
"predicted_H": 0.714,
"predicted_HR": 0.119,
"predicted_OBP": 0.318,
"predicted_R": 0.357,
"predicted_RBI": 0.238,
"predicted_SLG": 0.524,
"predicted_SO": 0.476
},
"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": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2113,
"predicted_3B": 0.002,
"predicted_AB": 2.646,
"predicted_AVG": 0.2694,
"predicted_BB": 0.1483,
"predicted_H": 0.7058,
"predicted_HBP": 0.015,
"predicted_HR": 0.1114,
"predicted_OBP": 0.3089,
"predicted_R": 0.3666,
"predicted_RBI": 0.2504,
"predicted_SLG": 0.4807,
"predicted_SO": 0.5255
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.238,
"after": 0.2113,
"delta": -0.0267,
"percent_delta": -0.1122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.002,
"delta": 0.002,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.646,
"delta": 0.146,
"percent_delta": 0.0584,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2694,
"delta": -0.0166,
"percent_delta": -0.058,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.119,
"after": 0.1483,
"delta": 0.0293,
"percent_delta": 0.2462,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.714,
"after": 0.7058,
"delta": -0.0082,
"percent_delta": -0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.119,
"after": 0.1114,
"delta": -0.0076,
"percent_delta": -0.0639,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.318,
"after": 0.3089,
"delta": -0.0091,
"percent_delta": -0.0286,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.357,
"after": 0.3666,
"delta": 0.0096,
"percent_delta": 0.0269,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.238,
"after": 0.2504,
"delta": 0.0124,
"percent_delta": 0.0521,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.524,
"after": 0.4807,
"delta": -0.0433,
"percent_delta": -0.0826,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.476,
"after": 0.5255,
"delta": 0.0495,
"percent_delta": 0.104,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 2.646,
"delta": 0.146,
"percent_delta": 0.0584,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.524,
"after": 0.4807,
"delta": -0.0433,
"percent_delta": -0.0826,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 10
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2113,
"predicted_3B": 0.002,
"predicted_AB": 2.646,
"predicted_AVG": 0.2648,
"predicted_BB": 0.1489,
"predicted_H": 0.7006,
"predicted_HBP": 0.015,
"predicted_HR": 0.1107,
"predicted_OBP": 0.3039,
"predicted_R": 0.3626,
"predicted_RBI": 0.2477,
"predicted_SLG": 0.4717,
"predicted_SO": 0.5233
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2113,
"after": 0.2113,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.002,
"after": 0.002,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.646,
"after": 2.646,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2694,
"after": 0.2648,
"delta": -0.0046,
"percent_delta": -0.0171,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1483,
"after": 0.1489,
"delta": 0.0006,
"percent_delta": 0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7058,
"after": 0.7006,
"delta": -0.0052,
"percent_delta": -0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.015,
"after": 0.015,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1114,
"after": 0.1107,
"delta": -0.0007,
"percent_delta": -0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3089,
"after": 0.3039,
"delta": -0.005,
"percent_delta": -0.0162,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3666,
"after": 0.3626,
"delta": -0.004,
"percent_delta": -0.0109,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2504,
"after": 0.2477,
"delta": -0.0027,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4807,
"after": 0.4717,
"delta": -0.009,
"percent_delta": -0.0187,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5255,
"after": 0.5233,
"delta": -0.0022,
"percent_delta": -0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4807,
"after": 0.4717,
"delta": -0.009,
"percent_delta": -0.0187,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.65), rates preserved: AVG=0.265 HR/AB=0.042",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2113,
"after": 0.0,
"delta": -0.2113,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.002,
"after": 0.0,
"delta": -0.002,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.646,
"after": 3.0,
"delta": 0.354,
"percent_delta": 0.1338,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1489,
"after": 0.0,
"delta": -0.1489,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7006,
"after": 1.0,
"delta": 0.2994,
"percent_delta": 0.4273,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.015,
"after": 0.0,
"delta": -0.015,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1107,
"after": 0.0,
"delta": -0.1107,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2477,
"after": 0.0,
"delta": -0.2477,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5233,
"after": 1.0,
"delta": 0.4767,
"percent_delta": 0.9109,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.5233,
"after": 1.0,
"delta": 0.4767,
"percent_delta": 0.9109,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2477,
"after": 0.0,
"delta": -0.2477,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.3626,
"after": 0.0,
"delta": -0.3626,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3626,
"after": 0.0,
"delta": -0.3626,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2648,
"after": 0.333,
"delta": 0.0682,
"percent_delta": 0.2576,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_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_OBP",
"before": 0.3039,
"after": 0.333,
"delta": 0.0291,
"percent_delta": 0.0958,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4717,
"after": 0.333,
"delta": -0.1387,
"percent_delta": -0.294,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2648,
"after": 0.333,
"delta": 0.0682,
"percent_delta": 0.2576,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4717,
"after": 0.333,
"delta": -0.1387,
"percent_delta": -0.294,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_CS",
"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_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2648,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3039,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4717,
"predicted_SO": 0.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2648,
"delta": -0.0682,
"percent_delta": -0.2049,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_CS",
"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_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_OBP",
"before": 0.333,
"after": 0.3039,
"delta": -0.0291,
"percent_delta": -0.0873,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4717,
"delta": 0.1387,
"percent_delta": 0.4164,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4717,
"delta": 0.1387,
"percent_delta": 0.4164,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2648,
"delta": -0.0682,
"percent_delta": -0.2049,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.238,
"after": 0.0,
"delta": -0.238,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2648,
"delta": -0.0212,
"percent_delta": -0.0741,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.119,
"after": 0.0,
"delta": -0.119,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.714,
"after": 1.0,
"delta": 0.286,
"percent_delta": 0.4006,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.119,
"after": 1.0,
"delta": 0.881,
"percent_delta": 7.4034,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.318,
"after": 0.3039,
"delta": -0.0141,
"percent_delta": -0.0443,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.357,
"after": 1.0,
"delta": 0.643,
"percent_delta": 1.8011,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.238,
"after": 2.0,
"delta": 1.762,
"percent_delta": 7.4034,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.524,
"after": 0.4717,
"delta": -0.0523,
"percent_delta": -0.0998,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.476,
"after": 0.0,
"delta": -0.476,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 6,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.238,
"after": 2.0,
"delta": 1.762,
"percent_delta": 7.4034,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.476,
"after": 0.0,
"delta": -0.476,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.238 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.286 | - |
| predicted_BB | 0.119 | - |
| predicted_H | 0.714 | - |
| predicted_HR | 0.119 | - |
| predicted_OBP | 0.318 | - |
| predicted_R | 0.357 | - |
| predicted_RBI | 0.238 | - |
| predicted_SLG | 0.524 | - |
| predicted_SO | 0.476 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.211 | -0.027 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 2.646 | 0.146 |
| predicted_AVG | 0.269 | -0.017 |
| predicted_BB | 0.148 | 0.029 |
| predicted_H | 0.706 | -0.008 |
| predicted_HBP | 0.015 | - |
| predicted_HR | 0.111 | -0.008 |
| predicted_OBP | 0.309 | -0.009 |
| predicted_R | 0.367 | 0.010 |
| predicted_RBI | 0.250 | 0.012 |
| predicted_SLG | 0.481 | -0.043 |
| predicted_SO | 0.525 | 0.049 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.211 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 2.646 | 0.000 |
| predicted_AVG | 0.265 | -0.005 |
| predicted_BB | 0.149 | 0.001 |
| predicted_H | 0.701 | -0.005 |
| predicted_HBP | 0.015 | 0.000 |
| predicted_HR | 0.111 | -0.001 |
| predicted_OBP | 0.304 | -0.005 |
| predicted_R | 0.363 | -0.004 |
| predicted_RBI | 0.248 | -0.003 |
| predicted_SLG | 0.472 | -0.009 |
| predicted_SO | 0.523 | -0.002 |
AB rounded to 3 (raw=2.65), rates preserved: AVG=0.265 HR/AB=0.042
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.211 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | 0.354 |
| predicted_AVG | 0.333 | 0.068 |
| predicted_BB | 0.000 | -0.149 |
| predicted_H | 1.000 | 0.299 |
| predicted_HR | 0.000 | -0.111 |
| predicted_OBP | 0.333 | 0.029 |
| predicted_R | 0.000 | -0.363 |
| predicted_RBI | 0.000 | -0.248 |
| predicted_SLG | 0.333 | -0.139 |
| predicted_SO | 1.000 | 0.477 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 2.000 | 2.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 9.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 2.000 | 0.1111 | 0.2000 | 0.1111 | 0.1111 | 0.0000 | 0.0000 | 0.1111 | 0.2222 |
| last_10 | 0.20 | 10 | - | 21.000 | 6.000 | 2.000 | 0.000 | 1.000 | 2.000 | 3.000 | 1.000 | 4.000 | 0.2857 | 0.3182 | 0.5238 | 0.2857 | 0.0476 | 0.0952 | 0.0476 | 0.1905 |
| season | 0.60 | 10 | - | 21.000 | 6.000 | 2.000 | 0.000 | 1.000 | 2.000 | 3.000 | 1.000 | 4.000 | 0.2857 | 0.3182 | 0.5238 | 0.2857 | 0.0476 | 0.0952 | 0.0476 | 0.1905 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1430 |
| predicted_3B | 0.0070 |
| predicted_AB | 3.0190 |
| predicted_AVG | 0.2270 |
| predicted_BB | 0.2230 |
| predicted_H | 0.6850 |
| predicted_HBP | 0.0150 |
| predicted_HR | 0.0920 |
| predicted_OBP | 0.2858 |
| predicted_R | 0.3910 |
| predicted_RBI | 0.2820 |
| predicted_SLG | 0.3701 |
| predicted_SO | 0.6520 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2380 | 0.1430 | 0.2113 | model_form_blend |
| predicted_3B | 0.0000 | 0.0070 | 0.0020 | model_form_blend |
| predicted_AB | 2.5000 | 3.0190 | 2.6460 | model_form_blend |
| predicted_AVG | 0.2860 | 0.2270 | 0.2694 | model_form_blend |
| predicted_BB | 0.1190 | 0.2230 | 0.1483 | model_form_blend |
| predicted_H | 0.7140 | 0.6850 | 0.7058 | model_form_blend |
| predicted_HBP | - | 0.0150 | 0.0150 | form_only |
| predicted_HR | 0.1190 | 0.0920 | 0.1114 | model_form_blend |
| predicted_OBP | 0.3180 | 0.2858 | 0.3089 | model_form_blend |
| predicted_R | 0.3570 | 0.3910 | 0.3666 | model_form_blend |
| predicted_RBI | 0.2380 | 0.2820 | 0.2504 | model_form_blend |
| predicted_SLG | 0.5240 | 0.3701 | 0.4807 | model_form_blend |
| predicted_SO | 0.4760 | 0.6520 | 0.5255 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 13 |
| Season rows before report date | 13 |
| Report year | 2026 |
| Profile rows used | 10 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.286 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260812_KC@LAD |
| game_type | short |
| mlbID | 571771 |
| playerID | 571771 |
| playerName | Enrique Hernández |
| pos | 1B |
| started | False |
| startingPosition | 1B |
| team | LAD |
| teamID | 14 |
| game_date | 2026-08-12 |
| sl_k_percent | 18.2 |
| sl_bb_percent | 4.5 |
| sl_woba | 0.361 |
| sl_xwoba | 0.309 |
| sl_xba | 0.251 |
| sl_xslg | 0.426 |
| sl_sweet_spot_percent | 17.6 |
| sl_barrel_batted_rate | 11.8 |
| sl_hard_hit_percent | 41.2 |
| sl_exit_velocity_avg | 89.5 |
| sl_launch_angle_avg | 13.6 |
| sl_whiff_percent | 18.0 |
| sl_swing_percent | 59.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.231 | 1.000 | 0.000 | Hitting_2B | 0.252 | 0.000 | 0.748 | 1.000 |
| predicted_3B | 0.009 | 0.000 | 0.000 | Hitting_3B | 0.009 | 0.000 | -0.009 | 0.000 |
| predicted_AB | 3.769 | 5.000 | 4.000 | Hitting_AB | 3.808 | 2.000 | 1.192 | 3.000 |
| predicted_AVG | 0.296 | 0.200 | 0.250 | Hitting_AVG | 0.295 | 0.500 | -0.095 | -0.300 |
| predicted_BB | 0.453 | 0.000 | 0.000 | Hitting_BB | 0.536 | 1.000 | -0.536 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Hitting_H | 1.125 | 1.000 | -0.125 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.143 | 0.000 | -0.143 | 0.000 |
| predicted_OBP | 0.347 | 0.200 | 0.250 | Hitting_OBP | 0.385 | 0.667 | -0.185 | -0.467 |
| predicted_R | 0.496 | 1.000 | 0.000 | Hitting_R | 0.565 | 0.000 | 0.435 | 1.000 |
| predicted_RBI | 0.360 | 2.000 | 0.000 | Hitting_RBI | 0.527 | 0.000 | 1.473 | 2.000 |
| predicted_SLG | 0.406 | 0.400 | 0.250 | Hitting_SLG | 0.479 | 0.500 | -0.079 | -0.100 |
| predicted_SO | 0.684 | 1.000 | 1.000 | Hitting_SO | 0.719 | 1.000 | 0.281 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 4 |
| Better Metrics | 4 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_RBI: 0.3600 -> 2.0000 (boost 1.6400, better) |
| Biggest Deboost | predicted_BB: 0.4530 -> 0.0000 (deboost -0.4530, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3470 -> 0.3522 (boost 0.0052, better) | predicted_R: 0.4960 -> 0.4375 (deboost -0.0585, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.2926 -> 0.2731 (deboost -0.0195, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_SO: 0.6877 -> 1.0000 (boost 0.3123, worse) | predicted_BB: 0.4327 -> 0.0000 (deboost -0.4327, worse) | AB rounded to 4 (raw=3.77), rates preserved: AVG=0.271 HR/AB=0.018 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4328 -> 0.0000 (deboost -0.4328, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3824 -> 0.2500 (deboost -0.1324, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 4 | 0 | 4 | 0 | predicted_RBI: 0.0000 -> 2.0000 (boost 2.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.3824 (boost 0.1324, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "518692",
"player_name": "Freddie Freeman",
"position": "1B",
"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": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.231,
"predicted_3B": 0.009,
"predicted_AB": 3.769,
"predicted_AVG": 0.296,
"predicted_BB": 0.453,
"predicted_H": 1.0,
"predicted_HR": 0.06,
"predicted_OBP": 0.347,
"predicted_R": 0.496,
"predicted_RBI": 0.36,
"predicted_SLG": 0.406,
"predicted_SO": 0.684
},
"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": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1907,
"predicted_3B": 0.0077,
"predicted_AB": 3.7339,
"predicted_AVG": 0.2926,
"predicted_BB": 0.4309,
"predicted_H": 1.0273,
"predicted_HBP": 0.016,
"predicted_HR": 0.0678,
"predicted_OBP": 0.3522,
"predicted_R": 0.4375,
"predicted_RBI": 0.3877,
"predicted_SLG": 0.4001,
"predicted_SO": 0.6905
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.231,
"after": 0.1907,
"delta": -0.0403,
"percent_delta": -0.1745,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.009,
"after": 0.0077,
"delta": -0.0013,
"percent_delta": -0.1444,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.769,
"after": 3.7339,
"delta": -0.0351,
"percent_delta": -0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.296,
"after": 0.2926,
"delta": -0.0034,
"percent_delta": -0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.453,
"after": 0.4309,
"delta": -0.0221,
"percent_delta": -0.0488,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0273,
"delta": 0.0273,
"percent_delta": 0.0273,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0678,
"delta": 0.0078,
"percent_delta": 0.13,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.347,
"after": 0.3522,
"delta": 0.0052,
"percent_delta": 0.015,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.496,
"after": 0.4375,
"delta": -0.0585,
"percent_delta": -0.1179,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.3877,
"delta": 0.0277,
"percent_delta": 0.0769,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.406,
"after": 0.4001,
"delta": -0.0059,
"percent_delta": -0.0145,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.684,
"after": 0.6905,
"delta": 0.0065,
"percent_delta": 0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.347,
"after": 0.3522,
"delta": 0.0052,
"percent_delta": 0.015,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.496,
"after": 0.4375,
"delta": -0.0585,
"percent_delta": -0.1179,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 117
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1907,
"predicted_3B": 0.0077,
"predicted_AB": 3.7339,
"predicted_AVG": 0.2731,
"predicted_BB": 0.4327,
"predicted_H": 1.0197,
"predicted_HBP": 0.016,
"predicted_HR": 0.0674,
"predicted_OBP": 0.3486,
"predicted_R": 0.4328,
"predicted_RBI": 0.3835,
"predicted_SLG": 0.3824,
"predicted_SO": 0.6877
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1907,
"after": 0.1907,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0077,
"after": 0.0077,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7339,
"after": 3.7339,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2926,
"after": 0.2731,
"delta": -0.0195,
"percent_delta": -0.0666,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4309,
"after": 0.4327,
"delta": 0.0018,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0273,
"after": 1.0197,
"delta": -0.0076,
"percent_delta": -0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.016,
"after": 0.016,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0678,
"after": 0.0674,
"delta": -0.0004,
"percent_delta": -0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3522,
"after": 0.3486,
"delta": -0.0036,
"percent_delta": -0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4375,
"after": 0.4328,
"delta": -0.0047,
"percent_delta": -0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3877,
"after": 0.3835,
"delta": -0.0042,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4001,
"after": 0.3824,
"delta": -0.0177,
"percent_delta": -0.0442,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6905,
"after": 0.6877,
"delta": -0.0028,
"percent_delta": -0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2926,
"after": 0.2731,
"delta": -0.0195,
"percent_delta": -0.0666,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.77), rates preserved: AVG=0.271 HR/AB=0.018",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1907,
"after": 0.0,
"delta": -0.1907,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0077,
"after": 0.0,
"delta": -0.0077,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7339,
"after": 4.0,
"delta": 0.2661,
"percent_delta": 0.0713,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4327,
"after": 0.0,
"delta": -0.4327,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0197,
"after": 1.0,
"delta": -0.0197,
"percent_delta": -0.0193,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.016,
"after": 0.0,
"delta": -0.016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0674,
"after": 0.0,
"delta": -0.0674,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3835,
"after": 0.0,
"delta": -0.3835,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6877,
"after": 1.0,
"delta": 0.3123,
"percent_delta": 0.4541,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.6877,
"after": 1.0,
"delta": 0.3123,
"percent_delta": 0.4541,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4327,
"after": 0.0,
"delta": -0.4327,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.4328,
"after": 0.0,
"delta": -0.4328,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4328,
"after": 0.0,
"delta": -0.4328,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2731,
"after": 0.25,
"delta": -0.0231,
"percent_delta": -0.0846,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_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_OBP",
"before": 0.3486,
"after": 0.25,
"delta": -0.0986,
"percent_delta": -0.2828,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3824,
"after": 0.25,
"delta": -0.1324,
"percent_delta": -0.3462,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3824,
"after": 0.25,
"delta": -0.1324,
"percent_delta": -0.3462,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_CS",
"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_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2731,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3486,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3824,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2731,
"delta": 0.0231,
"percent_delta": 0.0924,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_CS",
"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_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_OBP",
"before": 0.25,
"after": 0.3486,
"delta": 0.0986,
"percent_delta": 0.3943,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3824,
"delta": 0.1324,
"percent_delta": 0.5297,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3824,
"delta": 0.1324,
"percent_delta": 0.5297,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.231,
"after": 1.0,
"delta": 0.769,
"percent_delta": 3.329,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.009,
"after": 0.0,
"delta": -0.009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.769,
"after": 5.0,
"delta": 1.231,
"percent_delta": 0.3266,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.296,
"after": 0.2731,
"delta": -0.0229,
"percent_delta": -0.0774,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.453,
"after": 0.0,
"delta": -0.453,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.347,
"after": 0.3486,
"delta": 0.0016,
"percent_delta": 0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.496,
"after": 1.0,
"delta": 0.504,
"percent_delta": 1.0161,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 2.0,
"delta": 1.64,
"percent_delta": 4.5556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.406,
"after": 0.3824,
"delta": -0.0236,
"percent_delta": -0.0581,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.684,
"after": 1.0,
"delta": 0.316,
"percent_delta": 0.462,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 5,
"deboosted_metrics": 4,
"better_metrics": 4,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.36,
"after": 2.0,
"delta": 1.64,
"percent_delta": 4.5556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.453,
"after": 0.0,
"delta": -0.453,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.231 | - |
| predicted_3B | 0.009 | - |
| predicted_AB | 3.769 | - |
| predicted_AVG | 0.296 | - |
| predicted_BB | 0.453 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.347 | - |
| predicted_R | 0.496 | - |
| predicted_RBI | 0.360 | - |
| predicted_SLG | 0.406 | - |
| predicted_SO | 0.684 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.191 | -0.040 |
| predicted_3B | 0.008 | -0.001 |
| predicted_AB | 3.734 | -0.035 |
| predicted_AVG | 0.293 | -0.003 |
| predicted_BB | 0.431 | -0.022 |
| predicted_H | 1.027 | 0.027 |
| predicted_HBP | 0.016 | - |
| predicted_HR | 0.068 | 0.008 |
| predicted_OBP | 0.352 | 0.005 |
| predicted_R | 0.438 | -0.058 |
| predicted_RBI | 0.388 | 0.028 |
| predicted_SLG | 0.400 | -0.006 |
| predicted_SO | 0.691 | 0.006 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.191 | 0.000 |
| predicted_3B | 0.008 | 0.000 |
| predicted_AB | 3.734 | 0.000 |
| predicted_AVG | 0.273 | -0.020 |
| predicted_BB | 0.433 | 0.002 |
| predicted_H | 1.020 | -0.008 |
| predicted_HBP | 0.016 | 0.000 |
| predicted_HR | 0.067 | -0.000 |
| predicted_OBP | 0.349 | -0.004 |
| predicted_R | 0.433 | -0.005 |
| predicted_RBI | 0.384 | -0.004 |
| predicted_SLG | 0.382 | -0.018 |
| predicted_SO | 0.688 | -0.003 |
AB rounded to 4 (raw=3.77), rates preserved: AVG=0.271 HR/AB=0.018
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.191 |
| predicted_3B | 0.000 | -0.008 |
| predicted_AB | 4.000 | 0.266 |
| predicted_AVG | 0.250 | -0.023 |
| predicted_BB | 0.000 | -0.433 |
| predicted_H | 1.000 | -0.020 |
| predicted_HR | 0.000 | -0.067 |
| predicted_OBP | 0.250 | -0.099 |
| predicted_R | 0.000 | -0.433 |
| predicted_RBI | 0.000 | -0.384 |
| predicted_SLG | 0.250 | -0.132 |
| predicted_SO | 1.000 | 0.312 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 1.000 |
| RBI | 2.000 | 2.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 5.000 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 2.000 | 4.000 | 0.2778 | 0.3500 | 0.2778 | 0.2778 | 0.0000 | 0.1111 | 0.1111 | 0.2222 |
| last_10 | 0.20 | 10 | - | 35.000 | 9.000 | 0.000 | 0.000 | 0.000 | 3.000 | 1.000 | 3.000 | 6.000 | 0.2571 | 0.3158 | 0.2571 | 0.2571 | 0.0000 | 0.0857 | 0.0857 | 0.1714 |
| season | 0.60 | 117 | - | 441.000 | 135.000 | 27.000 | 1.000 | 15.000 | 55.000 | 58.000 | 53.000 | 80.000 | 0.3061 | 0.3820 | 0.4739 | 0.3061 | 0.0340 | 0.1247 | 0.1202 | 0.1814 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1380 |
| predicted_3B | 0.0060 |
| predicted_AB | 3.6880 |
| predicted_AVG | 0.2882 |
| predicted_BB | 0.4020 |
| predicted_H | 1.0630 |
| predicted_HBP | 0.0160 |
| predicted_HR | 0.0780 |
| predicted_OBP | 0.3591 |
| predicted_R | 0.3610 |
| predicted_RBI | 0.4240 |
| predicted_SLG | 0.3923 |
| predicted_SO | 0.6990 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2310 | 0.1380 | 0.1907 | model_form_blend |
| predicted_3B | 0.0090 | 0.0060 | 0.0077 | model_form_blend |
| predicted_AB | 3.7690 | 3.6880 | 3.7339 | model_form_blend |
| predicted_AVG | 0.2960 | 0.2882 | 0.2926 | model_form_blend |
| predicted_BB | 0.4530 | 0.4020 | 0.4309 | model_form_blend |
| predicted_H | 1.0000 | 1.0630 | 1.0273 | model_form_blend |
| predicted_HBP | - | 0.0160 | 0.0160 | form_only |
| predicted_HR | 0.0600 | 0.0780 | 0.0678 | model_form_blend |
| predicted_OBP | 0.3470 | 0.3591 | 0.3522 | model_form_blend |
| predicted_R | 0.4960 | 0.3610 | 0.4375 | model_form_blend |
| predicted_RBI | 0.3600 | 0.4240 | 0.3877 | model_form_blend |
| predicted_SLG | 0.4060 | 0.3923 | 0.4001 | model_form_blend |
| predicted_SO | 0.6840 | 0.6990 | 0.6905 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 448 |
| Season rows before report date | 448 |
| Report year | 2026 |
| Profile rows used | 117 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.306 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260812_KC@LAD |
| game_type | full |
| mlbID | 518692 |
| playerID | 518692 |
| playerName | Freddie Freeman |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | LAD |
| teamID | 14 |
| game_date | 2026-08-12 |
| sl_k_percent | 16.1 |
| sl_bb_percent | 10.4 |
| sl_woba | 0.37 |
| sl_xwoba | 0.377 |
| sl_xba | 0.3 |
| sl_xslg | 0.489 |
| sl_sweet_spot_percent | 37.7 |
| sl_barrel_batted_rate | 9.0 |
| sl_hard_hit_percent | 42.9 |
| sl_exit_velocity_avg | 89.8 |
| sl_launch_angle_avg | 12.1 |
| sl_whiff_percent | 21.9 |
| sl_swing_percent | 50.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.146 | 0.000 | 0.000 | Hitting_2B | 0.186 | 0.000 | -0.186 | 0.000 |
| predicted_3B | 0.049 | 0.000 | 0.000 | Hitting_3B | 0.076 | 0.000 | -0.076 | 0.000 |
| predicted_AB | 3.537 | 5.000 | 4.000 | Hitting_AB | 3.500 | 1.000 | 1.500 | 4.000 |
| predicted_AVG | 0.186 | 0.200 | 0.250 | Hitting_AVG | 0.341 | 0.000 | -0.141 | 0.200 |
| predicted_BB | 0.220 | 0.000 | 0.000 | Hitting_BB | 0.297 | 0.000 | -0.297 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_H | 0.250 | 1.000 | 1.000 | Hitting_H | 1.195 | 0.000 | -0.195 | 1.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.110 | 0.000 | -0.110 | 0.000 |
| predicted_OBP | 0.218 | 0.200 | 0.250 | Hitting_OBP | 0.413 | 0.000 | -0.213 | 0.200 |
| predicted_R | 0.439 | 0.000 | 0.000 | Hitting_R | 0.542 | 0.000 | -0.542 | 0.000 |
| predicted_RBI | 0.190 | 0.000 | 0.000 | Hitting_RBI | 0.661 | 0.000 | -0.661 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.085 | 0.000 | -0.085 | 0.000 |
| predicted_SLG | 0.302 | 0.200 | 0.250 | Hitting_SLG | 0.533 | 0.000 | -0.333 | 0.200 |
| predicted_SO | 0.780 | 2.000 | 1.000 | Hitting_SO | 0.686 | 0.000 | 1.314 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AB: 3.5370 -> 5.0000 (boost 1.4630, better) |
| Biggest Deboost | predicted_R: 0.4390 -> 0.0000 (deboost -0.4390, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 5 | 0 | 5 | 0 | predicted_H: 0.2500 -> 0.4702 (boost 0.2202, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3123 -> 0.2399 (deboost -0.0724, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 3 | 5 | 2 | 6 | predicted_H: 0.4667 -> 1.0000 (boost 0.5333, better) | predicted_RBI: 0.2666 -> 0.0000 (deboost -0.2666, worse) | AB rounded to 4 (raw=3.56), rates preserved: AVG=0.131 HR/AB=0.017 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4060 -> 0.0000 (deboost -0.4060, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1312 -> 0.2500 (boost 0.1188, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 2 | 0 | 1 | 1 | predicted_AB: 4.0000 -> 5.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2500 -> 0.1312 (deboost -0.1188, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669242",
"player_name": "Tommy Edman",
"position": "2B",
"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": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.146,
"predicted_3B": 0.049,
"predicted_AB": 3.537,
"predicted_AVG": 0.186,
"predicted_BB": 0.22,
"predicted_H": 0.25,
"predicted_HR": 0.05,
"predicted_OBP": 0.218,
"predicted_R": 0.439,
"predicted_RBI": 0.19,
"predicted_SLG": 0.302,
"predicted_SO": 0.78
},
"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": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1283,
"predicted_3B": 0.0401,
"predicted_AB": 3.556,
"predicted_AVG": 0.2006,
"predicted_BB": 0.1926,
"predicted_H": 0.4702,
"predicted_HBP": 0.055,
"predicted_HR": 0.0597,
"predicted_OBP": 0.2356,
"predicted_R": 0.4104,
"predicted_RBI": 0.2695,
"predicted_SLG": 0.3123,
"predicted_SO": 0.759
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.146,
"after": 0.1283,
"delta": -0.0177,
"percent_delta": -0.1212,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.049,
"after": 0.0401,
"delta": -0.0089,
"percent_delta": -0.1816,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.537,
"after": 3.556,
"delta": 0.019,
"percent_delta": 0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.186,
"after": 0.2006,
"delta": 0.0146,
"percent_delta": 0.0785,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.22,
"after": 0.1926,
"delta": -0.0274,
"percent_delta": -0.1245,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.25,
"after": 0.4702,
"delta": 0.2202,
"percent_delta": 0.8808,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0597,
"delta": 0.0097,
"percent_delta": 0.194,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.218,
"after": 0.2356,
"delta": 0.0176,
"percent_delta": 0.0807,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.439,
"after": 0.4104,
"delta": -0.0286,
"percent_delta": -0.0651,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.19,
"after": 0.2695,
"delta": 0.0795,
"percent_delta": 0.4184,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.302,
"after": 0.3123,
"delta": 0.0103,
"percent_delta": 0.0341,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.78,
"after": 0.759,
"delta": -0.021,
"percent_delta": -0.0269,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.25,
"after": 0.4702,
"delta": 0.2202,
"percent_delta": 0.8808,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 41
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1283,
"predicted_3B": 0.0401,
"predicted_AB": 3.556,
"predicted_AVG": 0.1312,
"predicted_BB": 0.1934,
"predicted_H": 0.4667,
"predicted_HBP": 0.055,
"predicted_HR": 0.0593,
"predicted_OBP": 0.1761,
"predicted_R": 0.406,
"predicted_RBI": 0.2666,
"predicted_SLG": 0.2399,
"predicted_SO": 0.7559
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1283,
"after": 0.1283,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0401,
"after": 0.0401,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.556,
"after": 3.556,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2006,
"after": 0.1312,
"delta": -0.0694,
"percent_delta": -0.346,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1926,
"after": 0.1934,
"delta": 0.0008,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4702,
"after": 0.4667,
"delta": -0.0035,
"percent_delta": -0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.055,
"after": 0.055,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0597,
"after": 0.0593,
"delta": -0.0004,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2356,
"after": 0.1761,
"delta": -0.0595,
"percent_delta": -0.2525,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4104,
"after": 0.406,
"delta": -0.0044,
"percent_delta": -0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2695,
"after": 0.2666,
"delta": -0.0029,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3123,
"after": 0.2399,
"delta": -0.0724,
"percent_delta": -0.2318,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.759,
"after": 0.7559,
"delta": -0.0031,
"percent_delta": -0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3123,
"after": 0.2399,
"delta": -0.0724,
"percent_delta": -0.2318,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.56), rates preserved: AVG=0.131 HR/AB=0.017",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1283,
"after": 0.0,
"delta": -0.1283,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0401,
"after": 0.0,
"delta": -0.0401,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.556,
"after": 4.0,
"delta": 0.444,
"percent_delta": 0.1249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1934,
"after": 0.0,
"delta": -0.1934,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4667,
"after": 1.0,
"delta": 0.5333,
"percent_delta": 1.1427,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.055,
"after": 0.0,
"delta": -0.055,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0593,
"after": 0.0,
"delta": -0.0593,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2666,
"after": 0.0,
"delta": -0.2666,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7559,
"after": 1.0,
"delta": 0.2441,
"percent_delta": 0.3229,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.4667,
"after": 1.0,
"delta": 0.5333,
"percent_delta": 1.1427,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2666,
"after": 0.0,
"delta": -0.2666,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.406,
"after": 0.0,
"delta": -0.406,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.406,
"after": 0.0,
"delta": -0.406,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1312,
"after": 0.25,
"delta": 0.1188,
"percent_delta": 0.9055,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_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_OBP",
"before": 0.1761,
"after": 0.25,
"delta": 0.0739,
"percent_delta": 0.4196,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2399,
"after": 0.25,
"delta": 0.0101,
"percent_delta": 0.0421,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.1312,
"after": 0.25,
"delta": 0.1188,
"percent_delta": 0.9055,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_CS",
"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_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.1312,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.1761,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2399,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1312,
"delta": -0.1188,
"percent_delta": -0.475,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_CS",
"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_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_OBP",
"before": 0.25,
"after": 0.1761,
"delta": -0.0739,
"percent_delta": -0.2958,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.2399,
"delta": -0.0101,
"percent_delta": -0.0402,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.1312,
"delta": -0.1188,
"percent_delta": -0.475,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.146,
"after": 0.0,
"delta": -0.146,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.049,
"after": 0.0,
"delta": -0.049,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.537,
"after": 5.0,
"delta": 1.463,
"percent_delta": 0.4136,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.186,
"after": 0.1312,
"delta": -0.0548,
"percent_delta": -0.2946,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.22,
"after": 0.0,
"delta": -0.22,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.25,
"after": 1.0,
"delta": 0.75,
"percent_delta": 3.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0,
"delta": -0.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.218,
"after": 0.1761,
"delta": -0.0419,
"percent_delta": -0.1922,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.439,
"after": 0.0,
"delta": -0.439,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.19,
"after": 0.0,
"delta": -0.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.302,
"after": 0.2399,
"delta": -0.0621,
"percent_delta": -0.2056,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.78,
"after": 2.0,
"delta": 1.22,
"percent_delta": 1.5641,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.537,
"after": 5.0,
"delta": 1.463,
"percent_delta": 0.4136,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.439,
"after": 0.0,
"delta": -0.439,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.146 | - |
| predicted_3B | 0.049 | - |
| predicted_AB | 3.537 | - |
| predicted_AVG | 0.186 | - |
| predicted_BB | 0.220 | - |
| predicted_H | 0.250 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.218 | - |
| predicted_R | 0.439 | - |
| predicted_RBI | 0.190 | - |
| predicted_SLG | 0.302 | - |
| predicted_SO | 0.780 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.128 | -0.018 |
| predicted_3B | 0.040 | -0.009 |
| predicted_AB | 3.556 | 0.019 |
| predicted_AVG | 0.201 | 0.015 |
| predicted_BB | 0.193 | -0.027 |
| predicted_H | 0.470 | 0.220 |
| predicted_HBP | 0.055 | - |
| predicted_HR | 0.060 | 0.010 |
| predicted_OBP | 0.236 | 0.018 |
| predicted_R | 0.410 | -0.029 |
| predicted_RBI | 0.270 | 0.080 |
| predicted_SLG | 0.312 | 0.010 |
| predicted_SO | 0.759 | -0.021 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.128 | 0.000 |
| predicted_3B | 0.040 | 0.000 |
| predicted_AB | 3.556 | 0.000 |
| predicted_AVG | 0.131 | -0.069 |
| predicted_BB | 0.193 | 0.001 |
| predicted_H | 0.467 | -0.004 |
| predicted_HBP | 0.055 | 0.000 |
| predicted_HR | 0.059 | -0.000 |
| predicted_OBP | 0.176 | -0.059 |
| predicted_R | 0.406 | -0.004 |
| predicted_RBI | 0.267 | -0.003 |
| predicted_SLG | 0.240 | -0.072 |
| predicted_SO | 0.756 | -0.003 |
AB rounded to 4 (raw=3.56), rates preserved: AVG=0.131 HR/AB=0.017
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.128 |
| predicted_3B | 0.000 | -0.040 |
| predicted_AB | 4.000 | 0.444 |
| predicted_AVG | 0.250 | 0.119 |
| predicted_BB | 0.000 | -0.193 |
| predicted_H | 1.000 | 0.533 |
| predicted_HR | 0.000 | -0.059 |
| predicted_OBP | 0.250 | 0.074 |
| predicted_R | 0.000 | -0.406 |
| predicted_RBI | 0.000 | -0.267 |
| predicted_SLG | 0.250 | 0.010 |
| predicted_SO | 1.000 | 0.244 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 2.000 | 0.1176 | 0.1176 | 0.1176 | 0.1177 | 0.0000 | 0.0000 | 0.0000 | 0.1177 |
| last_10 | 0.20 | 10 | - | 37.000 | 6.000 | 0.000 | 0.000 | 1.000 | 4.000 | 2.000 | 0.000 | 8.000 | 0.1622 | 0.1622 | 0.2432 | 0.1622 | 0.0270 | 0.1081 | 0.0000 | 0.2162 |
| season | 0.60 | 41 | - | 145.000 | 39.000 | 6.000 | 2.000 | 3.000 | 20.000 | 18.000 | 9.000 | 32.000 | 0.2690 | 0.3291 | 0.4000 | 0.2690 | 0.0207 | 0.1379 | 0.0621 | 0.2207 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1020 |
| predicted_3B | 0.0270 |
| predicted_AB | 3.5840 |
| predicted_AVG | 0.2222 |
| predicted_BB | 0.1520 |
| predicted_H | 0.7960 |
| predicted_HBP | 0.0550 |
| predicted_HR | 0.0740 |
| predicted_OBP | 0.2617 |
| predicted_R | 0.3680 |
| predicted_RBI | 0.3870 |
| predicted_SLG | 0.3276 |
| predicted_SO | 0.7280 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1460 | 0.1020 | 0.1283 | model_form_blend |
| predicted_3B | 0.0490 | 0.0270 | 0.0401 | model_form_blend |
| predicted_AB | 3.5370 | 3.5840 | 3.5560 | model_form_blend |
| predicted_AVG | 0.1860 | 0.2222 | 0.2006 | model_form_blend |
| predicted_BB | 0.2200 | 0.1520 | 0.1926 | model_form_blend |
| predicted_H | 0.2500 | 0.7960 | 0.4702 | model_form_blend |
| predicted_HBP | - | 0.0550 | 0.0550 | form_only |
| predicted_HR | 0.0500 | 0.0740 | 0.0597 | model_form_blend |
| predicted_OBP | 0.2180 | 0.2617 | 0.2356 | model_form_blend |
| predicted_R | 0.4390 | 0.3680 | 0.4104 | model_form_blend |
| predicted_RBI | 0.1900 | 0.3870 | 0.2695 | model_form_blend |
| predicted_SLG | 0.3020 | 0.3276 | 0.3123 | model_form_blend |
| predicted_SO | 0.7800 | 0.7280 | 0.7590 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 118 |
| Season rows before report date | 118 |
| Report year | 2026 |
| Profile rows used | 41 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.269 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-2B |
| gameID | 20260812_KC@LAD |
| game_type | ph |
| mlbID | 669242 |
| note | Flied out for Freeman, F in the 8th. |
| playerID | 669242 |
| playerName | Tommy Edman |
| pos | 2B |
| started | False |
| startingPosition | PH |
| team | LAD |
| teamID | 14 |
| game_date | 2026-08-12 |
| sl_k_percent | 20.0 |
| sl_bb_percent | 6.1 |
| sl_woba | 0.332 |
| sl_xwoba | 0.321 |
| sl_xba | 0.272 |
| sl_xslg | 0.381 |
| sl_sweet_spot_percent | 29.1 |
| sl_barrel_batted_rate | 6.0 |
| sl_hard_hit_percent | 36.8 |
| sl_exit_velocity_avg | 88.7 |
| sl_launch_angle_avg | 11.8 |
| sl_whiff_percent | 20.8 |
| sl_swing_percent | 48.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.000 | 0.000 | 0.000 | Hitting_2B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.500 | 4.000 | 3.000 | Hitting_AB | 1.200 | 2.000 | 2.800 | 2.000 |
| predicted_AVG | 0.281 | 0.250 | 0.333 | Hitting_AVG | 0.167 | 0.000 | 0.083 | 0.250 |
| predicted_BB | 0.000 | 0.000 | 0.000 | Hitting_BB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.350 | 1.000 | 1.000 | Hitting_H | 0.200 | 0.000 | 0.800 | 1.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.281 | 0.250 | 0.333 | Hitting_OBP | 0.167 | 0.000 | 0.083 | 0.250 |
| predicted_R | 0.000 | 0.000 | 0.000 | Hitting_R | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_RBI | 0.110 | 0.000 | 0.000 | Hitting_RBI | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.332 | 0.250 | 0.333 | Hitting_SLG | 0.167 | 0.000 | 0.083 | 0.250 |
| predicted_SO | 0.833 | 1.000 | 1.000 | Hitting_SO | 0.400 | 2.000 | 0.600 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 8 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 5 |
| Better Metrics | 2 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_AB: 2.5000 -> 4.0000 (boost 1.5000, better) |
| Biggest Deboost | predicted_AVG: 0.2810 -> 0.1640 (deboost -0.1170, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 5 | 1 | 5 | 1 | predicted_AB: 2.5000 -> 2.7067 (boost 0.2067, better) | predicted_AVG: 0.2810 -> 0.2714 (deboost -0.0096, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2714 -> 0.1640 (deboost -0.1074, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 5 | 2 | 3 | 1 | 4 | predicted_AB: 2.7067 -> 3.0000 (boost 0.2933, better) | predicted_H: 0.4438 -> 0.0000 (deboost -0.4438, worse) | AB rounded to 3 (raw=2.71), rates preserved: AVG=0.164 HR/AB=0.022 |
| 5 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.0783 -> 0.0000 (deboost -0.0783, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1640 -> 0.3330 (boost 0.1690, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 1 | 1 | 0 | 1 | 0 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1640 (deboost -0.1690, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "666163",
"player_name": "Ben Rortvedt",
"position": "C",
"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": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.281,
"predicted_BB": 0.0,
"predicted_H": 0.35,
"predicted_HR": 0.05,
"predicted_OBP": 0.281,
"predicted_R": 0.0,
"predicted_RBI": 0.11,
"predicted_SLG": 0.332,
"predicted_SO": 0.833
},
"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": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0285,
"predicted_3B": 0.0025,
"predicted_AB": 2.7067,
"predicted_AVG": 0.2714,
"predicted_BB": 0.0419,
"predicted_H": 0.4471,
"predicted_HBP": 0.025,
"predicted_HR": 0.0607,
"predicted_OBP": 0.2813,
"predicted_R": 0.0792,
"predicted_RBI": 0.1636,
"predicted_SLG": 0.3395,
"predicted_SO": 0.8357
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0285,
"delta": 0.0285,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0025,
"delta": 0.0025,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.7067,
"delta": 0.2067,
"percent_delta": 0.0827,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.281,
"after": 0.2714,
"delta": -0.0096,
"percent_delta": -0.0342,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0419,
"delta": 0.0419,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.35,
"after": 0.4471,
"delta": 0.0971,
"percent_delta": 0.2774,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0607,
"delta": 0.0107,
"percent_delta": 0.214,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.281,
"after": 0.2813,
"delta": 0.0003,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0792,
"delta": 0.0792,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.11,
"after": 0.1636,
"delta": 0.0536,
"percent_delta": 0.4873,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.332,
"after": 0.3395,
"delta": 0.0075,
"percent_delta": 0.0226,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.833,
"after": 0.8357,
"delta": 0.0027,
"percent_delta": 0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 5,
"deboosted_metrics": 1,
"better_metrics": 5,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 2.7067,
"delta": 0.2067,
"percent_delta": 0.0827,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.281,
"after": 0.2714,
"delta": -0.0096,
"percent_delta": -0.0342,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 3,
"last_10": 3,
"season": 3
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0285,
"predicted_3B": 0.0025,
"predicted_AB": 2.7067,
"predicted_AVG": 0.164,
"predicted_BB": 0.0421,
"predicted_H": 0.4438,
"predicted_HBP": 0.025,
"predicted_HR": 0.0603,
"predicted_OBP": 0.1768,
"predicted_R": 0.0783,
"predicted_RBI": 0.1618,
"predicted_SLG": 0.2432,
"predicted_SO": 0.8323
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0285,
"after": 0.0285,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0025,
"after": 0.0025,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.7067,
"after": 2.7067,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2714,
"after": 0.164,
"delta": -0.1074,
"percent_delta": -0.3957,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0419,
"after": 0.0421,
"delta": 0.0002,
"percent_delta": 0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4471,
"after": 0.4438,
"delta": -0.0033,
"percent_delta": -0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.025,
"after": 0.025,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0607,
"after": 0.0603,
"delta": -0.0004,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2813,
"after": 0.1768,
"delta": -0.1045,
"percent_delta": -0.3715,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0792,
"after": 0.0783,
"delta": -0.0009,
"percent_delta": -0.0114,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1636,
"after": 0.1618,
"delta": -0.0018,
"percent_delta": -0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3395,
"after": 0.2432,
"delta": -0.0963,
"percent_delta": -0.2837,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8357,
"after": 0.8323,
"delta": -0.0034,
"percent_delta": -0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2714,
"after": 0.164,
"delta": -0.1074,
"percent_delta": -0.3957,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.71), rates preserved: AVG=0.164 HR/AB=0.022",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0285,
"after": 0.0,
"delta": -0.0285,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0025,
"after": 0.0,
"delta": -0.0025,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.7067,
"after": 3.0,
"delta": 0.2933,
"percent_delta": 0.1084,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0421,
"after": 0.0,
"delta": -0.0421,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4438,
"after": 0.0,
"delta": -0.4438,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.025,
"after": 0.0,
"delta": -0.025,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0603,
"after": 0.0,
"delta": -0.0603,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.1618,
"after": 0.0,
"delta": -0.1618,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8323,
"after": 1.0,
"delta": 0.1677,
"percent_delta": 0.2015,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.7067,
"after": 3.0,
"delta": 0.2933,
"percent_delta": 0.1084,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.4438,
"after": 0.0,
"delta": -0.4438,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.0783,
"after": 0.0,
"delta": -0.0783,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.0783,
"after": 0.0,
"delta": -0.0783,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.164,
"after": 0.333,
"delta": 0.169,
"percent_delta": 1.0305,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_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_OBP",
"before": 0.1768,
"after": 0.333,
"delta": 0.1562,
"percent_delta": 0.8835,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2432,
"after": 0.333,
"delta": 0.0898,
"percent_delta": 0.3692,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.164,
"after": 0.333,
"delta": 0.169,
"percent_delta": 1.0305,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_CS",
"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_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.164,
"predicted_BB": 0.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.1768,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2432,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.164,
"delta": -0.169,
"percent_delta": -0.5076,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_CS",
"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_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_OBP",
"before": 0.333,
"after": 0.1768,
"delta": -0.1562,
"percent_delta": -0.4692,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.2432,
"delta": -0.0898,
"percent_delta": -0.2697,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.164,
"delta": -0.169,
"percent_delta": -0.5076,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.281,
"after": 0.164,
"delta": -0.117,
"percent_delta": -0.4164,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_H",
"before": 0.35,
"after": 1.0,
"delta": 0.65,
"percent_delta": 1.8571,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0,
"delta": -0.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.281,
"after": 0.1768,
"delta": -0.1042,
"percent_delta": -0.3708,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.332,
"after": 0.2432,
"delta": -0.0888,
"percent_delta": -0.2675,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.833,
"after": 1.0,
"delta": 0.167,
"percent_delta": 0.2005,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.281,
"after": 0.164,
"delta": -0.117,
"percent_delta": -0.4164,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.281 | - |
| predicted_BB | 0.000 | - |
| predicted_H | 0.350 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.281 | - |
| predicted_R | 0.000 | - |
| predicted_RBI | 0.110 | - |
| predicted_SLG | 0.332 | - |
| predicted_SO | 0.833 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.029 | 0.029 |
| predicted_3B | 0.003 | 0.003 |
| predicted_AB | 2.707 | 0.207 |
| predicted_AVG | 0.271 | -0.010 |
| predicted_BB | 0.042 | 0.042 |
| predicted_H | 0.447 | 0.097 |
| predicted_HBP | 0.025 | - |
| predicted_HR | 0.061 | 0.011 |
| predicted_OBP | 0.281 | 0.000 |
| predicted_R | 0.079 | 0.079 |
| predicted_RBI | 0.164 | 0.054 |
| predicted_SLG | 0.340 | 0.008 |
| predicted_SO | 0.836 | 0.003 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.029 | 0.000 |
| predicted_3B | 0.003 | 0.000 |
| predicted_AB | 2.707 | 0.000 |
| predicted_AVG | 0.164 | -0.107 |
| predicted_BB | 0.042 | 0.000 |
| predicted_H | 0.444 | -0.003 |
| predicted_HBP | 0.025 | 0.000 |
| predicted_HR | 0.060 | -0.000 |
| predicted_OBP | 0.177 | -0.104 |
| predicted_R | 0.078 | -0.001 |
| predicted_RBI | 0.162 | -0.002 |
| predicted_SLG | 0.243 | -0.096 |
| predicted_SO | 0.832 | -0.003 |
AB rounded to 3 (raw=2.71), rates preserved: AVG=0.164 HR/AB=0.022
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.029 |
| predicted_3B | 0.000 | -0.003 |
| predicted_AB | 3.000 | 0.293 |
| predicted_AVG | 0.333 | 0.169 |
| predicted_BB | 0.000 | -0.042 |
| predicted_H | 1.000 | 0.556 |
| predicted_HR | 0.000 | -0.060 |
| predicted_OBP | 0.333 | 0.156 |
| predicted_R | 0.000 | -0.078 |
| predicted_RBI | 0.000 | -0.162 |
| predicted_SLG | 0.333 | 0.090 |
| predicted_SO | 1.000 | 0.168 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 3 | - | 6.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.1667 | 0.1667 | 0.1667 | 0.1667 | 0.0000 | 0.0000 | 0.0000 | 0.3333 |
| last_10 | 0.20 | 3 | - | 6.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.1667 | 0.1667 | 0.1667 | 0.1667 | 0.0000 | 0.0000 | 0.0000 | 0.3333 |
| season | 0.60 | 3 | - | 6.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.1667 | 0.1667 | 0.1667 | 0.1667 | 0.0000 | 0.0000 | 0.0000 | 0.3333 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1380 |
| predicted_3B | 0.0120 |
| predicted_AB | 3.5020 |
| predicted_AVG | 0.2344 |
| predicted_BB | 0.2030 |
| predicted_H | 0.8210 |
| predicted_HBP | 0.0250 |
| predicted_HR | 0.1020 |
| predicted_OBP | 0.2823 |
| predicted_R | 0.3840 |
| predicted_RBI | 0.3700 |
| predicted_SLG | 0.3684 |
| predicted_SO | 0.8460 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.1380 | 0.0285 | model_form_blend |
| predicted_3B | 0.0000 | 0.0120 | 0.0025 | model_form_blend |
| predicted_AB | 2.5000 | 3.5020 | 2.7067 | model_form_blend |
| predicted_AVG | 0.2810 | 0.2344 | 0.2714 | model_form_blend |
| predicted_BB | 0.0000 | 0.2030 | 0.0419 | model_form_blend |
| predicted_H | 0.3500 | 0.8210 | 0.4471 | model_form_blend |
| predicted_HBP | - | 0.0250 | 0.0250 | form_only |
| predicted_HR | 0.0500 | 0.1020 | 0.0607 | model_form_blend |
| predicted_OBP | 0.2810 | 0.2823 | 0.2813 | model_form_blend |
| predicted_R | 0.0000 | 0.3840 | 0.0792 | model_form_blend |
| predicted_RBI | 0.1100 | 0.3700 | 0.1636 | model_form_blend |
| predicted_SLG | 0.3320 | 0.3684 | 0.3395 | model_form_blend |
| predicted_SO | 0.8330 | 0.8460 | 0.8357 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 5 |
| Season rows before report date | 5 |
| Report year | 2026 |
| Profile rows used | 3 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.167 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260811_KC@LAD |
| game_type | full |
| mlbID | 666163 |
| playerID | 666163 |
| playerName | Ben Rortvedt |
| pos | C |
| started | True |
| startingPosition | C |
| team | LAD |
| teamID | 14 |
| game_date | 2026-08-11 |
| sl_k_percent | 33.3 |
| sl_bb_percent | 0.0 |
| sl_woba | 0.148 |
| sl_xwoba | 0.244 |
| sl_xba | 0.264 |
| sl_xslg | 0.292 |
| sl_sweet_spot_percent | 50.0 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 0.0 |
| sl_exit_velocity_avg | 87.1 |
| sl_launch_angle_avg | -1.3 |
| sl_whiff_percent | 23.1 |
| sl_swing_percent | 50.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.162 | 1.000 | 0.000 | Hitting_2B | 0.187 | 0.000 | 0.813 | 1.000 |
| predicted_3B | 0.027 | 0.000 | 0.000 | Hitting_3B | 0.026 | 0.000 | -0.026 | 0.000 |
| predicted_AB | 3.577 | 4.000 | 4.000 | Hitting_AB | 3.734 | 3.000 | 0.266 | 1.000 |
| predicted_AVG | 0.194 | 0.250 | 0.250 | Hitting_AVG | 0.245 | 0.000 | 0.005 | 0.250 |
| predicted_BB | 0.486 | 0.000 | 1.000 | Hitting_BB | 0.518 | 1.000 | -0.518 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.690 | 1.000 | 1.000 | Hitting_H | 0.916 | 0.000 | 0.084 | 1.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.094 | 0.000 | -0.094 | 0.000 |
| predicted_OBP | 0.318 | 0.250 | 0.400 | Hitting_OBP | 0.337 | 0.250 | -0.087 | 0.000 |
| predicted_R | 0.586 | 1.000 | 1.000 | Hitting_R | 0.628 | 0.000 | 0.372 | 1.000 |
| predicted_RBI | 0.470 | 1.000 | 1.000 | Hitting_RBI | 0.540 | 0.000 | 0.460 | 1.000 |
| predicted_SLG | 0.367 | 0.500 | 0.250 | Hitting_SLG | 0.385 | 0.000 | 0.115 | 0.500 |
| predicted_SO | 0.766 | 0.000 | 1.000 | Hitting_SO | 0.827 | 1.000 | -0.827 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 7 |
| Deboosted Metrics | 4 |
| Better Metrics | 8 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_2B: 0.1620 -> 1.0000 (boost 0.8380, better) |
| Biggest Deboost | predicted_SO: 0.7660 -> 0.0000 (deboost -0.7660, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 2 | 2 | 3 | 1 | predicted_SLG: 0.3670 -> 0.3910 (boost 0.0240, better) | predicted_SO: 0.7660 -> 0.6787 (deboost -0.0873, better) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.3228 -> 0.3049 (deboost -0.0179, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 5 | 2 | 4 | 3 | predicted_RBI: 0.4491 -> 1.0000 (boost 0.5509, better) | predicted_HR: 0.1456 -> 0.0000 (deboost -0.1456, worse) | AB rounded to 4 (raw=3.58), rates preserved: AVG=0.202 HR/AB=0.041 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6156 -> 1.0000 (boost 0.3844, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3049 -> 0.4000 (boost 0.0951, better) | predicted_SLG: 0.3950 -> 0.2500 (deboost -0.1450, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 1 | 2 | 2 | 1 | predicted_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.3950 (boost 0.1450, better) | predicted_OBP: 0.4000 -> 0.3049 (deboost -0.0951, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663656",
"player_name": "Kyle Tucker",
"position": "RF",
"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": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.162,
"predicted_3B": 0.027,
"predicted_AB": 3.577,
"predicted_AVG": 0.194,
"predicted_BB": 0.486,
"predicted_H": 0.69,
"predicted_HR": 0.15,
"predicted_OBP": 0.318,
"predicted_R": 0.586,
"predicted_RBI": 0.47,
"predicted_SLG": 0.367,
"predicted_SO": 0.766
},
"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": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1344,
"predicted_3B": 0.0482,
"predicted_AB": 3.5217,
"predicted_AVG": 0.2079,
"predicted_BB": 0.5016,
"predicted_H": 0.7289,
"predicted_HBP": 0.016,
"predicted_HR": 0.1465,
"predicted_OBP": 0.3228,
"predicted_R": 0.6223,
"predicted_RBI": 0.454,
"predicted_SLG": 0.391,
"predicted_SO": 0.6787
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.162,
"after": 0.1344,
"delta": -0.0276,
"percent_delta": -0.1704,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.0482,
"delta": 0.0212,
"percent_delta": 0.7852,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.577,
"after": 3.5217,
"delta": -0.0553,
"percent_delta": -0.0155,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.194,
"after": 0.2079,
"delta": 0.0139,
"percent_delta": 0.0716,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.486,
"after": 0.5016,
"delta": 0.0156,
"percent_delta": 0.0321,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.69,
"after": 0.7289,
"delta": 0.0389,
"percent_delta": 0.0564,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.1465,
"delta": -0.0035,
"percent_delta": -0.0233,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.318,
"after": 0.3228,
"delta": 0.0048,
"percent_delta": 0.0151,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.586,
"after": 0.6223,
"delta": 0.0363,
"percent_delta": 0.0619,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 0.454,
"delta": -0.016,
"percent_delta": -0.034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.367,
"after": 0.391,
"delta": 0.024,
"percent_delta": 0.0654,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.766,
"after": 0.6787,
"delta": -0.0873,
"percent_delta": -0.114,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.367,
"after": 0.391,
"delta": 0.024,
"percent_delta": 0.0654,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.766,
"after": 0.6787,
"delta": -0.0873,
"percent_delta": -0.114,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 111
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1344,
"predicted_3B": 0.0482,
"predicted_AB": 3.5217,
"predicted_AVG": 0.2054,
"predicted_BB": 0.5037,
"predicted_H": 0.7235,
"predicted_HBP": 0.016,
"predicted_HR": 0.1456,
"predicted_OBP": 0.3049,
"predicted_R": 0.6156,
"predicted_RBI": 0.4491,
"predicted_SLG": 0.395,
"predicted_SO": 0.6759
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1344,
"after": 0.1344,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0482,
"after": 0.0482,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5217,
"after": 3.5217,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2079,
"after": 0.2054,
"delta": -0.0025,
"percent_delta": -0.012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5016,
"after": 0.5037,
"delta": 0.0021,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7289,
"after": 0.7235,
"delta": -0.0054,
"percent_delta": -0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.016,
"after": 0.016,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1465,
"after": 0.1456,
"delta": -0.0009,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3228,
"after": 0.3049,
"delta": -0.0179,
"percent_delta": -0.0555,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6223,
"after": 0.6156,
"delta": -0.0067,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.454,
"after": 0.4491,
"delta": -0.0049,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.391,
"after": 0.395,
"delta": 0.004,
"percent_delta": 0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.6787,
"after": 0.6759,
"delta": -0.0028,
"percent_delta": -0.0041,
"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_OBP",
"before": 0.3228,
"after": 0.3049,
"delta": -0.0179,
"percent_delta": -0.0555,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.58), rates preserved: AVG=0.202 HR/AB=0.041",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1344,
"after": 0.0,
"delta": -0.1344,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0482,
"after": 0.0,
"delta": -0.0482,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5217,
"after": 4.0,
"delta": 0.4783,
"percent_delta": 0.1358,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5037,
"after": 1.0,
"delta": 0.4963,
"percent_delta": 0.9853,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7235,
"after": 1.0,
"delta": 0.2765,
"percent_delta": 0.3822,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.016,
"after": 0.0,
"delta": -0.016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1456,
"after": 0.0,
"delta": -0.1456,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4491,
"after": 1.0,
"delta": 0.5509,
"percent_delta": 1.2267,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.6759,
"after": 1.0,
"delta": 0.3241,
"percent_delta": 0.4795,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 5,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.4491,
"after": 1.0,
"delta": 0.5509,
"percent_delta": 1.2267,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.1456,
"after": 0.0,
"delta": -0.1456,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.6156,
"after": 1.0,
"delta": 0.3844,
"percent_delta": 0.6244,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.6156,
"after": 1.0,
"delta": 0.3844,
"percent_delta": 0.6244,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2054,
"after": 0.25,
"delta": 0.0446,
"percent_delta": 0.2171,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_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_OBP",
"before": 0.3049,
"after": 0.4,
"delta": 0.0951,
"percent_delta": 0.3119,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.395,
"after": 0.25,
"delta": -0.145,
"percent_delta": -0.3671,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3049,
"after": 0.4,
"delta": 0.0951,
"percent_delta": 0.3119,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.395,
"after": 0.25,
"delta": -0.145,
"percent_delta": -0.3671,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"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_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"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_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2054,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3049,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.395,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2054,
"delta": -0.0446,
"percent_delta": -0.1782,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_CS",
"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_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_OBP",
"before": 0.4,
"after": 0.3049,
"delta": -0.0951,
"percent_delta": -0.2379,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.395,
"delta": 0.145,
"percent_delta": 0.5801,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.395,
"delta": 0.145,
"percent_delta": 0.5801,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3049,
"delta": -0.0951,
"percent_delta": -0.2379,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.162,
"after": 1.0,
"delta": 0.838,
"percent_delta": 5.1728,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.0,
"delta": -0.027,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.577,
"after": 4.0,
"delta": 0.423,
"percent_delta": 0.1183,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.194,
"after": 0.2054,
"delta": 0.0114,
"percent_delta": 0.0588,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.486,
"after": 0.0,
"delta": -0.486,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.69,
"after": 1.0,
"delta": 0.31,
"percent_delta": 0.4493,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.318,
"after": 0.3049,
"delta": -0.0131,
"percent_delta": -0.0412,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.586,
"after": 1.0,
"delta": 0.414,
"percent_delta": 0.7065,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 1.0,
"delta": 0.53,
"percent_delta": 1.1277,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.367,
"after": 0.395,
"delta": 0.028,
"percent_delta": 0.0763,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.766,
"after": 0.0,
"delta": -0.766,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 7,
"deboosted_metrics": 4,
"better_metrics": 8,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.162,
"after": 1.0,
"delta": 0.838,
"percent_delta": 5.1728,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.766,
"after": 0.0,
"delta": -0.766,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.162 | - |
| predicted_3B | 0.027 | - |
| predicted_AB | 3.577 | - |
| predicted_AVG | 0.194 | - |
| predicted_BB | 0.486 | - |
| predicted_H | 0.690 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.318 | - |
| predicted_R | 0.586 | - |
| predicted_RBI | 0.470 | - |
| predicted_SLG | 0.367 | - |
| predicted_SO | 0.766 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.134 | -0.028 |
| predicted_3B | 0.048 | 0.021 |
| predicted_AB | 3.522 | -0.055 |
| predicted_AVG | 0.208 | 0.014 |
| predicted_BB | 0.502 | 0.016 |
| predicted_H | 0.729 | 0.039 |
| predicted_HBP | 0.016 | - |
| predicted_HR | 0.146 | -0.004 |
| predicted_OBP | 0.323 | 0.005 |
| predicted_R | 0.622 | 0.036 |
| predicted_RBI | 0.454 | -0.016 |
| predicted_SLG | 0.391 | 0.024 |
| predicted_SO | 0.679 | -0.087 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.134 | 0.000 |
| predicted_3B | 0.048 | 0.000 |
| predicted_AB | 3.522 | 0.000 |
| predicted_AVG | 0.205 | -0.003 |
| predicted_BB | 0.504 | 0.002 |
| predicted_H | 0.724 | -0.005 |
| predicted_HBP | 0.016 | 0.000 |
| predicted_HR | 0.146 | -0.001 |
| predicted_OBP | 0.305 | -0.018 |
| predicted_R | 0.616 | -0.007 |
| predicted_RBI | 0.449 | -0.005 |
| predicted_SLG | 0.395 | 0.004 |
| predicted_SO | 0.676 | -0.003 |
AB rounded to 4 (raw=3.58), rates preserved: AVG=0.202 HR/AB=0.041
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.134 |
| predicted_3B | 0.000 | -0.048 |
| predicted_AB | 4.000 | 0.478 |
| predicted_AVG | 0.250 | 0.045 |
| predicted_BB | 1.000 | 0.496 |
| predicted_H | 1.000 | 0.276 |
| predicted_HR | 0.000 | -0.146 |
| predicted_OBP | 0.400 | 0.095 |
| predicted_R | 1.000 | 0.384 |
| predicted_RBI | 1.000 | 0.551 |
| predicted_SLG | 0.250 | -0.145 |
| predicted_SO | 1.000 | 0.324 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 16.000 | 2.000 | 0.000 | 1.000 | 1.000 | 2.000 | 4.000 | 3.000 | 1.000 | 0.1250 | 0.2632 | 0.4375 | 0.1250 | 0.0625 | 0.1250 | 0.1875 | 0.0625 |
| last_10 | 0.20 | 10 | - | 32.000 | 9.000 | 0.000 | 1.000 | 2.000 | 3.000 | 8.000 | 6.000 | 3.000 | 0.2812 | 0.3947 | 0.5312 | 0.2812 | 0.0625 | 0.0938 | 0.1875 | 0.0938 |
| season | 0.60 | 111 | - | 397.000 | 95.000 | 18.000 | 3.000 | 11.000 | 54.000 | 65.000 | 54.000 | 85.000 | 0.2393 | 0.3319 | 0.3829 | 0.2393 | 0.0277 | 0.1360 | 0.1360 | 0.2141 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0980 |
| predicted_3B | 0.0760 |
| predicted_AB | 3.4490 |
| predicted_AVG | 0.2262 |
| predicted_BB | 0.5220 |
| predicted_H | 0.7800 |
| predicted_HBP | 0.0160 |
| predicted_HR | 0.1420 |
| predicted_OBP | 0.3292 |
| predicted_R | 0.6700 |
| predicted_RBI | 0.4330 |
| predicted_SLG | 0.4226 |
| predicted_SO | 0.5640 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1620 | 0.0980 | 0.1344 | model_form_blend |
| predicted_3B | 0.0270 | 0.0760 | 0.0482 | model_form_blend |
| predicted_AB | 3.5770 | 3.4490 | 3.5217 | model_form_blend |
| predicted_AVG | 0.1940 | 0.2262 | 0.2079 | model_form_blend |
| predicted_BB | 0.4860 | 0.5220 | 0.5016 | model_form_blend |
| predicted_H | 0.6900 | 0.7800 | 0.7289 | model_form_blend |
| predicted_HBP | - | 0.0160 | 0.0160 | form_only |
| predicted_HR | 0.1500 | 0.1420 | 0.1465 | model_form_blend |
| predicted_OBP | 0.3180 | 0.3292 | 0.3228 | model_form_blend |
| predicted_R | 0.5860 | 0.6700 | 0.6223 | model_form_blend |
| predicted_RBI | 0.4700 | 0.4330 | 0.4540 | model_form_blend |
| predicted_SLG | 0.3670 | 0.4226 | 0.3910 | model_form_blend |
| predicted_SO | 0.7660 | 0.5640 | 0.6787 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 417 |
| Season rows before report date | 417 |
| Report year | 2026 |
| Profile rows used | 111 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.239 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260812_KC@LAD |
| game_type | full |
| mlbID | 663656 |
| playerID | 663656 |
| playerName | Kyle Tucker |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | LAD |
| teamID | 14 |
| game_date | 2026-08-12 |
| sl_k_percent | 18.3 |
| sl_bb_percent | 12.5 |
| sl_woba | 0.322 |
| sl_xwoba | 0.336 |
| sl_xba | 0.262 |
| sl_xslg | 0.395 |
| sl_sweet_spot_percent | 34.3 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 38.1 |
| sl_exit_velocity_avg | 88.8 |
| sl_launch_angle_avg | 17.2 |
| sl_whiff_percent | 21.9 |
| sl_swing_percent | 48.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 3.000 | 3.000 | 3.000 | Pitching_BB | 2.000 | 1.000 | 1.000 | 2.000 |
| predicted_ER | 4.000 | 4.000 | 4.000 | Pitching_ER | 2.650 | 2.000 | 1.350 | 2.000 |
| predicted_H | 5.000 | 5.000 | 5.000 | Pitching_H | 4.700 | 4.000 | 0.300 | 1.000 |
| predicted_IP | 5.200 | 5.200 | 5.200 | Pitching_InningsPitched | 5.145 | 6.000 | 0.055 | -0.800 |
| predicted_SO | 4.000 | 4.000 | 4.000 | Pitching_SO | 5.300 | 5.000 | -1.300 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 5.6667 -> 5.2000 (deboost -0.4667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 5.6667 -> 5.2000 (deboost -0.4667, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "808963",
"player_name": "Roki Sasaki",
"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": 4.0,
"predicted_H": 5.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": "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": 0.0,
"predicted_IP": 5.2,
"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": 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": {}
}
],
"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": 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"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 3.000 | - |
| predicted_ER | 4.000 | - |
| predicted_H | 5.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 5.667 | - |
| predicted_SO | 4.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 30.000 | 8.000 | 21.000 | 8.000 | 31.000 | 4.000 | 2.4000 | 0.9667 | 0.2667 | 0.7000 | 0.2667 | 1.0333 | 0.1333 |
| last_10 | 0.35 | 10 | 54.000 | 27.000 | 44.000 | 21.000 | 56.000 | 11.000 | 4.5000 | 1.2037 | 0.5000 | 0.8148 | 0.3889 | 1.0370 | 0.2037 |
| season | 0.20 | 20 | 105.000 | 53.000 | 94.000 | 40.000 | 106.000 | 21.000 | 4.5429 | 1.2762 | 0.5048 | 0.8952 | 0.3810 | 1.0095 | 0.2000 |
| Metric | Value |
|---|---|
| predicted_BB | 1.9060 |
| predicted_ER | 2.3470 |
| predicted_ERA | 3.7448 |
| predicted_H | 4.6130 |
| predicted_HR | 0.9400 |
| predicted_IP | 5.2000 |
| predicted_SO | 5.7230 |
| predicted_WHIP | 1.1560 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 1.9060 | 2.3813 | model_form_blend |
| predicted_ER | 4.0000 | 2.3470 | 3.0652 | model_form_blend |
| predicted_ERA | - | 3.7448 | 3.7448 | form_only |
| predicted_H | 5.0000 | 4.6130 | 4.7812 | model_form_blend |
| predicted_HR | 0.0000 | 0.9400 | 0.5316 | model_form_blend |
| predicted_IP | 5.2000 | 5.2000 | 5.2000 | model_form_blend |
| predicted_SO | 4.0000 | 5.7230 | 4.9744 | model_form_blend |
| predicted_WHIP | - | 1.1560 | 1.1560 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 20 |
| Season rows before report date | 20 |
| Report year | 2026 |
| Profile rows used | 20 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 5.2 |
| H | 5 |
| R | 4 |
| ER | 4 |
| BB | 3 |
| SO | 4 |
| HR | 0 |
| BF | 26 |
| Pitches | 106 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 23 |
| Pitching_ER | 2 |
| Pitching_ERA | 4.54 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 7 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.0 |
| Pitching_Pitches | 86 |
| Pitching_R | 2 |
| Pitching_SO | 5 |
| Pitching_Strikes | 57 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260807_LAD@ARI |
| game_type | full |
| mlbID | 808963 |
| playerID | 808963 |
| playerName | Roki Sasaki |
| pos | P |
| started | True |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-08-07 |
| sl_k_percent | 23.8 |
| sl_bb_percent | 9.0 |
| sl_woba | 0.339 |
| sl_xwoba | 0.315 |
| sl_sweet_spot_percent | 35.6 |
| sl_barrel_batted_rate | 10.5 |
| sl_hard_hit_percent | 42.7 |
| sl_whiff_percent | 29.7 |
| sl_swing_percent | 50.2 |
| sl_avg_best_speed | 79.156421918 |
| sl_avg_hyper_speed | 94.436006575 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.615 | 0.000 | -0.615 | 0.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 0.923 | 0.000 | 2.077 | 3.000 |
| predicted_H | 5.000 | 5.000 | 5.000 | Pitching_H | 1.308 | 0.000 | 3.692 | 5.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.792 | 1.000 | 0.308 | 0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.231 | 1.000 | -1.231 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "621242",
"player_name": "Edwin Díaz",
"position": "Middle Reliever",
"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": 0.0,
"predicted_ER": 3.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.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": 3.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 3.0,
"predicted_SO": 0.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 3.000 | - |
| predicted_H | 5.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.000 | 4.000 | 6.000 | 3.000 | 6.000 | 2.000 | 9.0000 | 2.2500 | 1.0000 | 1.5000 | 0.7500 | 1.5000 | 0.5000 |
| last_10 | 0.35 | 10 | 9.000 | 9.000 | 14.000 | 6.000 | 14.000 | 3.000 | 9.0000 | 2.2222 | 1.0000 | 1.5556 | 0.6667 | 1.5556 | 0.3333 |
| season | 0.20 | 12 | 11.000 | 9.000 | 14.000 | 7.000 | 16.000 | 3.000 | 7.3636 | 1.9091 | 0.8182 | 1.2727 | 0.6364 | 1.4546 | 0.2727 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4430 |
| predicted_ER | 0.6100 |
| predicted_ERA | 5.7539 |
| predicted_H | 1.0740 |
| predicted_HR | 0.2130 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0730 |
| predicted_WHIP | 1.5899 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4430 | 0.1580 | model_form_blend |
| predicted_ER | 3.0000 | 0.6100 | 2.1478 | model_form_blend |
| predicted_ERA | - | 5.7539 | 5.7539 | form_only |
| predicted_H | 5.0000 | 1.0740 | 3.6001 | model_form_blend |
| predicted_HR | 0.0000 | 0.2130 | 0.0760 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.0730 | 0.3826 | model_form_blend |
| predicted_WHIP | - | 1.5899 | 1.5899 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 13 |
| Season rows before report date | 13 |
| Report year | 2026 |
| Profile rows used | 12 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 5 |
| R | 3 |
| ER | 3 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 9 |
| Pitches | 32 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 9.82 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 12 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260810_KC@LAD |
| game_type | full |
| mlbID | 621242 |
| playerID | 621242 |
| playerName | Edwin Díaz |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-08-10 |
| sl_k_percent | 27.1 |
| sl_bb_percent | 13.6 |
| sl_woba | 0.45 |
| sl_xwoba | 0.349 |
| sl_sweet_spot_percent | 47.1 |
| sl_barrel_batted_rate | 12.1 |
| sl_hard_hit_percent | 55.9 |
| sl_whiff_percent | 19.8 |
| sl_swing_percent | 46.4 |
| sl_avg_best_speed | 83.802739412 |
| sl_avg_hyper_speed | 95.50134697 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.216 | 1.000 | -0.216 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.235 | 0.000 | -0.235 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.647 | 0.000 | 0.353 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.857 | 1.000 | 0.143 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.176 | 0.000 | -1.176 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "656945",
"player_name": "Tanner Scott",
"position": "Middle Reliever",
"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": 0.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.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": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.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": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.000 | 0.000 | 3.000 | 5.000 | 4.000 | 0.000 | 0.0000 | 2.0000 | 0.0000 | 0.7500 | 1.2500 | 1.0000 | 0.0000 |
| last_10 | 0.35 | 10 | 9.000 | 1.000 | 8.000 | 6.000 | 10.000 | 0.000 | 1.0000 | 1.5556 | 0.1111 | 0.8889 | 0.6667 | 1.1111 | 0.0000 |
| season | 0.20 | 51 | 47.200 | 12.000 | 33.000 | 11.000 | 60.000 | 4.000 | 2.2657 | 0.9231 | 0.2517 | 0.6923 | 0.2308 | 1.2587 | 0.0839 |
| Metric | Value |
|---|---|
| predicted_BB | 0.6100 |
| predicted_ER | 0.2070 |
| predicted_ERA | 2.0649 |
| predicted_H | 0.7670 |
| predicted_HR | 0.0560 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9410 |
| predicted_WHIP | 1.5275 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.6100 | 0.3078 | model_form_blend |
| predicted_ER | 0.0000 | 0.2070 | 0.1045 | model_form_blend |
| predicted_ERA | - | 2.0649 | 2.0649 | form_only |
| predicted_H | 1.0000 | 0.7670 | 0.8824 | model_form_blend |
| predicted_HR | 0.0000 | 0.0560 | 0.0283 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.9410 | 0.4748 | model_form_blend |
| predicted_WHIP | - | 1.5275 | 1.5275 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 51 |
| Season rows before report date | 51 |
| Report year | 2026 |
| Profile rows used | 51 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 4 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.27 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 15 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260810_KC@LAD |
| game_type | full |
| mlbID | 656945 |
| playerID | 656945 |
| playerName | Tanner Scott |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-08-10 |
| sl_k_percent | 32.8 |
| sl_bb_percent | 6.0 |
| sl_woba | 0.243 |
| sl_xwoba | 0.276 |
| sl_sweet_spot_percent | 38.7 |
| sl_barrel_batted_rate | 7.2 |
| sl_hard_hit_percent | 33.3 |
| sl_whiff_percent | 36.3 |
| sl_swing_percent | 55.1 |
| sl_avg_best_speed | 78.941802545 |
| sl_avg_hyper_speed | 93.41828055 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.214 | 1.000 | -0.214 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.500 | 2.000 | -0.500 | -2.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.929 | 3.000 | -0.929 | -3.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.636 | 0.100 | 0.364 | 0.900 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 0.857 | 1.000 | 1.143 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 1 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 0.6667 -> 1.0000 (boost 0.3333, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 0.6667 -> 1.0000 (boost 0.3333, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "623465",
"player_name": "Evan Phillips",
"position": "Middle Reliever",
"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": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.6667,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 2.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 0.6667,
"after": 1.0,
"delta": 0.3333,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 1.0,
"delta": 0.3333,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 0.6667,
"after": 1.0,
"delta": 0.3333,
"percent_delta": 0.4999,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 1.0,
"delta": 0.3333,
"percent_delta": 0.4999,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 2.200 | 2.000 | 5.000 | 1.000 | 3.000 | 0.000 | 6.7500 | 2.2500 | 0.7500 | 1.8750 | 0.3750 | 1.1250 | 0.0000 |
| last_10 | 0.35 | 10 | 7.000 | 4.000 | 7.000 | 2.000 | 7.000 | 2.000 | 5.1429 | 1.2857 | 0.5714 | 1.0000 | 0.2857 | 1.0000 | 0.2857 |
| season | 0.20 | 14 | 11.000 | 7.000 | 13.000 | 3.000 | 12.000 | 4.000 | 5.7273 | 1.4545 | 0.6364 | 1.1818 | 0.2727 | 1.0909 | 0.3636 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2330 |
| predicted_ER | 0.3650 |
| predicted_ERA | 4.9321 |
| predicted_H | 0.7420 |
| predicted_HR | 0.1040 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.6610 |
| predicted_WHIP | 1.4620 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2330 | 0.0831 | model_form_blend |
| predicted_ER | 0.0000 | 0.3650 | 0.1301 | model_form_blend |
| predicted_ERA | - | 4.9321 | 4.9321 | form_only |
| predicted_H | 0.0000 | 0.7420 | 0.2646 | model_form_blend |
| predicted_HR | 0.0000 | 0.1040 | 0.0371 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 2.0000 | 0.6610 | 1.5225 | model_form_blend |
| predicted_WHIP | - | 1.4620 | 1.4620 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 14 |
| Season rows before report date | 14 |
| Report year | 2026 |
| Profile rows used | 14 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 3 |
| Pitches | 13 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 2 |
| Pitching_ERA | 5.73 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 26 |
| Pitching_R | 3 |
| Pitching_SO | 1 |
| Pitching_Strikes | 18 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | BS |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260811_KC@LAD |
| game_type | full |
| mlbID | 623465 |
| playerID | 623465 |
| playerName | Evan Phillips |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAD |
| teamID | 14 |
| game_date | 2026-08-11 |
| sl_k_percent | 24.5 |
| sl_bb_percent | 6.1 |
| sl_woba | 0.374 |
| sl_xwoba | 0.332 |
| sl_sweet_spot_percent | 26.5 |
| sl_barrel_batted_rate | 14.7 |
| sl_hard_hit_percent | 41.2 |
| sl_whiff_percent | 25.3 |
| sl_swing_percent | 44.8 |
| sl_avg_best_speed | 85.123372353 |
| sl_avg_hyper_speed | 95.434417059 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | TEX 3 - 2 LAA | TEX | 0.522 | scoring_simulation.final_score | True |
| Simulation draw | TEX 4 - 3 LAA | TEX | - | organic_score_same_winner | True |
The shipped score is reconciled to the final simulation score. The original model target remains visible as the pre-simulation audit layer.
This table distinguishes newly generated artifacts from older files. Missing trace data is shown as legacy/unavailable, never inferred.
| Priority | Change | Runtime status | Evidence |
|---|---|---|---|
| P1 | Empirical confidence blend | applied | raw=0.5330; empirical=0.5118; weight=0.5000; final=0.5224 |
| P1 | H2H margin as base feature | available | home net=12; abs=12; home delta=0.0692; away delta=-0.0692 |
| P2 | Wider score distribution | implemented_above_requested_1.4x | variance multiplier=1.6500; floor=2.7500 |
| P2 | Simulation flip control | diagnostic_only_unless_independently_supported | candidate=False; trusted=False; published flip=False |
| P3 | Season edge + recent form | implemented | window=10; season edge=-0.6917; recent edge=-0.1680; blended=- |
| P3 | Continuous calibration audit | trace emitted | Checked by CONFIDENCE_CALIBRATION_APPLIED and bucket_calibration_error in learning reports. |
| Process Layer | What It Does | Stored Field | Observed Value |
|---|---|---|---|
| 1. Historical model | Starts from trained game model output. | score_evolution.steps[historical_ml] | - |
| 2. Variance layer | Applies bounded game variance before enhanced corrections. | score_evolution.steps[variance_applied] | - |
| 3. Recent/team form | Uses latest team form, recent scoring, prevention, and streak state. | enhanced_prediction_analysis.recent_form | True |
| 4. Season quality | Uses season run differential and record quality guardrails. | season_run_differential_adjustment, season_quality_guardrail | True |
| 5. Savant hitters | Applies lineup-level Statcast xwOBA, xBA, xSLG, barrel, hard-hit, sweet-spot, EV, launch-angle, whiff, K and BB quality. | savant_batter_quality_adjustment | True |
| 6. Savant pitchers | Applies starter run prevention, strikeout, walk, HR and regression factors from xwOBA, wOBA, contact quality and whiff/command. | savant_pitcher_quality_adjustment | True |
| 7. Low-score analysis | Controls unrealistic totals and preserves the pre-sync low-score expected total. | low_score_analysis | 9.6000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5224 |
| 9. Simulation reconciliation | Reconciles final shipped score with the simulation box score while retaining the pre-simulation target. | simulation_reconciliation | organic_score_same_winner |
| 10. Score evolution rendered | 7 stored score steps are rendered below. | game.score_evolution.steps | true |
| Step | Layer | Away Runs | Home Runs | Confidence | Description |
|---|---|---|---|---|---|
| 1 | historical_ml | 4.553 | 4.010 | - | Base ML historical model prediction |
| 2 | variance_applied | 5 | 4 | - | Deterministic baseline target (variance factor 1.0) |
| 3 | enhanced_prediction | 3 | 2 | 0.5224 | Enhanced ML with recent form, H2H, low-score analysis (confidence capped by matchup guardrail) |
| 4 | embedded_savant_run_environment | 3 | 2 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | fundamental_edge_target_review | 3 | 2 | - | Refreshed score target and win probability after Savant/pitcher/team-strength adjustments |
| 6 | capped_target | 3 | 2 | - | Capped at max 12 realistic runs |
| 7 | simulation_result | 4 | 3 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.4739384070796461,
"base_low_score_probability": 0.431025507548152,
"low_score_signal_threshold": 0.511025507548152,
"low_score_signal_strength": 0.042912899531494075,
"confidence": 0.64978,
"factors": {
"environmental": 0.9996,
"pitcher_form": 1.1,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.09956
},
"prediction": "normal_scoring",
"expected_total_runs": 7,
"pre_simulation_expected_total_runs": 9.6,
"low_score_model_expected_total_runs": 9.6,
"final_simulation_total_runs": 7,
"score_source": "scoring_simulation.final_score"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 211,
"near_bucket_sample_size": 211,
"medium_bucket_sample_size": 282,
"wide_bucket_sample_size": 329,
"global_sample_size": 503,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5118,
"bayesian_hit_rate": 0.5109,
"sample_weight": 0.6,
"prior_strength": 18.0,
"reliability": 0.9214,
"confidence_cap": 0.78,
"raw_pick_probability": 0.5085,
"calibrated_pick_probability": 0.509,
"predicted_side": "away"
}{
"method": "empirical_hit_rate_weighted_v1",
"applied": true,
"reason": "raw confidence blended with verified historical bucket hit rate",
"raw_confidence": 0.533045,
"sample_size": 211,
"empirical_hit_rate": 0.5118,
"empirical_weight": 0.5,
"blended_confidence": 0.522423,
"published_confidence": 0.522423,
"published_after_governors": true
}{
"method": "h2h_net_margin_monotonic_v1",
"available": true,
"sample_size": 5,
"sample_weight": 0.0577,
"home_net_margin": 12.0,
"absolute_net_margin": 12.0,
"home_average_margin": 2.4,
"home_run_delta": 0.0692,
"away_run_delta": -0.0692,
"evidence": [
{
"game_id": null,
"home_margin": 3.0
},
{
"game_id": null,
"home_margin": 1.0
},
{
"game_id": null,
"home_margin": -3.0
},
{
"game_id": null,
"home_margin": -1.0
},
{
"game_id": null,
"home_margin": 12.0
}
]
}{
"applied": true,
"home": {
"team": "LAA",
"games": 120,
"wins": 46,
"losses": 74,
"win_pct": 0.38333333333333336,
"runs_scored": 488,
"runs_allowed": 581,
"run_differential": -93,
"run_differential_per_game": -0.775,
"available": true
},
"away": {
"team": "TEX",
"games": 120,
"wins": 60,
"losses": 60,
"win_pct": 0.5,
"runs_scored": 495,
"runs_allowed": 526,
"run_differential": -31,
"run_differential_per_game": -0.25833333333333336,
"available": true
},
"run_differential_edge_per_game": -0.5167,
"win_pct_edge": -0.1167,
"quality_edge": -0.5084,
"season_quality_edge": -0.6917,
"recent_quality_blend": {
"method": "season_recent10_quality_blend_v1",
"recent_window": 10,
"season_quality_edge": -0.6917,
"recent_quality_edge": -0.168,
"season_weight": 0.65,
"recent_weight": 0.35,
"recent_reliability": 1.0,
"alignment": "aligned",
"blended_quality_edge": -0.5084
},
"margin_adjustment": -0.2135,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"margin_adjustment_policy": {
"adjustment": -0.2135,
"cap": 1.4,
"scale": 0.42,
"quality_edge": -0.5084,
"season_quality_edge": -0.6917,
"recent_alignment": "aligned",
"large_edge_supported_by_recent_form": false,
"method": "standard_bounded_season_recent_adjustment"
},
"adjusted_score": {
"away_runs": 2.89,
"home_runs": 1.943,
"home_win_probability": 0.4195
}
}{
"most_likely": [
{
"home_runs": 2,
"away_runs": 2,
"probability": 0.04427476923138326
},
{
"home_runs": 2,
"away_runs": 3,
"probability": 0.04391165366650481
},
{
"home_runs": 3,
"away_runs": 2,
"probability": 0.04278645543504258
},
{
"home_runs": 3,
"away_runs": 3,
"probability": 0.04243554614281686
},
{
"home_runs": 1,
"away_runs": 2,
"probability": 0.03546359784385557
}
],
"home_distribution": {
"0": 0.10621518611263937,
"1": 0.17131036351078502,
"2": 0.21387358509927717,
"3": 0.2066841403454812,
"4": 0.15460859973726632,
"5": 0.08952341311061084,
"6": 0.0401250980504179,
"7": 0.013921052536936523,
"8": 0.0037385614965855353
},
"away_distribution": {
"0": 0.1006954473194687,
"1": 0.16325314416141265,
"2": 0.20701373295272307,
"3": 0.2053159283140161,
"4": 0.15926927862186846,
"5": 0.09663340143987958,
"6": 0.04585729192638992,
"7": 0.017020621940438393,
"8": 0.0049411533238031555
},
"model": "overdispersed_score_distribution",
"variance_multiplier": 1.65,
"variance_floor": 2.75,
"roadmap_status": "implemented_above_requested_1.4x"
}{
"applied": true,
"confidence_cap": 0.53,
"winner_flipped": false,
"reasons": [
"latest same-matchup result beat the predicted side",
"recent head-to-head margin does not support a strong repeat pick",
"local prediction memory shows 2 straight prior same-side picks",
"a prior same-side pick already missed against the actual result",
"a prior same-side pick missed by 5+ actual runs",
"latest-series reversal condition was suppressed"
],
"signals": {
"predicted_team": "TEX",
"opponent_team": "LAA",
"h2h_net_margin": -1,
"opponent_breakout": false,
"opponent_blowout_win": false,
"split_recent_h2h": true,
"recent_h2h": [
{
"date": "2026-08-12",
"predicted_team_runs": 2,
"opponent_runs": 5,
"margin_for_predicted_team": -3,
"winner": "LAA"
},
{
"date": "2026-08-11",
"predicted_team_runs": 2,
"opponent_runs": 3,
"margin_for_predicted_team": -1,
"winner": "LAA"
},
{
"date": "2026-08-10",
"predicted_team_runs": 4,
"opponent_runs": 1,
"margin_for_predicted_team": 3,
"winner": "TEX"
}
],
"prediction_memory": {
"available": true,
"reason": "verified_prior_matchup_predictions_available",
"verification_policy": "pregame_artifact_matched_to_one_official_final",
"verified_outcome_count": 6,
"consecutive_same_pick_count": 2,
"same_pick_actual_loss_count": 3,
"same_pick_blowout_loss_count": 1,
"prior_predictions": [
{
"date": "20260812",
"away": "TEX",
"home": "LAA",
"game_number": 1,
"predicted_team": "TEX",
"actual_winner": "LAA",
"actual_margin": 3,
"raw_pick_probability": 0.524489,
"artifact": "20260812_TEX@LAA.json",
"verification": "pregame_official_final"
},
{
"date": "20260811",
"away": "TEX",
"home": "LAA",
"game_number": 1,
"predicted_team": "TEX",
"actual_winner": "LAA",
"actual_margin": 1,
"raw_pick_probability": 0.535478,
"artifact": "20260811_TEX@LAA.json",
"verification": "pregame_official_final"
},
{
"date": "20260810",
"away": "TEX",
"home": "LAA",
"game_number": 1,
"predicted_team": "LAA",
"actual_winner": "TEX",
"actual_margin": 3,
"raw_pick_probability": 0.51795,
"artifact": "20260810_TEX@LAA.json",
"verification": "pregame_official_final"
},
{
"date": "20260709",
"away": "LAA",
"home": "TEX",
"game_number": 1,
"predicted_team": "TEX",
"actual_winner": "TEX",
"actual_margin": 1,
"raw_pick_probability": 0.6,
"artifact": "20260709_LAA@TEX.json",
"verification": "pregame_official_final"
},
{
"date": "20260708",
"away": "LAA",
"home": "TEX",
"game_number": 1,
"predicted_team": "TEX",
"actual_winner": "LAA",
"actual_margin": 12,
"raw_pick_probability": 0.5,
"artifact": "20260708_LAA@TEX.json",
"verification": "pregame_official_final"
}
]
},
"guardrail_predicted_team": "TEX",
"guardrail_opponent_team": "LAA",
"output_pre_simulation_winner": "TEX",
"output_opponent_team": "LAA",
"simulation_score_winner": "TEX",
"final_score_winner": "TEX",
"pre_simulation_winner": "TEX",
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false
},
"hard_flip_suppressed": true,
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 2,
"score_text": "TEX 3 - 2 LAA",
"winner": "TEX"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 3,
"score_text": "TEX 4 - 3 LAA",
"winner": "TEX"
},
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false,
"sim_flipped_pre_winner": false,
"sim_flip_trusted": false,
"sim_flip_policy": "diagnostic_only_unless_independently_supported",
"independent_margin_support": false,
"independent_margin_support_evidence": {
"pitcher_matchup_edge_home_minus_away": -0.0351,
"recent_form_edge_home_minus_away": -0.0513,
"winner_direction": "away",
"thresholds": {
"pitcher_matchup": 0.35,
"recent_form": 0.75
}
},
"margin_widening_capped": false,
"simulation_winner_agrees": true,
"away_run_delta": 1,
"home_run_delta": 1,
"total_run_delta": 2,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "organic_score_same_winner",
"final_prediction_source": "stable_final_prediction_policy",
"final_decision_policy": {
"policy_version": "model_winner_simulation_score_v1",
"away_runs": 4,
"home_runs": 3,
"winner": "TEX",
"model_winner": "TEX",
"simulation_winner": "TEX",
"simulation_winner_agrees": true,
"simulation_score_enabled": true,
"independent_margin_support": false,
"margin_widening_capped": false,
"model_margin": 1,
"simulation_margin": 1,
"simulation_usage": "organic_score_same_winner",
"score_source": "scoring_simulation.final_score",
"model_score": {
"away_runs": 3,
"home_runs": 2
},
"simulation_score": {
"away_runs": 4,
"home_runs": 3
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": 0.5084,
"winner": "TEX",
"reason": "final margin is directionally supported or within review threshold"
}
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"hard_flip_suppressed": false,
"policy": "recency_uncertainty_shrinkage_v2",
"reasons": [],
"signals": {
"home": {
"team": "LAA",
"games": 120,
"wins": 46,
"losses": 74,
"win_pct": 0.38333333333333336,
"runs_scored": 488,
"runs_allowed": 581,
"run_differential": -93,
"run_differential_per_game": -0.775,
"available": true
},
"away": {
"team": "TEX",
"games": 120,
"wins": 60,
"losses": 60,
"win_pct": 0.5,
"runs_scored": 495,
"runs_allowed": 526,
"run_differential": -31,
"run_differential_per_game": -0.25833333333333336,
"available": true
}
}
}{
"applied": false,
"raw_margin": -0.1,
"final_margin": -0.1,
"margin_cap": 1.5,
"season_quality_edge": 0.5084,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.522423,
"final_confidence": 0.522423,
"confidence_cap": 0.66,
"score_gap": 0.1,
"calibration_sample_size": 211,
"calibration_empirical_hit_rate": 0.5118,
"calibration_bayesian_hit_rate": 0.5109,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.5084,
"reasons": [
"unvalidated probabilities are capped for production display",
"projected score gap is close",
"local calibration sample has at least 30 games",
"local calibration sample has at least 60 games",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 2,
"score_text": "TEX 3 - 2 LAA",
"winner": "TEX"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 3,
"score_text": "TEX 4 - 3 LAA",
"winner": "TEX"
},
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false,
"sim_flipped_pre_winner": false,
"sim_flip_trusted": false,
"sim_flip_policy": "diagnostic_only_unless_independently_supported",
"independent_margin_support": false,
"independent_margin_support_evidence": {
"pitcher_matchup_edge_home_minus_away": -0.0351,
"recent_form_edge_home_minus_away": -0.0513,
"winner_direction": "away",
"thresholds": {
"pitcher_matchup": 0.35,
"recent_form": 0.75
}
},
"margin_widening_capped": false,
"simulation_winner_agrees": true,
"away_run_delta": 1,
"home_run_delta": 1,
"total_run_delta": 2,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "organic_score_same_winner",
"final_prediction_source": "stable_final_prediction_policy",
"final_decision_policy": {
"policy_version": "model_winner_simulation_score_v1",
"away_runs": 4,
"home_runs": 3,
"winner": "TEX",
"model_winner": "TEX",
"simulation_winner": "TEX",
"simulation_winner_agrees": true,
"simulation_score_enabled": true,
"independent_margin_support": false,
"margin_widening_capped": false,
"model_margin": 1,
"simulation_margin": 1,
"simulation_usage": "organic_score_same_winner",
"score_source": "scoring_simulation.final_score",
"model_score": {
"away_runs": 3,
"home_runs": 2
},
"simulation_score": {
"away_runs": 4,
"home_runs": 3
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": 0.5084,
"winner": "TEX",
"reason": "final margin is directionally supported or within review threshold"
}
}{
"away_runs": 4,
"home_runs": 3,
"confidence": 0.522423,
"home_win_probability": 0.47757700000000003,
"away_win_probability": 0.522423,
"predicted_score_text": "TEX 4 - 3 LAA",
"embedded_savant_score_adjustment": {
"applied": true,
"source": "all_players_stats.csv embedded temporal Savant features",
"feature_contract": {
"training_grain": "one player-game row after collapsing granular at-bat rows",
"temporal_rule": "all sl_/ab_/sv_ model features are shifted before the predicted game",
"hitter_signals": [
"xwoba",
"xba",
"xslg",
"barrel_batted_rate",
"hard_hit_percent",
"bat_speed",
"launch_quality",
"walk_rate",
"strikeout_rate"
],
"pitcher_signals": [
"xwoba_allowed",
"barrel_allowed",
"hard_hit_allowed",
"whiff_rate",
"command_score",
"movement_score",
"faced_est_woba",
"faced_strikeout_rate"
]
},
"away": {
"team": "TEX",
"original_runs": 3,
"run_delta": -0.1871,
"adjusted_runs": 3,
"lineup": {
"players_used": 9,
"total_weight": 32.0,
"quality": 0.1433483523201304,
"contact": -0.023848916813860588,
"power": 0.14443089857904906,
"discipline": -0.09883951029680331,
"xwoba": 0.31256249999999997,
"recent_xwoba": 0.31256249999999997,
"barrel": 8.21875,
"ab_hard_contact": -0.04051298079996553,
"ab_bat_speed": 69.5966860123797,
"ab_strikeout_rate": 0.23150468886823192,
"available_players": 9,
"top_players": [
{
"player_id": "607043",
"player_name": "Brandon Nimmo",
"position": "RF",
"weight": 5.0,
"quality": 1.096665892148505,
"contact": 1.3442281557394433,
"power": 1.2402717421831047,
"discipline": 0.04367418546365907,
"xwoba": 0.373,
"recent_xwoba": 0.373,
"barrel": 11.1,
"ab_hard_contact": 0.5658157960430434,
"ab_bat_speed": 71.0562276524645,
"ab_strikeout_rate": 0.21175438596491228,
"available": 1.0
},
{
"player_id": "670032",
"player_name": "Nicky Lopez",
"position": "SS",
"weight": 3.0,
"quality": -0.6917737340796928,
"contact": -0.9875780615217945,
"power": -1.5503971965936971,
"discipline": -0.08934701114488341,
"xwoba": 0.257,
"recent_xwoba": 0.257,
"barrel": 0.0,
"ab_hard_contact": -1.4841344080644188,
"ab_bat_speed": 62.676705082742316,
"ab_strikeout_rate": 0.15141843971631205,
"available": 1.0
},
{
"player_id": "592626",
"player_name": "Joc Pederson",
"position": "1B",
"weight": 3.0,
"quality": 0.7664926785815007,
"contact": 0.8176914250053043,
"power": 1.0448678882454663,
"discipline": 0.17985981808453713,
"xwoba": 0.357,
"recent_xwoba": 0.357,
"barrel": 11.6,
"ab_hard_contact": 0.5762149077664742,
"ab_bat_speed": 70.27926185966811,
"ab_strikeout_rate": 0.23071161048689137,
"available": 1.0
},
{
"player_id": "608369",
"player_name": "Corey Seager",
"position": "DH",
"weight": 4.0,
"quality": 0.5849992359851044,
"contact": 0.26247059210535856,
"power": 1.0742454723607662,
"discipline": -0.06545238095238094,
"xwoba": 0.335,
"recent_xwoba": 0.335,
"barrel": 14.4,
"ab_hard_contact": 0.6544332567391389,
"ab_bat_speed": 70.36469952380952,
"ab_strikeout_rate": 0.27266666666666667,
"available": 1.0
},
{
"player_id": "694497",
"player_name": "Evan Carter",
"position": "CF",
"weight": 3.0,
"quality": -0.5368256915349561,
"contact": -0.7557212030092804,
"power": -0.602292588661574,
"discipline": 0.25667577895355675,
"xwoba": 0.288,
"recent_xwoba": 0.288,
"barrel": 5.7,
"ab_hard_contact": -0.8546136779933788,
"ab_bat_speed": 67.95194444444445,
"ab_strikeout_rate": 0.2559670781893004,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "700712",
"player_name": "Walbert Urena",
"quality": 0.42539913760801673,
"contact": 0.8071501894151593,
"command": -0.18013095238095256,
"movement": 0.7311927626215948,
"xwoba": 0.286,
"whiff": 28.2,
"faced_est_woba": 0.2673184860119048,
"faced_launch_speed": 83.86666666666667,
"faced_strikeout_rate": 0.23333333333333334,
"faced_run_exp": 0.006702420300892518
}
},
"home": {
"team": "LAA",
"original_runs": 2,
"run_delta": -0.3714,
"adjusted_runs": 2,
"lineup": {
"players_used": 9,
"total_weight": 32.0,
"quality": 0.0989791670817514,
"contact": -0.08451221022193475,
"power": 0.009548784114034592,
"discipline": 0.030753252617790314,
"xwoba": 0.31406249999999997,
"recent_xwoba": 0.31406249999999997,
"barrel": 7.984375,
"ab_hard_contact": 0.019594729899746033,
"ab_bat_speed": 69.9109314338116,
"ab_strikeout_rate": 0.252626211667924,
"available_players": 9,
"top_players": [
{
"player_id": "545361",
"player_name": "Mike Trout",
"position": "CF",
"weight": 5.0,
"quality": 1.213688926530283,
"contact": 1.0088091167353064,
"power": 1.5459444407045289,
"discipline": 1.0982200229489385,
"xwoba": 0.391,
"recent_xwoba": 0.391,
"barrel": 17.1,
"ab_hard_contact": 0.9295554807572572,
"ab_bat_speed": 73.6088211417097,
"ab_strikeout_rate": 0.26285140562248993,
"available": 1.0
},
{
"player_id": "624428",
"player_name": "Adam Frazier",
"position": "2B",
"weight": 3.0,
"quality": -0.6543466517284896,
"contact": -1.9163525876705516,
"power": -1.7205979089152028,
"discipline": -0.3516428571428569,
"xwoba": 0.233,
"recent_xwoba": 0.233,
"barrel": 1.6,
"ab_hard_contact": -1.6683391306849975,
"ab_bat_speed": 62.14914624183007,
"ab_strikeout_rate": 0.35000000000000003,
"available": 1.0
},
{
"player_id": "694203",
"player_name": "Denzer Guzman",
"position": "SS",
"weight": 4.0,
"quality": -0.3307933865749059,
"contact": -0.6809126764660701,
"power": -0.5843431017808136,
"discipline": -0.4127539682539683,
"xwoba": 0.274,
"recent_xwoba": 0.274,
"barrel": 5.3,
"ab_hard_contact": -0.4765763213305559,
"ab_bat_speed": 72.95300753968255,
"ab_strikeout_rate": 0.2711111111111111,
"available": 1.0
},
{
"player_id": "685133",
"player_name": "Wade Meckler",
"position": "DH",
"weight": 3.0,
"quality": -0.27337231282594154,
"contact": -0.2646017389799132,
"power": -0.6639907237145272,
"discipline": 0.05140531561461792,
"xwoba": 0.308,
"recent_xwoba": 0.308,
"barrel": 3.7,
"ab_hard_contact": -0.10762399810005696,
"ab_bat_speed": 66.9659173126615,
"ab_strikeout_rate": 0.24302325581395348,
"available": 1.0
},
{
"player_id": "642350",
"player_name": "Jose Siri",
"position": "LF",
"weight": 3.0,
"quality": 0.05686120428475237,
"contact": -0.11090723122797526,
"power": 0.8278534065884827,
"discipline": -1.0184993894993895,
"xwoba": 0.32,
"recent_xwoba": 0.32,
"barrel": 14.0,
"ab_hard_contact": 0.3524967031982348,
"ab_bat_speed": 69.85571581196581,
"ab_strikeout_rate": 0.3752136752136752,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "594798",
"player_name": "Jacob deGrom",
"quality": 0.361620828674607,
"contact": 0.11450634868531778,
"command": 0.7140119047619047,
"movement": 1.0081537431339034,
"xwoba": 0.294,
"whiff": 33.3,
"faced_est_woba": 0.2673184860119048,
"faced_launch_speed": 83.86666666666667,
"faced_strikeout_rate": 0.23333333333333334,
"faced_run_exp": 0.006702420300892518
}
}
},
"fundamental_edge_target_review": {
"applied": false,
"method": "post_score_adjustment_fundamental_edge_review_v1",
"previous_score": {
"away_runs": 3,
"home_runs": 2,
"winner_side": "away"
},
"adjusted_score": {
"away_runs": 3,
"home_runs": 2,
"winner_side": "away"
},
"signals": {
"season_quality_edge_home_minus_away": -0.5084,
"recent_form_edge_home_minus_away": -0.0513,
"pitcher_matchup_edge_home_minus_away": -0.0351,
"composite_home_edge": -0.5497,
"existing_home_win_probability": 0.491,
"refreshed_home_win_probability": 0.3,
"winner_support_before_review": 0.5497
},
"reasons": [
"target direction already matched refreshed fundamentals or margin was not fragile"
]
},
"confidence_note": "Calibrated to pre-simulation winner probability with starter-quality caps. Matchup recency guardrail cap enforced after calibration. Production confidence governor cap enforced.",
"pre_simulation_target": {
"away_runs": 3,
"home_runs": 2,
"predicted_score_text": "TEX 3 - 2 LAA",
"confidence": 0.522423,
"source": "enhanced_prediction_before_inning_simulation"
},
"score_source": "scoring_simulation.final_score",
"final_prediction_synced": true,
"final_prediction_source": "stable_final_prediction_policy",
"simulation_usage": "organic_score_same_winner",
"simulation_score_matches_prediction": true,
"simulation_reconciliation": {
"pre_simulation_score": {
"away_runs": 3,
"home_runs": 2,
"score_text": "TEX 3 - 2 LAA",
"winner": "TEX"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 3,
"score_text": "TEX 4 - 3 LAA",
"winner": "TEX"
},
"winner_flipped_by_simulation": false,
"simulation_would_flip_winner": false,
"sim_flipped_pre_winner": false,
"sim_flip_trusted": false,
"sim_flip_policy": "diagnostic_only_unless_independently_supported",
"independent_margin_support": false,
"independent_margin_support_evidence": {
"pitcher_matchup_edge_home_minus_away": -0.0351,
"recent_form_edge_home_minus_away": -0.0513,
"winner_direction": "away",
"thresholds": {
"pitcher_matchup": 0.35,
"recent_form": 0.75
}
},
"margin_widening_capped": false,
"simulation_winner_agrees": true,
"away_run_delta": 1,
"home_run_delta": 1,
"total_run_delta": 2,
"score_source": "scoring_simulation.final_score",
"simulation_usage": "organic_score_same_winner",
"final_prediction_source": "stable_final_prediction_policy",
"final_decision_policy": {
"policy_version": "model_winner_simulation_score_v1",
"away_runs": 4,
"home_runs": 3,
"winner": "TEX",
"model_winner": "TEX",
"simulation_winner": "TEX",
"simulation_winner_agrees": true,
"simulation_score_enabled": true,
"independent_margin_support": false,
"margin_widening_capped": false,
"model_margin": 1,
"simulation_margin": 1,
"simulation_usage": "organic_score_same_winner",
"score_source": "scoring_simulation.final_score",
"model_score": {
"away_runs": 3,
"home_runs": 2
},
"simulation_score": {
"away_runs": 4,
"home_runs": 3
}
},
"final_margin_quality_review": {
"review_required": false,
"pre_margin": 1,
"final_margin": 1,
"winner_quality_edge": 0.5084,
"winner": "TEX",
"reason": "final margin is directionally supported or within review threshold"
}
},
"decision_profile": {
"method": "priced_decision_profile_v2",
"winner": "TEX",
"display_confidence": 0.5224,
"internal_signal_score": 0.5489,
"internal_signal_status": "ranking_signal_not_a_calibrated_fair_probability",
"model_pick_probability": 0.5224,
"confidence_compression_detected": false,
"moneyline_fit": "unavailable_without_market_price",
"betting_status": "price_required_before_betting_analysis",
"market_context": null,
"margin_fit": "moneyline_preferred_over_margin",
"totals_fit": "low_total_lean",
"winner_accuracy_and_margin_accuracy_decoupled": true,
"signals": {
"final_margin": 1,
"winner_quality_edge": 0.5084,
"winner_recent_form_edge": 0.168,
"winner_pitcher_matchup_edge": 0.0351,
"winner_simulation_draw_rate": 0.375,
"blowout_draw_rate_margin_4_plus": 0.125,
"high_total_draw_rate_11_plus": 0.0,
"low_total_draw_rate_6_or_less": 0.375,
"total_runs_spread": {
"min": 2,
"median": 7,
"max": 9,
"range": 7
}
},
"interpretation": "The internal signal is diagnostic, not a sportsbook fair price. A bet cannot be evaluated without a source-labelled market price; model/market disagreements are a pass until independently validated."
}
}Source: data/all_players_stats.csv embedded Savant hitter features. It adjusts team offense through expected production and contact quality, then records coverage so missing hitters are visible.
| Team | Applied | Offense Factor | Raw Avg Factor | Coverage Weight | Covered | Missing |
|---|---|---|---|---|---|---|
| Away TEX | True | 1.0167 | 1.0167 | 1 | 9 | 0 |
| Home LAA | True | 1.0147 | 1.0147 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1B | Joc Pederson | 91 | 1.0758 | 1.0113 | neutral | 0.3570 | 0.2560 | 0.4660 | 11.60 | 50 | 92 | 14.90 | 29.90 | 22.80 | 11.70 | -0.2571 |
| DH | Corey Seager | 169 | 1.0702 | 0.9355 | positive_batter_regression | 0.3350 | 0.2310 | 0.4510 | 14.40 | 46.30 | 91.40 | 12.80 | 34.90 | 25.50 | 12 | 1.2571 |
| 3B | Ezequiel Duran | 56 | 0.9955 | -0.0594 | negative_batter_regression | 0.3050 | 0.2500 | 0.3800 | 6.30 | 36.20 | 88.60 | 11.50 | 26.40 | 23.40 | 7.30 | -0.8857 |
| SS | Nicky Lopez | 440 | 0.9480 | -0.6929 | neutral | 0.2570 | 0.2410 | 0.2890 | 0 | 21.90 | 84.40 | 2.50 | 18.40 | 16.20 | 4.40 | -0.7143 |
| RF | Brandon Nimmo | 72 | 1.1125 | 1.5005 | neutral | 0.3730 | 0.2930 | 0.5030 | 11.10 | 52 | 92.20 | 11.50 | 22.20 | 21.60 | 8.10 | 0.7714 |
| LF | Wyatt Langford | 83 | 0.9950 | -0.0660 | negative_batter_regression | 0.3030 | 0.2310 | 0.3930 | 8 | 37.50 | 89.30 | 19.50 | 24.90 | 22.90 | 7.50 | -1.0857 |
| C | Austin Wynns | 530 | 0.9720 | -0.3731 | positive_batter_regression | 0.2370 | 0.1980 | 0.2940 | 3.60 | 27.30 | 85.10 | 17.70 | 25.40 | 26.30 | 5 | 2 |
| CF | Evan Carter | 104 | 0.9704 | -0.3949 | neutral | 0.2880 | 0.1990 | 0.3220 | 5.70 | 36.30 | 87.50 | 17.50 | 28.80 | 23.70 | 12.40 | 0.0857 |
| 2B | Justin Foscue | 246 | 1.0113 | 0.1503 | neutral | 0.3160 | 0.2350 | 0.4160 | 10 | 42 | 89 | 18.20 | 21.60 | 27.40 | 7.60 | -0.6571 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| DH | Wade Meckler | 158 | 0.9880 | -0.1604 | negative_batter_regression | 0.3080 | 0.2570 | 0.3630 | 3.70 | 29.40 | 86 | 6.30 | 23.40 | 21.40 | 8.70 | -1.1429 |
| 3B | Vaughn Grissom | 280 | 1.0241 | 0.3214 | neutral | 0.3200 | 0.2570 | 0.3980 | 6.80 | 39.40 | 88.40 | 12.60 | 22.30 | 17.10 | 7 | 0.2571 |
| SS | Denzer Guzman | 532 | 0.9801 | -0.2657 | neutral | 0.2740 | 0.2300 | 0.3370 | 5.30 | 32.70 | 87.50 | 10.20 | 23.50 | 25.10 | 6 | -0.1143 |
| RF | Josh Lowe | 523 | 1.0047 | 0.0625 | neutral | 0.2940 | 0.2190 | 0.3950 | 8.80 | 38.10 | 89.10 | 19.20 | 31.20 | 27.90 | 7.40 | 0.7714 |
| LF | Jose Siri | 201 | 1.0135 | 0.1798 | neutral | 0.3200 | 0.2320 | 0.4490 | 14 | 43 | 88.80 | 17.20 | 34.80 | 31 | 6.30 | -0.6000 |
| 2B | Adam Frazier | 332 | 0.9466 | -0.7123 | negative_batter_regression | 0.2330 | 0.1780 | 0.2410 | 1.60 | 14.50 | 84 | 14.60 | 26.40 | 29.40 | 8.80 | -0.9714 |
| C | Moisés Ballesteros | 464 | 1.0270 | 0.3595 | neutral | 0.3100 | 0.2430 | 0.3930 | 9.10 | 47.20 | 90.40 | 10 | 27.10 | 21 | 8.80 | 0.8571 |
| CF | Mike Trout | 28 | 1.1268 | 1.6901 | positive_batter_regression | 0.3910 | 0.2560 | 0.5120 | 17.10 | 47.80 | 90.30 | 17.50 | 23.70 | 25.70 | 18.20 | 0.8571 |
| 1B | Nolan Schanuel | 117 | 1.0217 | 0.2893 | neutral | 0.3310 | 0.2800 | 0.3850 | 2.50 | 32.90 | 87.50 | 11.80 | 16.50 | 13.40 | 9.40 | 0.1143 |
{
"home": {
"applied": true,
"offense_factor": 1.0147,
"raw_average_factor": 1.0147,
"team_espn_average_rank": 292.78,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "DH",
"player_id": "685133",
"player_name": "Wade Meckler",
"offense_factor": 0.988,
"quality_score": -0.1604,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "685133",
"espn_id": 4424090,
"player_name": "Wade Meckler",
"team": "LAA",
"role": "batter",
"espn_rank": 158,
"espn_total_ranked": 636,
"metrics": {
"espn_rank": 158,
"gp_value": 63.0,
"gp_rank": 312,
"ab_value": 181.0,
"ab_rank": 295,
"r_value": 24.0,
"r_rank": 276,
"h_value": 55.0,
"h_rank": 239,
"avg_value": 0.3038674,
"avg_rank": null,
"2b_value": 10.0,
"2b_rank": 235,
"3b_value": 0.0,
"3b_rank": 265,
"hr_value": 3.0,
"hr_rank": 336,
"rbi_value": 20.0,
"rbi_rank": 309,
"tb_value": 74.0,
"tb_rank": 2012,
"bb_value": 18.0,
"bb_rank": 261,
"so_value": 43.0,
"so_rank": 299,
"sb_value": 4.0,
"sb_rank": 183,
"obp_value": 0.37,
"obp_rank": "-",
"slg_value": 0.4088397,
"slg_rank": "-",
"ops_value": 0.7788397,
"ops_rank": null,
"war_value": 1.3,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 144.0,
"k_percent": 21.4,
"bb_percent": 8.7,
"woba": 0.348,
"xwoba": 0.308,
"xba": 0.257,
"xslg": 0.363,
"sweet_spot_percent": 37.5,
"barrel_batted_rate": 3.7,
"hard_hit_percent": 29.4,
"exit_velocity_avg": 86.0,
"launch_angle_avg": 6.3,
"whiff_percent": 23.4,
"swing_percent": 45.8
},
"components": {
"expected_quality": -0.0989,
"regression_edge": -1.1429,
"xwoba_edge": 0.1571,
"xba_edge": 0.5714,
"xslg_edge": -0.0714,
"barrel_edge": -0.7,
"hard_hit_edge": -1.1929,
"exit_velocity_edge": -1.04,
"sweet_spot_edge": 0.7,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "687093",
"player_name": "Vaughn Grissom",
"offense_factor": 1.0241,
"quality_score": 0.3214,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687093",
"espn_id": 42503,
"player_name": "Vaughn Grissom",
"team": "LAA",
"role": "batter",
"espn_rank": 280,
"espn_total_ranked": 636,
"metrics": {
"espn_rank": 280,
"gp_value": 79.0,
"gp_rank": 239,
"ab_value": 272.0,
"ab_rank": 202,
"r_value": 30.0,
"r_rank": 230,
"h_value": 68.0,
"h_rank": 184,
"avg_value": 0.25,
"avg_rank": null,
"2b_value": 16.0,
"2b_rank": 131,
"3b_value": 0.0,
"3b_rank": 265,
"hr_value": 7.0,
"hr_rank": 215,
"rbi_value": 47.0,
"rbi_rank": 116,
"tb_value": 105.0,
"tb_rank": 1490,
"bb_value": 21.0,
"bb_rank": 231,
"so_value": 51.0,
"so_rank": 254,
"sb_value": 0.0,
"sb_rank": 408,
"obp_value": 0.3112582,
"obp_rank": "-",
"slg_value": 0.3860294,
"slg_rank": "-",
"ops_value": 0.6972876,
"ops_rank": null,
"war_value": 0.44,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 227.0,
"k_percent": 17.1,
"bb_percent": 7.0,
"woba": 0.311,
"xwoba": 0.32,
"xba": 0.257,
"xslg": 0.398,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 6.8,
"hard_hit_percent": 39.4,
"exit_velocity_avg": 88.4,
"launch_angle_avg": 12.6,
"whiff_percent": 22.3,
"swing_percent": 49.2
},
"components": {
"expected_quality": 0.3319,
"regression_edge": 0.2571,
"xwoba_edge": 0.5,
"xba_edge": 0.5714,
"xslg_edge": 0.4286,
"barrel_edge": -0.0111,
"hard_hit_edge": 0.2357,
"exit_velocity_edge": -0.08,
"sweet_spot_edge": 0.0333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "694203",
"player_name": "Denzer Guzman",
"offense_factor": 0.9801,
"quality_score": -0.2657,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694203",
"espn_id": 4917822,
"player_name": "Denzer Guzman",
"team": "LAA",
"role": "batter",
"espn_rank": 532,
"espn_total_ranked": 636,
"metrics": {
"espn_rank": 532,
"gp_value": 49.0,
"gp_rank": 371,
"ab_value": 158.0,
"ab_rank": 327,
"r_value": 15.0,
"r_rank": 366,
"h_value": 36.0,
"h_rank": 327,
"avg_value": 0.2278481,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 386,
"3b_value": 0.0,
"3b_rank": 265,
"hr_value": 5.0,
"hr_rank": 267,
"rbi_value": 17.0,
"rbi_rank": 332,
"tb_value": 55.0,
"tb_rank": 2044,
"bb_value": 10.0,
"bb_rank": 364,
"so_value": 42.0,
"so_rank": 306,
"sb_value": 2.0,
"sb_rank": 250,
"obp_value": 0.2781065,
"obp_rank": "-",
"slg_value": 0.3481012,
"slg_rank": "-",
"ops_value": 0.6262077,
"ops_rank": null,
"war_value": -0.3,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 126.0,
"k_percent": 25.1,
"bb_percent": 6.0,
"woba": 0.278,
"xwoba": 0.274,
"xba": 0.23,
"xslg": 0.337,
"sweet_spot_percent": 33.6,
"barrel_batted_rate": 5.3,
"hard_hit_percent": 32.7,
"exit_velocity_avg": 87.5,
"launch_angle_avg": 10.2,
"whiff_percent": 23.5,
"swing_percent": 52.4
},
"components": {
"expected_quality": -0.5207,
"regression_edge": -0.1143,
"xwoba_edge": -0.8143,
"xba_edge": -0.2,
"xslg_edge": -0.4429,
"barrel_edge": -0.3444,
"hard_hit_edge": -0.7214,
"exit_velocity_edge": -0.44,
"sweet_spot_edge": 0.05,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "666139",
"player_name": "Josh Lowe",
"offense_factor": 1.0047,
"quality_score": 0.0625,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "666139",
"espn_id": 40557,
"player_name": "Josh Lowe",
"team": "LAA",
"role": "batter",
"espn_rank": 523,
"espn_total_ranked": 636,
"metrics": {
"espn_rank": 523,
"gp_value": 77.0,
"gp_rank": 249,
"ab_value": 210.0,
"ab_rank": 266,
"r_value": 19.0,
"r_rank": 325,
"h_value": 42.0,
"h_rank": 293,
"avg_value": 0.2,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 355,
"3b_value": 0.0,
"3b_rank": 265,
"hr_value": 8.0,
"hr_rank": 191,
"rbi_value": 22.0,
"rbi_rank": 282,
"tb_value": 71.0,
"tb_rank": 1751,
"bb_value": 17.0,
"bb_rank": 279,
"so_value": 65.0,
"so_rank": 200,
"sb_value": 4.0,
"sb_rank": 183,
"obp_value": 0.2620087,
"obp_rank": "-",
"slg_value": 0.3380952,
"slg_rank": "-",
"ops_value": 0.6001039,
"ops_rank": null,
"war_value": -0.26,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 192.0,
"k_percent": 27.9,
"bb_percent": 7.4,
"woba": 0.267,
"xwoba": 0.294,
"xba": 0.219,
"xslg": 0.395,
"sweet_spot_percent": 29.9,
"barrel_batted_rate": 8.8,
"hard_hit_percent": 38.1,
"exit_velocity_avg": 89.1,
"launch_angle_avg": 19.2,
"whiff_percent": 31.2,
"swing_percent": 56.9
},
"components": {
"expected_quality": -0.0423,
"regression_edge": 0.7714,
"xwoba_edge": -0.2429,
"xba_edge": -0.5143,
"xslg_edge": 0.3857,
"barrel_edge": 0.4333,
"hard_hit_edge": 0.05,
"exit_velocity_edge": 0.2,
"sweet_spot_edge": -0.5667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "642350",
"player_name": "Jose Siri",
"offense_factor": 1.0135,
"quality_score": 0.1798,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "642350",
"espn_id": 33954,
"player_name": "Jose Siri",
"team": "LAA",
"role": "batter",
"espn_rank": 201,
"espn_total_ranked": 636,
"metrics": {
"espn_rank": 201,
"gp_value": 67.0,
"gp_rank": 292,
"ab_value": 130.0,
"ab_rank": 360,
"r_value": 24.0,
"r_rank": 276,
"h_value": 34.0,
"h_rank": 342,
"avg_value": 0.2615384,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 277,
"3b_value": 0.0,
"3b_rank": 265,
"hr_value": 7.0,
"hr_rank": 215,
"rbi_value": 21.0,
"rbi_rank": 295,
"tb_value": 63.0,
"tb_rank": 1794,
"bb_value": 9.0,
"bb_rank": 381,
"so_value": 45.0,
"so_rank": 284,
"sb_value": 3.0,
"sb_rank": 214,
"obp_value": 0.3169014,
"obp_rank": "-",
"slg_value": 0.4846153,
"slg_rank": "-",
"ops_value": 0.8015167,
"ops_rank": null,
"war_value": 0.9,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 99.0,
"k_percent": 31.0,
"bb_percent": 6.3,
"woba": 0.341,
"xwoba": 0.32,
"xba": 0.232,
"xslg": 0.449,
"sweet_spot_percent": 32.2,
"barrel_batted_rate": 14.0,
"hard_hit_percent": 43.0,
"exit_velocity_avg": 88.8,
"launch_angle_avg": 17.2,
"whiff_percent": 34.8,
"swing_percent": 55.1
},
"components": {
"expected_quality": 0.5622,
"regression_edge": -0.6,
"xwoba_edge": 0.5,
"xba_edge": -0.1429,
"xslg_edge": 1.1571,
"barrel_edge": 1.5889,
"hard_hit_edge": 0.75,
"exit_velocity_edge": 0.08,
"sweet_spot_edge": -0.1833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "624428",
"player_name": "Adam Frazier",
"offense_factor": 0.9466,
"quality_score": -0.7123,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "624428",
"espn_id": 33546,
"player_name": "Adam Frazier",
"team": "LAA",
"role": "batter",
"espn_rank": 332,
"espn_total_ranked": 636,
"metrics": {
"espn_rank": 332,
"gp_value": 45.0,
"gp_rank": 380,
"ab_value": 91.0,
"ab_rank": 417,
"r_value": 15.0,
"r_rank": 366,
"h_value": 19.0,
"h_rank": 417,
"avg_value": 0.2087912,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 355,
"3b_value": 1.0,
"3b_rank": 115,
"hr_value": 1.0,
"hr_rank": 433,
"rbi_value": 7.0,
"rbi_rank": 435,
"tb_value": 29.0,
"tb_rank": 2301,
"bb_value": 9.0,
"bb_rank": 381,
"so_value": 30.0,
"so_rank": 383,
"sb_value": 0.0,
"sb_rank": 408,
"obp_value": 0.2871287,
"obp_rank": "-",
"slg_value": 0.3186813,
"slg_rank": "-",
"ops_value": 0.60581,
"ops_rank": null,
"war_value": 0.2,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 90.0,
"k_percent": 29.4,
"bb_percent": 8.8,
"woba": 0.267,
"xwoba": 0.233,
"xba": 0.178,
"xslg": 0.241,
"sweet_spot_percent": 29.0,
"barrel_batted_rate": 1.6,
"hard_hit_percent": 14.5,
"exit_velocity_avg": 84.0,
"launch_angle_avg": 14.6,
"whiff_percent": 26.4,
"swing_percent": 53.0
},
"components": {
"expected_quality": -1.6825,
"regression_edge": -0.9714,
"xwoba_edge": -1.9857,
"xba_edge": -1.6857,
"xslg_edge": -1.8143,
"barrel_edge": -1.1667,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -1.84,
"sweet_spot_edge": -0.7167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "694208",
"player_name": "Moisés Ballesteros",
"offense_factor": 1.027,
"quality_score": 0.3595,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694208",
"espn_id": 4987418,
"player_name": "Moises Ballesteros",
"team": "LAA",
"role": "batter",
"espn_rank": 464,
"espn_total_ranked": 636,
"metrics": {
"espn_rank": 464,
"gp_value": 68.0,
"gp_rank": 286,
"ab_value": 187.0,
"ab_rank": 288,
"r_value": 16.0,
"r_rank": 356,
"h_value": 41.0,
"h_rank": 299,
"avg_value": 0.2192513,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 324,
"3b_value": 0.0,
"3b_rank": 265,
"hr_value": 6.0,
"hr_rank": 242,
"rbi_value": 23.0,
"rbi_rank": 273,
"tb_value": 65.0,
"tb_rank": 1879,
"bb_value": 20.0,
"bb_rank": 242,
"so_value": 44.0,
"so_rank": 291,
"sb_value": 1.0,
"sb_rank": 307,
"obp_value": 0.291866,
"obp_rank": "-",
"slg_value": 0.3475935,
"slg_rank": "-",
"ops_value": 0.6394595,
"ops_rank": null,
"war_value": -0.11,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 173.0,
"k_percent": 21.0,
"bb_percent": 8.8,
"woba": 0.28,
"xwoba": 0.31,
"xba": 0.243,
"xslg": 0.393,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 9.1,
"hard_hit_percent": 47.2,
"exit_velocity_avg": 90.4,
"launch_angle_avg": 10.0,
"whiff_percent": 27.1,
"swing_percent": 49.1
},
"components": {
"expected_quality": 0.392,
"regression_edge": 0.8571,
"xwoba_edge": 0.2143,
"xba_edge": 0.1714,
"xslg_edge": 0.3571,
"barrel_edge": 0.5,
"hard_hit_edge": 1.35,
"exit_velocity_edge": 0.72,
"sweet_spot_edge": 0.0,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "545361",
"player_name": "Mike Trout",
"offense_factor": 1.1268,
"quality_score": 1.6901,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "545361",
"espn_id": 30836,
"player_name": "Mike Trout",
"team": "LAA",
"role": "batter",
"espn_rank": 28,
"espn_total_ranked": 636,
"metrics": {
"espn_rank": 28,
"gp_value": 102.0,
"gp_rank": 139,
"ab_value": 367.0,
"ab_rank": 116,
"r_value": 68.0,
"r_rank": 32,
"h_value": 88.0,
"h_rank": 122,
"avg_value": 0.239782,
"avg_rank": 105.0,
"2b_value": 16.0,
"2b_rank": 131,
"3b_value": 0.0,
"3b_rank": 265,
"hr_value": 20.0,
"hr_rank": 37,
"rbi_value": 44.0,
"rbi_rank": 131,
"tb_value": 164.0,
"tb_rank": 894,
"bb_value": 82.0,
"bb_rank": 5,
"so_value": 116.0,
"so_rank": 41,
"sb_value": 10.0,
"sb_rank": 70,
"obp_value": 0.3859649,
"obp_rank": "7",
"slg_value": 0.4468664,
"slg_rank": "56",
"ops_value": 0.8328313,
"ops_rank": 49.0,
"war_value": 3.52,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 363.0,
"k_percent": 25.7,
"bb_percent": 18.2,
"woba": 0.361,
"xwoba": 0.391,
"xba": 0.256,
"xslg": 0.512,
"sweet_spot_percent": 36.8,
"barrel_batted_rate": 17.1,
"hard_hit_percent": 47.8,
"exit_velocity_avg": 90.3,
"launch_angle_avg": 17.5,
"whiff_percent": 23.7,
"swing_percent": 39.4
},
"components": {
"expected_quality": 1.8256,
"regression_edge": 0.8571,
"xwoba_edge": 2.5,
"xba_edge": 0.5429,
"xslg_edge": 2.0571,
"barrel_edge": 2.2778,
"hard_hit_edge": 1.4357,
"exit_velocity_edge": 0.68,
"sweet_spot_edge": 0.5833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "694384",
"player_name": "Nolan Schanuel",
"offense_factor": 1.0217,
"quality_score": 0.2893,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694384",
"espn_id": 4739755,
"player_name": "Nolan Schanuel",
"team": "LAA",
"role": "batter",
"espn_rank": 117,
"espn_total_ranked": 636,
"metrics": {
"espn_rank": 117,
"gp_value": 101.0,
"gp_rank": 145,
"ab_value": 370.0,
"ab_rank": 115,
"r_value": 39.0,
"r_rank": 176,
"h_value": 100.0,
"h_rank": 89,
"avg_value": 0.2702702,
"avg_rank": 43.0,
"2b_value": 21.0,
"2b_rank": 60,
"3b_value": 0.0,
"3b_rank": 265,
"hr_value": 7.0,
"hr_rank": 215,
"rbi_value": 42.0,
"rbi_rank": 148,
"tb_value": 142.0,
"tb_rank": 1324,
"bb_value": 40.0,
"bb_rank": 94,
"so_value": 57.0,
"so_rank": 232,
"sb_value": 1.0,
"sb_rank": 307,
"obp_value": 0.3467933,
"obp_rank": "51",
"slg_value": 0.3837837,
"slg_rank": "116",
"ops_value": 0.730577,
"ops_rank": 167.0,
"war_value": 1.62,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 337.0,
"k_percent": 13.4,
"bb_percent": 9.4,
"woba": 0.327,
"xwoba": 0.331,
"xba": 0.28,
"xslg": 0.385,
"sweet_spot_percent": 36.1,
"barrel_batted_rate": 2.5,
"hard_hit_percent": 32.9,
"exit_velocity_avg": 87.5,
"launch_angle_avg": 11.8,
"whiff_percent": 16.5,
"swing_percent": 44.7
},
"components": {
"expected_quality": 0.3178,
"regression_edge": 0.1143,
"xwoba_edge": 0.8143,
"xba_edge": 1.2286,
"xslg_edge": 0.2429,
"barrel_edge": -0.9667,
"hard_hit_edge": -0.6929,
"exit_velocity_edge": -0.44,
"sweet_spot_edge": 0.4667,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0167,
"raw_average_factor": 1.0167,
"team_espn_average_rank": 199.0,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "1B",
"player_id": "592626",
"player_name": "Joc Pederson",
"offense_factor": 1.0758,
"quality_score": 1.0113,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "592626",
"espn_id": 31392,
"player_name": "Joc Pederson",
"team": "TEX",
"role": "batter",
"espn_rank": 91,
"espn_total_ranked": 636,
"metrics": {
"espn_rank": 91,
"gp_value": 109.0,
"gp_rank": 113,
"ab_value": 313.0,
"ab_rank": 165,
"r_value": 49.0,
"r_rank": 120,
"h_value": 79.0,
"h_rank": 150,
"avg_value": 0.2523961,
"avg_rank": 81.0,
"2b_value": 11.0,
"2b_rank": 217,
"3b_value": 2.0,
"3b_rank": 56,
"hr_value": 22.0,
"hr_rank": 27,
"rbi_value": 46.0,
"rbi_rank": 122,
"tb_value": 160.0,
"tb_rank": 560,
"bb_value": 43.0,
"bb_rank": 79,
"so_value": 82.0,
"so_rank": 126,
"sb_value": 2.0,
"sb_rank": 250,
"obp_value": 0.3453038,
"obp_rank": "55",
"slg_value": 0.5111821,
"slg_rank": "15",
"ops_value": 0.8564859,
"ops_rank": 70.0,
"war_value": 2.04,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 300.0,
"k_percent": 22.8,
"bb_percent": 11.7,
"woba": 0.366,
"xwoba": 0.357,
"xba": 0.256,
"xslg": 0.466,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 11.6,
"hard_hit_percent": 50.0,
"exit_velocity_avg": 92.0,
"launch_angle_avg": 14.9,
"whiff_percent": 29.9,
"swing_percent": 46.2
},
"components": {
"expected_quality": 1.2178,
"regression_edge": -0.2571,
"xwoba_edge": 1.5571,
"xba_edge": 0.5429,
"xslg_edge": 1.4,
"barrel_edge": 1.0556,
"hard_hit_edge": 1.75,
"exit_velocity_edge": 1.36,
"sweet_spot_edge": -0.0833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "608369",
"player_name": "Corey Seager",
"offense_factor": 1.0702,
"quality_score": 0.9355,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "608369",
"espn_id": 32691,
"player_name": "Corey Seager",
"team": "TEX",
"role": "batter",
"espn_rank": 169,
"espn_total_ranked": 636,
"metrics": {
"espn_rank": 169,
"gp_value": 62.0,
"gp_rank": 315,
"ab_value": 228.0,
"ab_rank": 249,
"r_value": 34.0,
"r_rank": 205,
"h_value": 46.0,
"h_rank": 271,
"avg_value": 0.2017543,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 277,
"3b_value": 0.0,
"3b_rank": 265,
"hr_value": 12.0,
"hr_rank": 128,
"rbi_value": 29.0,
"rbi_rank": 228,
"tb_value": 90.0,
"tb_rank": 1462,
"bb_value": 31.0,
"bb_rank": 154,
"so_value": 66.0,
"so_rank": 189,
"sb_value": 1.0,
"sb_rank": 307,
"obp_value": 0.3003802,
"obp_rank": "-",
"slg_value": 0.3947368,
"slg_rank": "-",
"ops_value": 0.695117,
"ops_rank": null,
"war_value": 1.22,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 217.0,
"k_percent": 25.5,
"bb_percent": 12.0,
"woba": 0.291,
"xwoba": 0.335,
"xba": 0.231,
"xslg": 0.451,
"sweet_spot_percent": 32.5,
"barrel_batted_rate": 14.4,
"hard_hit_percent": 46.3,
"exit_velocity_avg": 91.4,
"launch_angle_avg": 12.8,
"whiff_percent": 34.9,
"swing_percent": 51.7
},
"components": {
"expected_quality": 0.8981,
"regression_edge": 1.2571,
"xwoba_edge": 0.9286,
"xba_edge": -0.1714,
"xslg_edge": 1.1857,
"barrel_edge": 1.6778,
"hard_hit_edge": 1.2214,
"exit_velocity_edge": 1.12,
"sweet_spot_edge": -0.1333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "677649",
"player_name": "Ezequiel Duran",
"offense_factor": 0.9955,
"quality_score": -0.0594,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "677649",
"espn_id": 42457,
"player_name": "Ezequiel Duran",
"team": "TEX",
"role": "batter",
"espn_rank": 56,
"espn_total_ranked": 636,
"metrics": {
"espn_rank": 56,
"gp_value": 112.0,
"gp_rank": 93,
"ab_value": 387.0,
"ab_rank": 100,
"r_value": 54.0,
"r_rank": 95,
"h_value": 104.0,
"h_rank": 79,
"avg_value": 0.2687338,
"avg_rank": 46.0,
"2b_value": 22.0,
"2b_rank": 53,
"3b_value": 3.0,
"3b_rank": 25,
"hr_value": 13.0,
"hr_rank": 106,
"rbi_value": 64.0,
"rbi_rank": 41,
"tb_value": 171.0,
"tb_rank": 500,
"bb_value": 31.0,
"bb_rank": 154,
"so_value": 102.0,
"so_rank": 66,
"sb_value": 9.0,
"sb_rank": 82,
"obp_value": 0.3239436,
"obp_rank": "87",
"slg_value": 0.4418604,
"slg_rank": "60",
"ops_value": 0.765804,
"ops_rank": 27.0,
"war_value": 2.7,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 339.0,
"k_percent": 23.4,
"bb_percent": 7.3,
"woba": 0.336,
"xwoba": 0.305,
"xba": 0.25,
"xslg": 0.38,
"sweet_spot_percent": 36.2,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 36.2,
"exit_velocity_avg": 88.6,
"launch_angle_avg": 11.5,
"whiff_percent": 26.4,
"swing_percent": 51.6
},
"components": {
"expected_quality": 0.0751,
"regression_edge": -0.8857,
"xwoba_edge": 0.0714,
"xba_edge": 0.3714,
"xslg_edge": 0.1714,
"barrel_edge": -0.1222,
"hard_hit_edge": -0.2214,
"exit_velocity_edge": 0.0,
"sweet_spot_edge": 0.4833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "670032",
"player_name": "Nicky Lopez",
"offense_factor": 0.948,
"quality_score": -0.6929,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "670032",
"espn_id": 38106,
"player_name": "Nicky Lopez",
"team": "TEX",
"role": "batter",
"espn_rank": 440,
"espn_total_ranked": 636,
"metrics": {
"espn_rank": 440,
"gp_value": 68.0,
"gp_rank": 286,
"ab_value": 186.0,
"ab_rank": 290,
"r_value": 19.0,
"r_rank": 325,
"h_value": 50.0,
"h_rank": 259,
"avg_value": 0.2688172,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 421,
"3b_value": 1.0,
"3b_rank": 115,
"hr_value": 1.0,
"hr_rank": 433,
"rbi_value": 20.0,
"rbi_rank": 309,
"tb_value": 58.0,
"tb_rank": 2209,
"bb_value": 9.0,
"bb_rank": 381,
"so_value": 34.0,
"so_rank": 352,
"sb_value": 4.0,
"sb_rank": 183,
"obp_value": 0.3115577,
"obp_rank": "-",
"slg_value": 0.3118279,
"slg_rank": "-",
"ops_value": 0.6233856,
"ops_rank": null,
"war_value": -0.05,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 139.0,
"k_percent": 16.2,
"bb_percent": 4.4,
"woba": 0.282,
"xwoba": 0.257,
"xba": 0.241,
"xslg": 0.289,
"sweet_spot_percent": 26.3,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 21.9,
"exit_velocity_avg": 84.4,
"launch_angle_avg": 2.5,
"whiff_percent": 18.4,
"swing_percent": 52.2
},
"components": {
"expected_quality": -1.159,
"regression_edge": -0.7143,
"xwoba_edge": -1.3,
"xba_edge": 0.1143,
"xslg_edge": -1.1286,
"barrel_edge": -1.5222,
"hard_hit_edge": -2.2643,
"exit_velocity_edge": -1.68,
"sweet_spot_edge": -1.1667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "607043",
"player_name": "Brandon Nimmo",
"offense_factor": 1.1125,
"quality_score": 1.5005,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "607043",
"espn_id": 32159,
"player_name": "Brandon Nimmo",
"team": "TEX",
"role": "batter",
"espn_rank": 72,
"espn_total_ranked": 636,
"metrics": {
"espn_rank": 72,
"gp_value": 115.0,
"gp_rank": 64,
"ab_value": 439.0,
"ab_rank": 44,
"r_value": 50.0,
"r_rank": 114,
"h_value": 121.0,
"h_rank": 27,
"avg_value": 0.2756264,
"avg_rank": 33.0,
"2b_value": 27.0,
"2b_rank": 8,
"3b_value": 4.0,
"3b_rank": 15,
"hr_value": 13.0,
"hr_rank": 106,
"rbi_value": 47.0,
"rbi_rank": 116,
"tb_value": 195.0,
"tb_rank": 383,
"bb_value": 39.0,
"bb_rank": 102,
"so_value": 105.0,
"so_rank": 59,
"sb_value": 6.0,
"sb_rank": 135,
"obp_value": 0.3415637,
"obp_rank": "57",
"slg_value": 0.4441913,
"slg_rank": "59",
"ops_value": 0.785755,
"ops_rank": 2.0,
"war_value": 2.33,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 403.0,
"k_percent": 21.6,
"bb_percent": 8.1,
"woba": 0.346,
"xwoba": 0.373,
"xba": 0.293,
"xslg": 0.503,
"sweet_spot_percent": 37.5,
"barrel_batted_rate": 11.1,
"hard_hit_percent": 52.0,
"exit_velocity_avg": 92.2,
"launch_angle_avg": 11.5,
"whiff_percent": 22.2,
"swing_percent": 50.4
},
"components": {
"expected_quality": 1.6191,
"regression_edge": 0.7714,
"xwoba_edge": 2.0143,
"xba_edge": 1.6,
"xslg_edge": 1.9286,
"barrel_edge": 0.9444,
"hard_hit_edge": 2.0357,
"exit_velocity_edge": 1.44,
"sweet_spot_edge": 0.7,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "694671",
"player_name": "Wyatt Langford",
"offense_factor": 0.995,
"quality_score": -0.066,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "694671",
"espn_id": 4719324,
"player_name": "Wyatt Langford",
"team": "TEX",
"role": "batter",
"espn_rank": 83,
"espn_total_ranked": 636,
"metrics": {
"espn_rank": 83,
"gp_value": 69.0,
"gp_rank": 281,
"ab_value": 269.0,
"ab_rank": 205,
"r_value": 40.0,
"r_rank": 167,
"h_value": 68.0,
"h_rank": 184,
"avg_value": 0.2527881,
"avg_rank": null,
"2b_value": 14.0,
"2b_rank": 166,
"3b_value": 2.0,
"3b_rank": 56,
"hr_value": 13.0,
"hr_rank": 106,
"rbi_value": 31.0,
"rbi_rank": 212,
"tb_value": 125.0,
"tb_rank": 780,
"bb_value": 22.0,
"bb_rank": 219,
"so_value": 68.0,
"so_rank": 177,
"sb_value": 8.0,
"sb_rank": 92,
"obp_value": 0.3163265,
"obp_rank": "-",
"slg_value": 0.464684,
"slg_rank": "-",
"ops_value": 0.7810105,
"ops_rank": null,
"war_value": 2.17,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 216.0,
"k_percent": 22.9,
"bb_percent": 7.5,
"woba": 0.341,
"xwoba": 0.303,
"xba": 0.231,
"xslg": 0.393,
"sweet_spot_percent": 32.5,
"barrel_batted_rate": 8.0,
"hard_hit_percent": 37.5,
"exit_velocity_avg": 89.3,
"launch_angle_avg": 19.5,
"whiff_percent": 24.9,
"swing_percent": 48.4
},
"components": {
"expected_quality": 0.0985,
"regression_edge": -1.0857,
"xwoba_edge": 0.0143,
"xba_edge": -0.1714,
"xslg_edge": 0.3571,
"barrel_edge": 0.2556,
"hard_hit_edge": -0.0357,
"exit_velocity_edge": 0.28,
"sweet_spot_edge": -0.1333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "642851",
"player_name": "Austin Wynns",
"offense_factor": 0.972,
"quality_score": -0.3731,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "642851",
"espn_id": 35314,
"player_name": "Austin Wynns",
"team": "TEX",
"role": "batter",
"espn_rank": 530,
"espn_total_ranked": 636,
"metrics": {
"espn_rank": 530,
"gp_value": 31.0,
"gp_rank": 433,
"ab_value": 75.0,
"ab_rank": 438,
"r_value": 4.0,
"r_rank": 496,
"h_value": 10.0,
"h_rank": 478,
"avg_value": 0.1333333,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 546,
"3b_value": 0.0,
"3b_rank": 265,
"hr_value": 1.0,
"hr_rank": 433,
"rbi_value": 1.0,
"rbi_rank": 556,
"tb_value": 13.0,
"tb_rank": 2853,
"bb_value": 4.0,
"bb_rank": 461,
"so_value": 21.0,
"so_rank": 432,
"sb_value": 0.0,
"sb_rank": 408,
"obp_value": 0.1772151,
"obp_rank": "-",
"slg_value": 0.1733333,
"slg_rank": "-",
"ops_value": 0.3505484,
"ops_rank": null,
"war_value": -0.3,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 57.0,
"k_percent": 26.3,
"bb_percent": 5.0,
"woba": 0.163,
"xwoba": 0.237,
"xba": 0.198,
"xslg": 0.294,
"sweet_spot_percent": 30.9,
"barrel_batted_rate": 3.6,
"hard_hit_percent": 27.3,
"exit_velocity_avg": 85.1,
"launch_angle_avg": 17.7,
"whiff_percent": 25.4,
"swing_percent": 56.5
},
"components": {
"expected_quality": -1.2897,
"regression_edge": 2.0,
"xwoba_edge": -1.8714,
"xba_edge": -1.1143,
"xslg_edge": -1.0571,
"barrel_edge": -0.7222,
"hard_hit_edge": -1.4929,
"exit_velocity_edge": -1.4,
"sweet_spot_edge": -0.4,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "694497",
"player_name": "Evan Carter",
"offense_factor": 0.9704,
"quality_score": -0.3949,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694497",
"espn_id": 4917921,
"player_name": "Evan Carter",
"team": "TEX",
"role": "batter",
"espn_rank": 104,
"espn_total_ranked": 636,
"metrics": {
"espn_rank": 104,
"gp_value": 102.0,
"gp_rank": 139,
"ab_value": 286.0,
"ab_rank": 189,
"r_value": 40.0,
"r_rank": 167,
"h_value": 55.0,
"h_rank": 239,
"avg_value": 0.1923076,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": 257,
"3b_value": 2.0,
"3b_rank": 56,
"hr_value": 8.0,
"hr_rank": 191,
"rbi_value": 31.0,
"rbi_rank": 212,
"tb_value": 92.0,
"tb_rank": 1181,
"bb_value": 42.0,
"bb_rank": 86,
"so_value": 80.0,
"so_rank": 137,
"sb_value": 14.0,
"sb_rank": 49,
"obp_value": 0.3033033,
"obp_rank": "-",
"slg_value": 0.3216783,
"slg_rank": "-",
"ops_value": 0.6249816,
"ops_rank": null,
"war_value": 1.81,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 270.0,
"k_percent": 23.7,
"bb_percent": 12.4,
"woba": 0.285,
"xwoba": 0.288,
"xba": 0.199,
"xslg": 0.322,
"sweet_spot_percent": 27.4,
"barrel_batted_rate": 5.7,
"hard_hit_percent": 36.3,
"exit_velocity_avg": 87.5,
"launch_angle_avg": 17.5,
"whiff_percent": 28.8,
"swing_percent": 40.0
},
"components": {
"expected_quality": -0.4731,
"regression_edge": 0.0857,
"xwoba_edge": -0.4143,
"xba_edge": -1.0857,
"xslg_edge": -0.6571,
"barrel_edge": -0.2556,
"hard_hit_edge": -0.2071,
"exit_velocity_edge": -0.44,
"sweet_spot_edge": -0.9833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "679822",
"player_name": "Justin Foscue",
"offense_factor": 1.0113,
"quality_score": 0.1503,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "679822",
"espn_id": 4298639,
"player_name": "Justin Foscue",
"team": "TEX",
"role": "batter",
"espn_rank": 246,
"espn_total_ranked": 636,
"metrics": {
"espn_rank": 246,
"gp_value": 66.0,
"gp_rank": 296,
"ab_value": 143.0,
"ab_rank": 347,
"r_value": 16.0,
"r_rank": 356,
"h_value": 37.0,
"h_rank": 319,
"avg_value": 0.2587412,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 300,
"3b_value": 1.0,
"3b_rank": 115,
"hr_value": 7.0,
"hr_rank": 215,
"rbi_value": 21.0,
"rbi_rank": 295,
"tb_value": 67.0,
"tb_rank": 1494,
"bb_value": 12.0,
"bb_rank": 338,
"so_value": 43.0,
"so_rank": 299,
"sb_value": 0.0,
"sb_rank": 408,
"obp_value": 0.3227848,
"obp_rank": "-",
"slg_value": 0.4685314,
"slg_rank": "-",
"ops_value": 0.7913162,
"ops_rank": null,
"war_value": 0.61,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 124.0,
"k_percent": 27.4,
"bb_percent": 7.6,
"woba": 0.339,
"xwoba": 0.316,
"xba": 0.235,
"xslg": 0.416,
"sweet_spot_percent": 36.0,
"barrel_batted_rate": 10.0,
"hard_hit_percent": 42.0,
"exit_velocity_avg": 89.0,
"launch_angle_avg": 18.2,
"whiff_percent": 21.6,
"swing_percent": 42.7
},
"components": {
"expected_quality": 0.417,
"regression_edge": -0.6571,
"xwoba_edge": 0.3857,
"xba_edge": -0.0571,
"xslg_edge": 0.6857,
"barrel_edge": 0.7,
"hard_hit_edge": 0.6071,
"exit_velocity_edge": 0.16,
"sweet_spot_edge": 0.45,
"launch_angle_hr_bonus": 0.2
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"reason": "Baseball Savant hitter xwOBA, xBA, xSLG, exit velocity, launch angle, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted offense; ESPN rank is attached for reporting only"
}Source: data/all_players_stats.csv embedded Savant pitcher and movement features. Starter quality modifies opposing run scoring and pitcher strikeout/walk/homer expectations.
| Team | Pitcher | Available | ESPN Rank | Quality | Sample Wt | Run Prev | K Factor | BB Factor | HR Factor | Regression | xwOBA | wOBA | K% | BB% | Whiff% | Barrel% | HardHit% |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away TEX | True | 72 | 0.2754 | 1 | 0.9766 | 1.0891 | 0.9460 | 1.0635 | neutral | 0.2940 | 0.2870 | 29.60 | 6.20 | 33.30 | 9 | 45.50 | |
| Home LAA | True | 41 | 0.4045 | 1 | 0.9656 | 1.0177 | 1.0740 | 0.9105 | neutral | 0.2860 | 0.2830 | 22.20 | 12.60 | 28.20 | 4.70 | 33.30 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away TEX | True | None | 91 | 92.90 | 2437 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.1670 | |
| Home LAA | True | None | 98 | 93.58 | 2092 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.2046 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9656 |
| home_runs_vs_away_pitcher | 0.9766 |
| home_pitcher_quality_edge | 0.1291 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "700712",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 377.0,
"k_percent": 22.2,
"bb_percent": 12.6,
"woba": 0.283,
"xwoba": 0.286,
"sweet_spot_percent": 26.4,
"barrel_batted_rate": 4.7,
"hard_hit_percent": 33.3,
"avg_best_speed": 75.1675,
"avg_hyper_speed": 93.406,
"whiff_percent": 28.2,
"swing_percent": 45.1
},
"league_medians": {
"pa": 108.0,
"k_percent": 22.0,
"bb_percent": 8.9,
"woba": 0.3155,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5616,
"avg_hyper_speed": 93.8784,
"whiff_percent": 25.3,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.7211,
"command_and_miss": -0.0271,
"regression_edge": -0.0857,
"xwoba_edge": 0.7429,
"barrel_edge": 0.5333,
"hard_hit_edge": 0.6143,
"whiff_edge": 0.4143,
"bb_edge": -0.925,
"pitch_design_score": 0.2046
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "700712",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 98,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 98,
"pitch_usage": 0.0,
"release_speed": 93.57555202537328,
"release_spin_rate": 2092.4520410097794,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 98,
"pitch_usage": 0.0,
"release_speed": 93.57555202537328,
"release_spin_rate": 2092.4520410097794,
"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.5756,
"release_spin_rate": 2092.452,
"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.2046,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.4618,
"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.4045,
"sample_weight": 1.0,
"run_prevention_factor": 0.9656,
"strikeout_factor": 1.0177,
"walk_factor": 1.074,
"homer_factor": 0.9105,
"woba_minus_xwoba": -0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "700712",
"espn_id": 5197476,
"player_name": "Walbert Urena",
"team": "LAA",
"role": "pitcher",
"espn_rank": 41,
"espn_total_ranked": 806,
"metrics": {
"espn_rank": 41,
"gp_value": 21.0,
"gp_rank": 327,
"gs_value": 19.0,
"gs_rank": 84,
"qs_value": 9.0,
"qs_rank": 52,
"era_value": 2.8327,
"era_rank": null,
"w_value": 7.0,
"w_rank": 58,
"l_value": 8.0,
"l_rank": 31,
"sv_value": 0.0,
"sv_rank": 236,
"hld_value": 1.0,
"hld_rank": 244,
"ip_value": 101.2,
"ip_rank": 96,
"h_value": 76.0,
"h_rank": 126,
"er_value": 32.0,
"er_rank": 152,
"hr_value": 6.0,
"hr_rank": 228,
"bb_value": 55.0,
"bb_rank": 8,
"k_value": 97.0,
"k_rank": 80,
"k_per_9_value": 8.586885,
"k_per_9_rank": 22,
"whip_value": 1.2885,
"whip_rank": null,
"war_value": 2.33,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "594798",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 421.0,
"k_percent": 29.6,
"bb_percent": 6.2,
"woba": 0.287,
"xwoba": 0.294,
"sweet_spot_percent": 39.1,
"barrel_batted_rate": 9.0,
"hard_hit_percent": 45.5,
"avg_best_speed": 80.6301,
"avg_hyper_speed": 94.8405,
"whiff_percent": 33.3,
"swing_percent": 51.6
},
"league_medians": {
"pa": 108.0,
"k_percent": 22.0,
"bb_percent": 8.9,
"woba": 0.3155,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5616,
"avg_hyper_speed": 93.8784,
"whiff_percent": 25.3,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.0284,
"command_and_miss": 1.0236,
"regression_edge": -0.2,
"xwoba_edge": 0.5143,
"barrel_edge": -0.4222,
"hard_hit_edge": -1.1286,
"whiff_edge": 1.1429,
"bb_edge": 0.675,
"pitch_design_score": 0.167
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "594798",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 91,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 91,
"pitch_usage": 0.0,
"release_speed": 92.90332349995374,
"release_spin_rate": 2437.487240824321,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 91,
"pitch_usage": 0.0,
"release_speed": 92.90332349995374,
"release_spin_rate": 2437.487240824321,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 92.9033,
"release_spin_rate": 2437.4872,
"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.167,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.1929,
"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.2754,
"sample_weight": 1.0,
"run_prevention_factor": 0.9766,
"strikeout_factor": 1.0891,
"walk_factor": 0.946,
"homer_factor": 1.0635,
"woba_minus_xwoba": -0.007,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "594798",
"espn_id": 32796,
"player_name": "Jacob deGrom",
"team": "TEX",
"role": "pitcher",
"espn_rank": 72,
"espn_total_ranked": 806,
"metrics": {
"espn_rank": 72,
"gp_value": 22.0,
"gp_rank": 306,
"gs_value": 22.0,
"gs_rank": 49,
"qs_value": 8.0,
"qs_rank": 62,
"era_value": 3.8679,
"era_rank": null,
"w_value": 8.0,
"w_rank": 38,
"l_value": 7.0,
"l_rank": 52,
"sv_value": 0.0,
"sv_rank": 236,
"hld_value": 0.0,
"hld_rank": 318,
"ip_value": 118.2,
"ip_rank": 62,
"h_value": 104.0,
"h_rank": 75,
"er_value": 51.0,
"er_rank": 65,
"hr_value": 17.0,
"hr_rank": 35,
"bb_value": 30.0,
"bb_rank": 121,
"k_value": 144.0,
"k_rank": 16,
"k_per_9_value": 10.921349,
"k_per_9_rank": 6,
"whip_value": 1.1292,
"whip_rank": null,
"war_value": 1.83,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.9656,
"home_runs_vs_away_pitcher": 0.9766,
"home_pitcher_quality_edge": 0.1291
},
"score_before": {
"away_runs": 3.0121,
"home_runs": 2.2738
},
"score_after": {
"away_runs": 2.9085,
"home_runs": 2.2206,
"home_win_probability": 0.4439
},
"reason": "Baseball Savant xwOBA, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted starter run prevention"
}| Team | Last-10 W-L | Win % | R/G | RA/G | Run Diff | Streak | Offense | Defense |
|---|---|---|---|---|---|---|---|---|
| Away TEX | 5-5 | 0.500 | 3.50 | 3.70 | -2 | 2L | average | average |
| Home LAA | 5-5 | 0.500 | 2.60 | 3.90 | -13 | 2W | cold | average |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away TEX | 60-60 | 0.500 | -31 | -0.258 | True |
| Home LAA | 46-74 | 0.383 | -93 | -0.775 | True |
| Signal | - | - | -0.517 | -0.508 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| 2026-08-12 | TEX @ LAA | 2 - 5 | LAA | 3 | blowout |
| 2026-08-11 | TEX @ LAA | 2 - 3 | LAA | 1 | close |
| 2026-08-10 | TEX @ LAA | 4 - 1 | TEX | 3 | blowout |
| 2026-07-09 | LAA @ TEX | 6 - 7 | TEX | 1 | close |
| 2026-07-08 | LAA @ TEX | 13 - 1 | LAA | 12 | blowout |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target TEX | - | - | 3 | - | - | - | - |
| Game target LAA | - | - | 2 | - | - | - | - |
| Player finalized TEX | 32 | 8 | 2 | 0 | 3 | 0 | 9 |
| Player finalized LAA | 32 | 9 | 1 | 0 | 2 | 2 | 9 |
| Player model fractional TEX | 29.25 | 6.38 | 3.66 | 1.00 | 3.33 | 2.69 | 7.48 |
| Player model fractional LAA | 29.23 | 6.53 | 3.25 | 0.82 | 3.21 | 2.89 | 7.54 |
| Simulation box TEX | 34 | 7 | 4 | 2 | 4 | 3 | 7 |
| Simulation box LAA | 35 | 8 | 3 | 0 | 3 | 2 | 13 |
If player finalized rows and game target disagree, the report now exposes that gap instead of hiding it. Fractional model rows show the unrounded prop layer before box-score realization.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away TEX | Starter | Jacob deGrom | 5.10 | 2 | 7 | 5 | 2 | 4.70 | 1.42 | True |
| Away TEX | Middle Reliever | Jacob Latz | 1.10 | 0 | 2 | 0 | 0 | 3.06 | 1.25 | True |
| Away TEX | Middle Reliever | Chase Silseth | 1 | 0 | 1 | 0 | 0 | 3.53 | 1.55 | True |
| Away TEX | Middle Reliever | Peyton Gray | 1 | 0 | 2 | 0 | 0 | 3.14 | 1.26 | True |
| Away TEX | Middle Reliever | Robby Ahlstrom | 0.10 | 1 | 1 | 3 | 0 | 4.47 | 1.06 | True |
| Home LAA | Starter | Walbert Urena | 5.20 | 3 | 5 | 4 | 3 | 2.97 | 1.27 | True |
| Home LAA | Middle Reliever | Samy Natera Jr. | 1.10 | 1 | 0 | 1 | 0 | 2.81 | 1.01 | True |
| Home LAA | Middle Reliever | Ben Joyce | 1 | 0 | 0 | 2 | 0 | 3.85 | 1.22 | True |
| Home LAA | Middle Reliever | José Fermin | 1 | 0 | 2 | 0 | 0 | 4.35 | 1.38 | True |
| Home LAA | Middle Reliever | Luke Murphy | 0 | 0 | 0 | 0 | 0 | 4.28 | 1.40 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | LAA | batter | 2B | Adam Frazier | worse | 10 | 3 | 7 | 2 | 8 | predicted_SO | 2.1760 | boost | worse |
| home | LAA | batter | DH | Wade Meckler | boosted | 8 | 5 | 3 | 4 | 4 | predicted_AB | 1.8790 | boost | better |
| away | TEX | batter | RF | Brandon Nimmo | worse | 11 | 3 | 8 | 2 | 9 | predicted_AB | -1.5400 | deboost | worse |
| away | TEX | batter | 2B | Justin Foscue | worse | 10 | 2 | 8 | 1 | 9 | predicted_AB | 1.5000 | boost | better |
| home | LAA | batter | LF | Jose Siri | worse | 10 | 5 | 5 | 4 | 6 | predicted_AB | 1.5000 | boost | better |
| away | TEX | batter | C | Austin Wynns | deboosted | 10 | 4 | 6 | 5 | 5 | predicted_H | 1.4600 | boost | better |
| home | LAA | batter | CF | Mike Trout | worse | 11 | 4 | 7 | 5 | 6 | predicted_RBI | 1.3300 | boost | better |
| home | LAA | batter | 3B | Vaughn Grissom | worse | 11 | 3 | 8 | 2 | 9 | predicted_SO | 1.3290 | boost | worse |
| away | TEX | batter | SS | Nicky Lopez | worse | 8 | 2 | 6 | 3 | 5 | predicted_H | 1.2420 | boost | better |
| away | TEX | batter | 1B | Joc Pederson | better | 10 | 9 | 1 | 8 | 2 | predicted_AB | 1.1020 | boost | better |
| away | TEX | batter | DH | Corey Seager | better | 10 | 7 | 3 | 8 | 2 | predicted_SO | -1.0820 | deboost | better |
| away | TEX | batter | 3B | Ezequiel Duran | worse | 10 | 2 | 8 | 1 | 9 | predicted_SO | 1.0730 | boost | worse |
| home | LAA | batter | SS | Denzer Guzman | worse | 11 | 3 | 8 | 2 | 9 | predicted_SO | 1.0230 | boost | worse |
| home | LAA | pitcher | Starter | Walbert Urena | neutral | 2 | 1 | 1 | 1 | 1 | predicted_SO | 1.0000 | boost | better |
| home | LAA | pitcher | Middle Reliever | Luke Murphy | worse | 2 | 0 | 2 | 0 | 2 | predicted_SO | -1.0000 | deboost | worse |
| away | TEX | batter | LF | Wyatt Langford | worse | 10 | 4 | 6 | 4 | 6 | predicted_RBI | 0.8300 | boost | better |
| home | LAA | batter | 1B | Nolan Schanuel | worse | 10 | 2 | 8 | 1 | 9 | predicted_H | -0.7400 | deboost | worse |
| home | LAA | batter | C | Moisés Ballesteros | worse | 11 | 2 | 9 | 3 | 8 | predicted_BB | 0.7160 | boost | better |
| away | TEX | batter | CF | Evan Carter | worse | 10 | 3 | 7 | 2 | 8 | predicted_H | -0.7000 | deboost | worse |
| home | LAA | batter | RF | Josh Lowe | worse | 10 | 4 | 6 | 3 | 7 | predicted_H | 0.4170 | boost | better |
| away | TEX | pitcher | Starter | Jacob deGrom | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| away | TEX | pitcher | Middle Reliever | Jacob Latz | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| away | TEX | pitcher | Middle Reliever | Robby Ahlstrom | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| home | LAA | pitcher | Middle Reliever | Samy Natera Jr. | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.
| Field | Value |
|---|---|
| Pitcher | Jacob deGrom |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.2754 |
| ESPN Rank | 72 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1670 |
| Avg Velo | 92.9033 |
| Avg Spin | 2437.4872 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.1000 |
| Pre ER | 2 |
| Pre H | 5 |
| Pre BB | 2 |
| Pre SO | 7 |
| Season ERA | 3.8680 |
| Season WHIP | 1.1292 |
| Role Avg IP | 5.3940 |
| Recent Avg IP | 4.6000 |
| Last Start IP | 5 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TEX",
"games": 127,
"wins": 64,
"losses": 63,
"win_pct": 0.5039,
"runs_scored": 528.0,
"runs_allowed": 558.0,
"run_differential": -30.0,
"run_differential_per_game": -0.2362,
"avg_runs_scored": 4.1575,
"avg_runs_allowed": 4.3937,
"offense_index": 0.9238,
"defense_index": 1.0243,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 3.7,
"run_differential": -2.0
},
"available": true,
"quality_score": -0.0256
},
"opponent": {
"team": "LAA",
"games": 128,
"wins": 52,
"losses": 76,
"win_pct": 0.4062,
"runs_scored": 527.0,
"runs_allowed": 616.0,
"run_differential": -89.0,
"run_differential_per_game": -0.6953,
"avg_runs_scored": 4.1172,
"avg_runs_allowed": 4.8125,
"offense_index": 0.9149,
"defense_index": 0.9351,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 2.6,
"avg_runs_allowed": 3.9,
"run_differential": -13.0
},
"available": true,
"quality_score": -0.1647
},
"edges": {
"quality_edge": 0.1391,
"offense_edge": -0.0762,
"opponent_offense_edge": -0.0851,
"defense_strength": 0.0243,
"opponent_defense_weakness": 0.0649,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0097,
"run_prevention": 0.977,
"strikeout": 1.011
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "594798",
"profile": {
"available": true,
"pitcher_id": "594798",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 421.0,
"k_percent": 29.6,
"bb_percent": 6.2,
"woba": 0.287,
"xwoba": 0.294,
"sweet_spot_percent": 39.1,
"barrel_batted_rate": 9.0,
"hard_hit_percent": 45.5,
"avg_best_speed": 80.6301,
"avg_hyper_speed": 94.8405,
"whiff_percent": 33.3,
"swing_percent": 51.6
},
"league_medians": {
"pa": 108.0,
"k_percent": 22.0,
"bb_percent": 8.9,
"woba": 0.3155,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5616,
"avg_hyper_speed": 93.8784,
"whiff_percent": 25.3,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.0284,
"command_and_miss": 1.0236,
"regression_edge": -0.2,
"xwoba_edge": 0.5143,
"barrel_edge": -0.4222,
"hard_hit_edge": -1.1286,
"whiff_edge": 1.1429,
"bb_edge": 0.675,
"pitch_design_score": 0.167
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "594798",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 91,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 91,
"pitch_usage": 0.0,
"release_speed": 92.90332349995374,
"release_spin_rate": 2437.487240824321,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 91,
"pitch_usage": 0.0,
"release_speed": 92.90332349995374,
"release_spin_rate": 2437.487240824321,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 92.9033,
"release_spin_rate": 2437.4872,
"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.167,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.1929,
"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.2754,
"sample_weight": 1.0,
"run_prevention_factor": 0.9766,
"strikeout_factor": 1.0891,
"walk_factor": 0.946,
"homer_factor": 1.0635,
"woba_minus_xwoba": -0.007,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "594798",
"espn_id": 32796,
"player_name": "Jacob deGrom",
"team": "TEX",
"role": "pitcher",
"espn_rank": 72,
"espn_total_ranked": 806,
"metrics": {
"espn_rank": 72,
"gp_value": 22.0,
"gp_rank": 306,
"gs_value": 22.0,
"gs_rank": 49,
"qs_value": 8.0,
"qs_rank": 62,
"era_value": 3.8679,
"era_rank": null,
"w_value": 8.0,
"w_rank": 38,
"l_value": 7.0,
"l_rank": 52,
"sv_value": 0.0,
"sv_rank": 236,
"hld_value": 0.0,
"hld_rank": 318,
"ip_value": 118.2,
"ip_rank": 62,
"h_value": 104.0,
"h_rank": 75,
"er_value": 51.0,
"er_rank": 65,
"hr_value": 17.0,
"hr_rank": 35,
"bb_value": 30.0,
"bb_rank": 121,
"k_value": 144.0,
"k_rank": 16,
"k_per_9_value": 10.921349,
"k_per_9_rank": 6,
"whip_value": 1.1292,
"whip_rank": null,
"war_value": 1.83,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 0.9766,
"adjusted": 3
},
"predicted_H": {
"original": 6.0,
"factor": 0.9766,
"adjusted": 6
},
"predicted_BB": {
"original": 2.0,
"factor": 0.946,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0635,
"adjusted": 0
},
"predicted_SO": {
"original": 7.0,
"factor": 1.0891,
"adjusted": 8
}
}
}
}{
"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.0,
"ER": 26,
"H": 52,
"BB": 17,
"SO": 66,
"HR": 4,
"ERA": 4.333333333333333,
"WHIP": 1.2777777777777777,
"K9": 11.0,
"HR9": 0.6666666666666666,
"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-08-08T00:00:00"
}{
"available": true,
"pitcher_id": "594798",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 91,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 91,
"pitch_usage": 0.0,
"release_speed": 92.90332349995374,
"release_spin_rate": 2437.487240824321,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 91,
"pitch_usage": 0.0,
"release_speed": 92.90332349995374,
"release_spin_rate": 2437.487240824321,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
}
],
"summary": {
"release_speed": 92.9033,
"release_spin_rate": 2437.4872,
"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.167,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.1929,
"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."
}{
"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": 22.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8148,
"prior_weight": 0.1852
},
"role": "pitcher",
"player_id": "594798",
"report_date": "20260813",
"season_year": 2026,
"rows_used": 22,
"reference_playing_time": 5.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 23.0,
"ER": 14.0,
"R": 14.0,
"H": 29.0,
"BB": 10.0,
"SO": 29.0,
"HR": 1.0,
"BF": 106.0,
"Pitches": 446.0
},
"per_game": {
"IP": 4.2,
"ER": 2.8,
"R": 2.8,
"H": 5.8,
"BB": 2.0,
"SO": 5.8,
"HR": 0.2,
"BF": 21.2,
"Pitches": 89.2
},
"rates": {
"ERA": 5.4783,
"WHIP": 1.6957,
"ER_per_IP": 0.6087,
"H_per_IP": 1.26087,
"BB_per_IP": 0.43478,
"SO_per_IP": 1.26087,
"HR_per_IP": 0.04348
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 54.0,
"ER": 26.0,
"R": 26.0,
"H": 52.0,
"BB": 17.0,
"SO": 66.0,
"HR": 4.0,
"BF": 227.0,
"Pitches": 916.0
},
"per_game": {
"IP": 5.1,
"ER": 2.6,
"R": 2.6,
"H": 5.2,
"BB": 1.7,
"SO": 6.6,
"HR": 0.4,
"BF": 22.7,
"Pitches": 91.6
},
"rates": {
"ERA": 4.3333,
"WHIP": 1.2778,
"ER_per_IP": 0.48148,
"H_per_IP": 0.96296,
"BB_per_IP": 0.31481,
"SO_per_IP": 1.22222,
"HR_per_IP": 0.07407
}
},
"season": {
"games": 22,
"totals": {
"IP": 118.2,
"ER": 51.0,
"R": 51.0,
"H": 104.0,
"BB": 30.0,
"SO": 144.0,
"HR": 17.0,
"BF": 486.0,
"Pitches": 1971.0
},
"per_game": {
"IP": 5.1,
"ER": 2.3182,
"R": 2.3182,
"H": 4.7273,
"BB": 1.3636,
"SO": 6.5455,
"HR": 0.7727,
"BF": 22.0909,
"Pitches": 89.5909
},
"rates": {
"ERA": 3.868,
"WHIP": 1.1292,
"ER_per_IP": 0.42978,
"H_per_IP": 0.8764,
"BB_per_IP": 0.25281,
"SO_per_IP": 1.21348,
"HR_per_IP": 0.14326
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.0,
"predicted_ER": 2.659,
"predicted_H": 5.394,
"predicted_BB": 1.818,
"predicted_SO": 6.032,
"predicted_HR": 0.447,
"predicted_ERA": 4.7026,
"predicted_WHIP": 1.4172
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4282,
"form_weight": 0.5718,
"form_reliability": 0.8148,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 22.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.8148,
"prior_weight": 0.1852
},
"applied_metrics": {
"predicted_IP": {
"model": 5.1,
"form": 5.0,
"final": 5.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 2.659,
"final": 2.3768,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 5.394,
"final": 5.2253,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 1.818,
"final": 1.8959,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 7.0,
"form": 6.032,
"final": 6.4465,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.447,
"final": 0.2556,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.7026,
"final": 4.7026,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4172,
"final": 1.4172,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Jacob Latz |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.4938 |
| ESPN Rank | 39 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 1.3333 |
| Season WHIP | 0.6667 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TEX",
"games": 127,
"wins": 64,
"losses": 63,
"win_pct": 0.5039,
"runs_scored": 528.0,
"runs_allowed": 558.0,
"run_differential": -30.0,
"run_differential_per_game": -0.2362,
"avg_runs_scored": 4.1575,
"avg_runs_allowed": 4.3937,
"offense_index": 0.9238,
"defense_index": 1.0243,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 3.7,
"run_differential": -2.0
},
"available": true,
"quality_score": -0.0256
},
"opponent": {
"team": "LAA",
"games": 128,
"wins": 52,
"losses": 76,
"win_pct": 0.4062,
"runs_scored": 527.0,
"runs_allowed": 616.0,
"run_differential": -89.0,
"run_differential_per_game": -0.6953,
"avg_runs_scored": 4.1172,
"avg_runs_allowed": 4.8125,
"offense_index": 0.9149,
"defense_index": 0.9351,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 2.6,
"avg_runs_allowed": 3.9,
"run_differential": -13.0
},
"available": true,
"quality_score": -0.1647
},
"edges": {
"quality_edge": 0.1391,
"offense_edge": -0.0762,
"opponent_offense_edge": -0.0851,
"defense_strength": 0.0243,
"opponent_defense_weakness": 0.0649,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0097,
"run_prevention": 0.977,
"strikeout": 1.011
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656641",
"profile": {
"available": true,
"pitcher_id": "656641",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 160.0,
"k_percent": 28.0,
"bb_percent": 7.0,
"woba": 0.195,
"xwoba": 0.245,
"sweet_spot_percent": 25.4,
"barrel_batted_rate": 5.4,
"hard_hit_percent": 38.5,
"avg_best_speed": 78.6339,
"avg_hyper_speed": 93.6343,
"whiff_percent": 29.0,
"swing_percent": 53.1
},
"league_medians": {
"pa": 108.0,
"k_percent": 22.0,
"bb_percent": 8.9,
"woba": 0.3155,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5616,
"avg_hyper_speed": 93.8784,
"whiff_percent": 25.3,
"swing_percent": 47.6
},
"components": {
"contact_quality": 1.3238,
"command_and_miss": 0.6657,
"regression_edge": -1.4286,
"xwoba_edge": 1.9143,
"barrel_edge": 0.3778,
"hard_hit_edge": -0.1286,
"whiff_edge": 0.5286,
"bb_edge": 0.475,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "656641",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.4938,
"sample_weight": 0.64,
"run_prevention_factor": 0.958,
"strikeout_factor": 1.0355,
"walk_factor": 0.9757,
"homer_factor": 0.9472,
"woba_minus_xwoba": -0.05,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "656641",
"espn_id": 3210625,
"player_name": "Jacob Latz",
"team": "TEX",
"role": "pitcher",
"espn_rank": 39,
"espn_total_ranked": 806,
"metrics": {
"espn_rank": 39,
"gp_value": 43.0,
"gp_rank": 102,
"gs_value": 1.0,
"gs_rank": 282,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 1.8333,
"era_rank": null,
"w_value": 3.0,
"w_rank": 211,
"l_value": 1.0,
"l_rank": 384,
"sv_value": 23.0,
"sv_rank": 11,
"hld_value": 2.0,
"hld_rank": 208,
"ip_value": 54.0,
"ip_rank": 210,
"h_value": 26.0,
"h_rank": 408,
"er_value": 11.0,
"er_rank": 446,
"hr_value": 3.0,
"hr_rank": 393,
"bb_value": 14.0,
"bb_rank": 345,
"k_value": 56.0,
"k_rank": 193,
"k_per_9_value": 9.333333,
"k_per_9_rank": 24,
"whip_value": 0.7407,
"whip_rank": null,
"war_value": 2.34,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9731,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9731,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9844,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9662,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0227,
"adjusted": 2
}
}
}
}{
"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": 12.0,
"ER": 3,
"H": 9,
"BB": 5,
"SO": 13,
"HR": 0,
"ERA": 2.2500000000000004,
"WHIP": 1.1666666666666667,
"K9": 9.750000000000002,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-10T00:00:00"
}{
"available": false,
"pitcher_id": "656641",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"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": 10.796,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6835,
"prior_weight": 0.3165
},
"role": "pitcher",
"player_id": "656641",
"report_date": "20260813",
"season_year": 2026,
"rows_used": 42,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.0,
"ER": 2.0,
"R": 3.0,
"H": 6.0,
"BB": 3.0,
"SO": 7.0,
"HR": 0.0,
"BF": 26.0,
"Pitches": 112.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4,
"R": 0.6,
"H": 1.2,
"BB": 0.6,
"SO": 1.4,
"HR": 0.0,
"BF": 5.2,
"Pitches": 22.4
},
"rates": {
"ERA": 3.0,
"WHIP": 1.5,
"ER_per_IP": 0.33333,
"H_per_IP": 1.0,
"BB_per_IP": 0.5,
"SO_per_IP": 1.16667,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 12.0,
"ER": 3.0,
"R": 4.0,
"H": 9.0,
"BB": 5.0,
"SO": 13.0,
"HR": 0.0,
"BF": 48.0,
"Pitches": 212.0
},
"per_game": {
"IP": 1.1,
"ER": 0.3,
"R": 0.4,
"H": 0.9,
"BB": 0.5,
"SO": 1.3,
"HR": 0.0,
"BF": 4.8,
"Pitches": 21.2
},
"rates": {
"ERA": 2.25,
"WHIP": 1.1667,
"ER_per_IP": 0.25,
"H_per_IP": 0.75,
"BB_per_IP": 0.41667,
"SO_per_IP": 1.08333,
"HR_per_IP": 0.0
}
},
"season": {
"games": 42,
"totals": {
"IP": 54.0,
"ER": 8.0,
"R": 9.0,
"H": 23.0,
"BB": 13.0,
"SO": 56.0,
"HR": 3.0,
"BF": 196.0,
"Pitches": 823.0
},
"per_game": {
"IP": 1.1,
"ER": 0.1905,
"R": 0.2143,
"H": 0.5476,
"BB": 0.3095,
"SO": 1.3333,
"HR": 0.0714,
"BF": 4.6667,
"Pitches": 19.5952
},
"rates": {
"ERA": 1.3333,
"WHIP": 0.6667,
"ER_per_IP": 0.14815,
"H_per_IP": 0.42593,
"BB_per_IP": 0.24074,
"SO_per_IP": 1.03704,
"HR_per_IP": 0.05556
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.453,
"predicted_H": 1.138,
"predicted_BB": 0.534,
"predicted_SO": 1.416,
"predicted_HR": 0.072,
"predicted_ERA": 3.058,
"predicted_WHIP": 1.2537
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4837,
"form_weight": 0.5163,
"form_reliability": 0.6835,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 10.796,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6835,
"prior_weight": 0.3165
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.453,
"final": 0.2339,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.138,
"final": 0.5875,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.534,
"final": 0.2757,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.416,
"final": 1.6985,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.072,
"final": 0.0372,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.058,
"final": 3.058,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2537,
"final": 1.2537,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Chase Silseth |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0564 |
| ESPN Rank | 133 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.7794 |
| Season WHIP | 1.4559 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TEX",
"games": 127,
"wins": 64,
"losses": 63,
"win_pct": 0.5039,
"runs_scored": 528.0,
"runs_allowed": 558.0,
"run_differential": -30.0,
"run_differential_per_game": -0.2362,
"avg_runs_scored": 4.1575,
"avg_runs_allowed": 4.3937,
"offense_index": 0.9238,
"defense_index": 1.0243,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 3.7,
"run_differential": -2.0
},
"available": true,
"quality_score": -0.0256
},
"opponent": {
"team": "LAA",
"games": 128,
"wins": 52,
"losses": 76,
"win_pct": 0.4062,
"runs_scored": 527.0,
"runs_allowed": 616.0,
"run_differential": -89.0,
"run_differential_per_game": -0.6953,
"avg_runs_scored": 4.1172,
"avg_runs_allowed": 4.8125,
"offense_index": 0.9149,
"defense_index": 0.9351,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 2.6,
"avg_runs_allowed": 3.9,
"run_differential": -13.0
},
"available": true,
"quality_score": -0.1647
},
"edges": {
"quality_edge": 0.1391,
"offense_edge": -0.0762,
"opponent_offense_edge": -0.0851,
"defense_strength": 0.0243,
"opponent_defense_weakness": 0.0649,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0097,
"run_prevention": 0.977,
"strikeout": 1.011
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "681217",
"profile": {
"available": true,
"pitcher_id": "681217",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 156.0,
"k_percent": 26.4,
"bb_percent": 13.4,
"woba": 0.308,
"xwoba": 0.312,
"sweet_spot_percent": 42.9,
"barrel_batted_rate": 9.2,
"hard_hit_percent": 31.9,
"avg_best_speed": 74.9201,
"avg_hyper_speed": 93.4232,
"whiff_percent": 32.6,
"swing_percent": 47.4
},
"league_medians": {
"pa": 108.0,
"k_percent": 22.0,
"bb_percent": 8.9,
"woba": 0.3155,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5616,
"avg_hyper_speed": 93.8784,
"whiff_percent": 25.3,
"swing_percent": 47.6
},
"components": {
"contact_quality": -0.0146,
"command_and_miss": 0.4229,
"regression_edge": -0.1143,
"xwoba_edge": 0.0,
"barrel_edge": -0.4667,
"hard_hit_edge": 0.8143,
"whiff_edge": 1.0429,
"bb_edge": -1.125,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "681217",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0564,
"sample_weight": 0.624,
"run_prevention_factor": 0.9952,
"strikeout_factor": 1.0417,
"walk_factor": 1.0562,
"homer_factor": 1.003,
"woba_minus_xwoba": -0.004,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "681217",
"espn_id": 4413990,
"player_name": "Chase Silseth",
"team": "TEX",
"role": "pitcher",
"espn_rank": 133,
"espn_total_ranked": 806,
"metrics": {
"espn_rank": 133,
"gp_value": 53.0,
"gp_rank": 25,
"gs_value": 0.0,
"gs_rank": 339,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 2.7794,
"era_rank": null,
"w_value": 3.0,
"w_rank": 211,
"l_value": 2.0,
"l_rank": 285,
"sv_value": 0.0,
"sv_rank": 236,
"hld_value": 10.0,
"hld_rank": 63,
"ip_value": 45.1,
"ip_rank": 276,
"h_value": 39.0,
"h_rank": 273,
"er_value": 14.0,
"er_rank": 370,
"hr_value": 4.0,
"hr_rank": 325,
"bb_value": 27.0,
"bb_rank": 147,
"k_value": 53.0,
"k_rank": 211,
"k_per_9_value": 10.522059,
"k_per_9_rank": 20,
"whip_value": 1.4558,
"whip_rank": null,
"war_value": 1.15,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.997,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.997,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0351,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0019,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.026,
"adjusted": 2
}
}
}
}{
"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": 8.2,
"ER": 2,
"H": 8,
"BB": 7,
"SO": 8,
"HR": 1,
"ERA": 2.076923076923077,
"WHIP": 1.7307692307692308,
"K9": 8.307692307692308,
"HR9": 1.0384615384615385,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-11T00:00:00"
}{
"available": false,
"pitcher_id": "681217",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"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": 9.063,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6445,
"prior_weight": 0.3555
},
"role": "pitcher",
"player_id": "681217",
"report_date": "20260813",
"season_year": 2026,
"rows_used": 53,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 2.0,
"R": 2.0,
"H": 4.0,
"BB": 4.0,
"SO": 3.0,
"HR": 1.0,
"BF": 21.0,
"Pitches": 68.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.8,
"BB": 0.8,
"SO": 0.6,
"HR": 0.2,
"BF": 4.2,
"Pitches": 13.6
},
"rates": {
"ERA": 3.8571,
"WHIP": 1.7143,
"ER_per_IP": 0.42857,
"H_per_IP": 0.85714,
"BB_per_IP": 0.85714,
"SO_per_IP": 0.64286,
"HR_per_IP": 0.21429
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 2.0,
"R": 3.0,
"H": 8.0,
"BB": 7.0,
"SO": 8.0,
"HR": 1.0,
"BF": 41.0,
"Pitches": 148.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.3,
"H": 0.8,
"BB": 0.7,
"SO": 0.8,
"HR": 0.1,
"BF": 4.1,
"Pitches": 14.8
},
"rates": {
"ERA": 2.0769,
"WHIP": 1.7308,
"ER_per_IP": 0.23077,
"H_per_IP": 0.92308,
"BB_per_IP": 0.80769,
"SO_per_IP": 0.92308,
"HR_per_IP": 0.11538
}
},
"season": {
"games": 53,
"totals": {
"IP": 45.1,
"ER": 14.0,
"R": 16.0,
"H": 39.0,
"BB": 27.0,
"SO": 53.0,
"HR": 4.0,
"BF": 201.0,
"Pitches": 817.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2642,
"R": 0.3019,
"H": 0.7358,
"BB": 0.5094,
"SO": 1.0,
"HR": 0.0755,
"BF": 3.7925,
"Pitches": 15.4151
},
"rates": {
"ERA": 2.7794,
"WHIP": 1.4559,
"ER_per_IP": 0.30882,
"H_per_IP": 0.86029,
"BB_per_IP": 0.59559,
"SO_per_IP": 1.16912,
"HR_per_IP": 0.08824
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.393,
"predicted_H": 0.914,
"predicted_BB": 0.636,
"predicted_SO": 0.885,
"predicted_HR": 0.152,
"predicted_ERA": 3.5345,
"predicted_WHIP": 1.5494
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5002,
"form_weight": 0.4998,
"form_reliability": 0.6445,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.063,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6445,
"prior_weight": 0.3555
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.393,
"final": 0.1964,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.914,
"final": 0.4568,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.636,
"final": 0.3179,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.885,
"final": 0.9425,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.152,
"final": 0.076,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.5345,
"final": 3.5345,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5494,
"final": 1.5494,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Peyton Gray |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3316 |
| ESPN Rank | 302 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 3.2553 |
| Season WHIP | 1.2128 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TEX",
"games": 127,
"wins": 64,
"losses": 63,
"win_pct": 0.5039,
"runs_scored": 528.0,
"runs_allowed": 558.0,
"run_differential": -30.0,
"run_differential_per_game": -0.2362,
"avg_runs_scored": 4.1575,
"avg_runs_allowed": 4.3937,
"offense_index": 0.9238,
"defense_index": 1.0243,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 3.7,
"run_differential": -2.0
},
"available": true,
"quality_score": -0.0256
},
"opponent": {
"team": "LAA",
"games": 128,
"wins": 52,
"losses": 76,
"win_pct": 0.4062,
"runs_scored": 527.0,
"runs_allowed": 616.0,
"run_differential": -89.0,
"run_differential_per_game": -0.6953,
"avg_runs_scored": 4.1172,
"avg_runs_allowed": 4.8125,
"offense_index": 0.9149,
"defense_index": 0.9351,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 2.6,
"avg_runs_allowed": 3.9,
"run_differential": -13.0
},
"available": true,
"quality_score": -0.1647
},
"edges": {
"quality_edge": 0.1391,
"offense_edge": -0.0762,
"opponent_offense_edge": -0.0851,
"defense_strength": 0.0243,
"opponent_defense_weakness": 0.0649,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0097,
"run_prevention": 0.977,
"strikeout": 1.011
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "682608",
"profile": {
"available": true,
"pitcher_id": "682608",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 154.0,
"k_percent": 23.5,
"bb_percent": 6.9,
"woba": 0.293,
"xwoba": 0.274,
"sweet_spot_percent": 31.7,
"barrel_batted_rate": 5.1,
"hard_hit_percent": 32.4,
"avg_best_speed": 74.3978,
"avg_hyper_speed": 92.7904,
"whiff_percent": 26.0,
"swing_percent": 50.0
},
"league_medians": {
"pa": 108.0,
"k_percent": 22.0,
"bb_percent": 8.9,
"woba": 0.3155,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5616,
"avg_hyper_speed": 93.8784,
"whiff_percent": 25.3,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.7569,
"command_and_miss": 0.2314,
"regression_edge": 0.5429,
"xwoba_edge": 1.0857,
"barrel_edge": 0.4444,
"hard_hit_edge": 0.7429,
"whiff_edge": 0.1,
"bb_edge": 0.5,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "682608",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.3316,
"sample_weight": 0.616,
"run_prevention_factor": 0.9718,
"strikeout_factor": 1.0077,
"walk_factor": 0.9754,
"homer_factor": 0.9397,
"woba_minus_xwoba": 0.019,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682608",
"espn_id": 4187628,
"player_name": "Peyton Gray",
"team": "TEX",
"role": "pitcher",
"espn_rank": 302,
"espn_total_ranked": 806,
"metrics": {
"espn_rank": 302,
"gp_value": 40.0,
"gp_rank": 125,
"gs_value": 0.0,
"gs_rank": 339,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 3.2553,
"era_rank": null,
"w_value": 6.0,
"w_rank": 80,
"l_value": 0.0,
"l_rank": 534,
"sv_value": 0.0,
"sv_rank": 236,
"hld_value": 8.0,
"hld_rank": 90,
"ip_value": 47.0,
"ip_rank": 262,
"h_value": 43.0,
"h_rank": 235,
"er_value": 17.0,
"er_rank": 318,
"hr_value": 5.0,
"hr_rank": 274,
"bb_value": 14.0,
"bb_rank": 345,
"k_value": 48.0,
"k_rank": 248,
"k_per_9_value": 9.191489,
"k_per_9_rank": 25,
"whip_value": 1.2127,
"whip_rank": null,
"war_value": 0.26,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9826,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9826,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9848,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9629,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0047,
"adjusted": 2
}
}
}
}{
"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": 10.1,
"ER": 3,
"H": 10,
"BB": 2,
"SO": 9,
"HR": 2,
"ERA": 2.612903225806452,
"WHIP": 1.1612903225806452,
"K9": 7.838709677419356,
"HR9": 1.741935483870968,
"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-12T00:00:00"
}{
"available": false,
"pitcher_id": "682608",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"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": 9.396,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6527,
"prior_weight": 0.3473
},
"role": "pitcher",
"player_id": "682608",
"report_date": "20260813",
"season_year": 2026,
"rows_used": 40,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 1.0,
"R": 1.0,
"H": 4.0,
"BB": 2.0,
"SO": 3.0,
"HR": 1.0,
"BF": 21.0,
"Pitches": 65.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.8,
"BB": 0.4,
"SO": 0.6,
"HR": 0.2,
"BF": 4.2,
"Pitches": 13.0
},
"rates": {
"ERA": 1.9286,
"WHIP": 1.2857,
"ER_per_IP": 0.21429,
"H_per_IP": 0.85714,
"BB_per_IP": 0.42857,
"SO_per_IP": 0.64286,
"HR_per_IP": 0.21429
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 3.0,
"R": 3.0,
"H": 10.0,
"BB": 2.0,
"SO": 9.0,
"HR": 2.0,
"BF": 44.0,
"Pitches": 156.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 1.0,
"BB": 0.2,
"SO": 0.9,
"HR": 0.2,
"BF": 4.4,
"Pitches": 15.6
},
"rates": {
"ERA": 2.6129,
"WHIP": 1.1613,
"ER_per_IP": 0.29032,
"H_per_IP": 0.96774,
"BB_per_IP": 0.19355,
"SO_per_IP": 0.87097,
"HR_per_IP": 0.19355
}
},
"season": {
"games": 40,
"totals": {
"IP": 47.0,
"ER": 17.0,
"R": 21.0,
"H": 43.0,
"BB": 14.0,
"SO": 48.0,
"HR": 5.0,
"BF": 204.0,
"Pitches": 770.0
},
"per_game": {
"IP": 1.1,
"ER": 0.425,
"R": 0.525,
"H": 1.075,
"BB": 0.35,
"SO": 1.2,
"HR": 0.125,
"BF": 5.1,
"Pitches": 19.25
},
"rates": {
"ERA": 3.2553,
"WHIP": 1.2128,
"ER_per_IP": 0.3617,
"H_per_IP": 0.91489,
"BB_per_IP": 0.29787,
"SO_per_IP": 1.02128,
"HR_per_IP": 0.10638
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.364,
"predicted_H": 0.971,
"predicted_BB": 0.349,
"predicted_SO": 0.89,
"predicted_HR": 0.18,
"predicted_ERA": 3.1407,
"predicted_WHIP": 1.2645
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4967,
"form_weight": 0.5033,
"form_reliability": 0.6527,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.396,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6527,
"prior_weight": 0.3473
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.364,
"final": 0.1832,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.971,
"final": 0.4887,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.349,
"final": 0.1756,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.89,
"final": 1.4414,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.18,
"final": 0.0906,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.1407,
"final": 3.1407,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2645,
"final": 1.2645,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Robby Ahlstrom |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1470 |
| ESPN Rank | 617 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 0.1000 |
| Pre ER | 1 |
| Pre H | 3 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 4.1013 |
| Season WHIP | 1.0633 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TEX",
"games": 127,
"wins": 64,
"losses": 63,
"win_pct": 0.5039,
"runs_scored": 528.0,
"runs_allowed": 558.0,
"run_differential": -30.0,
"run_differential_per_game": -0.2362,
"avg_runs_scored": 4.1575,
"avg_runs_allowed": 4.3937,
"offense_index": 0.9238,
"defense_index": 1.0243,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 3.7,
"run_differential": -2.0
},
"available": true,
"quality_score": -0.0256
},
"opponent": {
"team": "LAA",
"games": 128,
"wins": 52,
"losses": 76,
"win_pct": 0.4062,
"runs_scored": 527.0,
"runs_allowed": 616.0,
"run_differential": -89.0,
"run_differential_per_game": -0.6953,
"avg_runs_scored": 4.1172,
"avg_runs_allowed": 4.8125,
"offense_index": 0.9149,
"defense_index": 0.9351,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 2.6,
"avg_runs_allowed": 3.9,
"run_differential": -13.0
},
"available": true,
"quality_score": -0.1647
},
"edges": {
"quality_edge": 0.1391,
"offense_edge": -0.0762,
"opponent_offense_edge": -0.0851,
"defense_strength": 0.0243,
"opponent_defense_weakness": 0.0649,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 1.0097,
"run_prevention": 0.977,
"strikeout": 1.011
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "695239",
"profile": {
"available": true,
"pitcher_id": "695239",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 76.0,
"k_percent": 20.0,
"bb_percent": 7.3,
"woba": 0.295,
"xwoba": 0.295,
"sweet_spot_percent": 29.9,
"barrel_batted_rate": 3.9,
"hard_hit_percent": 32.5,
"avg_best_speed": 73.6289,
"avg_hyper_speed": 92.4618,
"whiff_percent": 26.3,
"swing_percent": 48.4
},
"league_medians": {
"pa": 108.0,
"k_percent": 22.0,
"bb_percent": 8.9,
"woba": 0.3155,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5616,
"avg_hyper_speed": 93.8784,
"whiff_percent": 25.3,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.5828,
"command_and_miss": 0.0014,
"regression_edge": 0.0,
"xwoba_edge": 0.4857,
"barrel_edge": 0.7111,
"hard_hit_edge": 0.7286,
"whiff_edge": 0.1429,
"bb_edge": 0.4,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "695239",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.147,
"sample_weight": 0.45,
"run_prevention_factor": 0.9875,
"strikeout_factor": 0.9974,
"walk_factor": 0.9856,
"homer_factor": 0.9547,
"woba_minus_xwoba": 0.0,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695239",
"espn_id": 4832142,
"player_name": "Robby Ahlstrom",
"team": "TEX",
"role": "pitcher",
"espn_rank": 617,
"espn_total_ranked": 806,
"metrics": {
"espn_rank": 617,
"gp_value": 31.0,
"gp_rank": 185,
"gs_value": 0.0,
"gs_rank": 339,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 4.7848,
"era_rank": null,
"w_value": 3.0,
"w_rank": 211,
"l_value": 1.0,
"l_rank": 384,
"sv_value": 0.0,
"sv_rank": 236,
"hld_value": 6.0,
"hld_rank": 126,
"ip_value": 26.1,
"ip_rank": 425,
"h_value": 24.0,
"h_rank": 427,
"er_value": 14.0,
"er_rank": 370,
"hr_value": 2.0,
"hr_rank": 467,
"bb_value": 8.0,
"bb_rank": 486,
"k_value": 22.0,
"k_rank": 428,
"k_per_9_value": 7.518987,
"k_per_9_rank": 27,
"whip_value": 1.2151,
"whip_rank": null,
"war_value": -0.17,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9944,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9944,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9935,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9796,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9988,
"adjusted": 2
}
}
}
}{
"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": 9.0,
"ER": 3,
"H": 5,
"BB": 0,
"SO": 8,
"HR": 0,
"ERA": 3.0,
"WHIP": 0.5555555555555556,
"K9": 8.0,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-12T00:00:00"
}{
"available": false,
"pitcher_id": "695239",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"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": 5.265,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5129,
"prior_weight": 0.4871
},
"role": "pitcher",
"player_id": "695239",
"report_date": "20260813",
"season_year": 2026,
"rows_used": 30,
"reference_playing_time": 0.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 3.0,
"R": 3.0,
"H": 4.0,
"BB": 0.0,
"SO": 4.0,
"HR": 0.0,
"BF": 18.0,
"Pitches": 72.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 0.8,
"BB": 0.0,
"SO": 0.8,
"HR": 0.0,
"BF": 3.6,
"Pitches": 14.4
},
"rates": {
"ERA": 5.7857,
"WHIP": 0.8571,
"ER_per_IP": 0.64286,
"H_per_IP": 0.85714,
"BB_per_IP": 0.0,
"SO_per_IP": 0.85714,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 3.0,
"R": 3.0,
"H": 5.0,
"BB": 0.0,
"SO": 8.0,
"HR": 0.0,
"BF": 33.0,
"Pitches": 126.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 0.5,
"BB": 0.0,
"SO": 0.8,
"HR": 0.0,
"BF": 3.3,
"Pitches": 12.6
},
"rates": {
"ERA": 3.0,
"WHIP": 0.5556,
"ER_per_IP": 0.33333,
"H_per_IP": 0.55556,
"BB_per_IP": 0.0,
"SO_per_IP": 0.88889,
"HR_per_IP": 0.0
}
},
"season": {
"games": 30,
"totals": {
"IP": 26.1,
"ER": 12.0,
"R": 12.0,
"H": 21.0,
"BB": 7.0,
"SO": 22.0,
"HR": 2.0,
"BF": 105.0,
"Pitches": 421.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.7,
"BB": 0.2333,
"SO": 0.7333,
"HR": 0.0667,
"BF": 3.5,
"Pitches": 14.0333
},
"rates": {
"ERA": 4.1013,
"WHIP": 1.0633,
"ER_per_IP": 0.4557,
"H_per_IP": 0.79747,
"BB_per_IP": 0.26582,
"SO_per_IP": 0.83544,
"HR_per_IP": 0.07595
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.336,
"predicted_H": 0.576,
"predicted_BB": 0.137,
"predicted_SO": 0.613,
"predicted_HR": 0.054,
"predicted_ERA": 4.4719,
"predicted_WHIP": 1.0563
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5558,
"form_weight": 0.4442,
"form_reliability": 0.5129,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.265,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5129,
"prior_weight": 0.4871
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.336,
"final": 0.7051,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 0.576,
"final": 1.9233,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.137,
"final": 0.0609,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.613,
"final": 0.8281,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.054,
"final": 0.024,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.4719,
"final": 4.4719,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0563,
"final": 1.0563,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.102 | 0.000 | 0.000 | Hitting_2B | 0.118 | 0.000 | -0.118 | 0.000 |
| predicted_3B | 0.019 | 0.000 | 0.000 | Hitting_3B | 0.031 | 0.000 | -0.031 | 0.000 |
| predicted_AB | 2.898 | 4.000 | 3.000 | Hitting_AB | 3.300 | 2.000 | 0.700 | 2.000 |
| predicted_AVG | 0.252 | 0.250 | 0.333 | Hitting_AVG | 0.257 | 0.500 | -0.007 | -0.250 |
| predicted_BB | 0.389 | 1.000 | 0.000 | Hitting_BB | 0.430 | 1.000 | 0.570 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.731 | 1.000 | 1.000 | Hitting_H | 0.848 | 1.000 | 0.152 | 0.000 |
| predicted_HR | 0.204 | 1.000 | 0.000 | Hitting_HR | 0.235 | 0.000 | 0.765 | 1.000 |
| predicted_OBP | 0.341 | 0.400 | 0.333 | Hitting_OBP | 0.347 | 0.667 | 0.053 | -0.267 |
| predicted_R | 0.454 | 1.000 | 0.000 | Hitting_R | 0.517 | 0.000 | 0.483 | 1.000 |
| predicted_RBI | 0.426 | 1.000 | 0.000 | Hitting_RBI | 0.486 | 1.000 | 0.514 | 0.000 |
| predicted_SLG | 0.511 | 1.000 | 0.333 | Hitting_SLG | 0.525 | 0.500 | 0.475 | 0.500 |
| predicted_SO | 0.759 | 1.000 | 1.000 | Hitting_SO | 0.876 | 0.000 | 0.124 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 9 |
| Deboosted Metrics | 1 |
| Better Metrics | 8 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_AB: 2.8980 -> 4.0000 (boost 1.1020, better) |
| Biggest Deboost | predicted_2B: 0.1020 -> 0.0000 (deboost -0.1020, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 3 | 0 | 3 | 0 | predicted_BB: 0.3890 -> 0.4399 (boost 0.0509, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 0 | 0 | 0 | 0 | 0 | - | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_H: 0.7204 -> 1.0000 (boost 0.2796, better) | predicted_RBI: 0.4693 -> 0.0000 (deboost -0.4693, worse) | AB rounded to 3 (raw=2.90), rates preserved: AVG=0.249 HR/AB=0.077 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4433 -> 0.0000 (deboost -0.4433, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2528 -> 0.3330 (boost 0.0802, better) | predicted_SLG: 0.5299 -> 0.3330 (deboost -0.1969, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 5 | 0 | 5 | 0 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.3330 -> 0.5299 (boost 0.1969, better) | predicted_AVG: 0.3330 -> 0.2528 (deboost -0.0802, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "592626",
"player_name": "Joc Pederson",
"position": "1B",
"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": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.102,
"predicted_3B": 0.019,
"predicted_AB": 2.898,
"predicted_AVG": 0.252,
"predicted_BB": 0.389,
"predicted_H": 0.731,
"predicted_HR": 0.204,
"predicted_OBP": 0.341,
"predicted_R": 0.454,
"predicted_RBI": 0.426,
"predicted_SLG": 0.511,
"predicted_SO": 0.759
},
"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": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0858,
"predicted_3B": 0.0156,
"predicted_AB": 2.8493,
"predicted_AVG": 0.2519,
"predicted_BB": 0.4399,
"predicted_H": 0.7182,
"predicted_HBP": 0.017,
"predicted_HR": 0.2232,
"predicted_OBP": 0.3514,
"predicted_R": 0.4403,
"predicted_RBI": 0.4662,
"predicted_SLG": 0.5281,
"predicted_SO": 0.7265
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.102,
"after": 0.0858,
"delta": -0.0162,
"percent_delta": -0.1588,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.019,
"after": 0.0156,
"delta": -0.0034,
"percent_delta": -0.1789,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.898,
"after": 2.8493,
"delta": -0.0487,
"percent_delta": -0.0168,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.252,
"after": 0.2519,
"delta": -0.0001,
"percent_delta": -0.0004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.389,
"after": 0.4399,
"delta": 0.0509,
"percent_delta": 0.1308,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.731,
"after": 0.7182,
"delta": -0.0128,
"percent_delta": -0.0175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.204,
"after": 0.2232,
"delta": 0.0192,
"percent_delta": 0.0941,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.341,
"after": 0.3514,
"delta": 0.0104,
"percent_delta": 0.0305,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.454,
"after": 0.4403,
"delta": -0.0137,
"percent_delta": -0.0302,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.426,
"after": 0.4662,
"delta": 0.0402,
"percent_delta": 0.0944,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.511,
"after": 0.5281,
"delta": 0.0171,
"percent_delta": 0.0335,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.759,
"after": 0.7265,
"delta": -0.0325,
"percent_delta": -0.0428,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.389,
"after": 0.4399,
"delta": 0.0509,
"percent_delta": 0.1308,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 108
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0858,
"predicted_3B": 0.0156,
"predicted_AB": 2.8493,
"predicted_AVG": 0.2528,
"predicted_BB": 0.4404,
"predicted_H": 0.7204,
"predicted_HBP": 0.017,
"predicted_HR": 0.2242,
"predicted_OBP": 0.3529,
"predicted_R": 0.4433,
"predicted_RBI": 0.4693,
"predicted_SLG": 0.5299,
"predicted_SO": 0.7257
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0858,
"after": 0.0858,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0156,
"after": 0.0156,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8493,
"after": 2.8493,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2519,
"after": 0.2528,
"delta": 0.0009,
"percent_delta": 0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4399,
"after": 0.4404,
"delta": 0.0005,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7182,
"after": 0.7204,
"delta": 0.0022,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.017,
"after": 0.017,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2232,
"after": 0.2242,
"delta": 0.001,
"percent_delta": 0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3514,
"after": 0.3529,
"delta": 0.0015,
"percent_delta": 0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4403,
"after": 0.4433,
"delta": 0.003,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4662,
"after": 0.4693,
"delta": 0.0031,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5281,
"after": 0.5299,
"delta": 0.0018,
"percent_delta": 0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.7265,
"after": 0.7257,
"delta": -0.0008,
"percent_delta": -0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.90), rates preserved: AVG=0.249 HR/AB=0.077",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0858,
"after": 0.0,
"delta": -0.0858,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0156,
"after": 0.0,
"delta": -0.0156,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8493,
"after": 3.0,
"delta": 0.1507,
"percent_delta": 0.0529,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4404,
"after": 0.0,
"delta": -0.4404,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7204,
"after": 1.0,
"delta": 0.2796,
"percent_delta": 0.3881,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.017,
"after": 0.0,
"delta": -0.017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2242,
"after": 0.0,
"delta": -0.2242,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4693,
"after": 0.0,
"delta": -0.4693,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7257,
"after": 1.0,
"delta": 0.2743,
"percent_delta": 0.378,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.7204,
"after": 1.0,
"delta": 0.2796,
"percent_delta": 0.3881,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4693,
"after": 0.0,
"delta": -0.4693,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.4433,
"after": 0.0,
"delta": -0.4433,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4433,
"after": 0.0,
"delta": -0.4433,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2528,
"after": 0.333,
"delta": 0.0802,
"percent_delta": 0.3172,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_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_OBP",
"before": 0.3529,
"after": 0.333,
"delta": -0.0199,
"percent_delta": -0.0564,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5299,
"after": 0.333,
"delta": -0.1969,
"percent_delta": -0.3716,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2528,
"after": 0.333,
"delta": 0.0802,
"percent_delta": 0.3172,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5299,
"after": 0.333,
"delta": -0.1969,
"percent_delta": -0.3716,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"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_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 5,
"boosted_metrics": 5,
"deboosted_metrics": 0,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2528,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3529,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5299,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2528,
"delta": -0.0802,
"percent_delta": -0.2407,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_CS",
"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_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_OBP",
"before": 0.333,
"after": 0.3529,
"delta": 0.0199,
"percent_delta": 0.0597,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.5299,
"delta": 0.1969,
"percent_delta": 0.5914,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.5299,
"delta": 0.1969,
"percent_delta": 0.5914,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2528,
"delta": -0.0802,
"percent_delta": -0.2407,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.102,
"after": 0.0,
"delta": -0.102,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.019,
"after": 0.0,
"delta": -0.019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.898,
"after": 4.0,
"delta": 1.102,
"percent_delta": 0.3803,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.252,
"after": 0.2528,
"delta": 0.0008,
"percent_delta": 0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.389,
"after": 1.0,
"delta": 0.611,
"percent_delta": 1.5707,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.731,
"after": 1.0,
"delta": 0.269,
"percent_delta": 0.368,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.204,
"after": 1.0,
"delta": 0.796,
"percent_delta": 3.902,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.341,
"after": 0.3529,
"delta": 0.0119,
"percent_delta": 0.0349,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.454,
"after": 1.0,
"delta": 0.546,
"percent_delta": 1.2026,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.426,
"after": 1.0,
"delta": 0.574,
"percent_delta": 1.3474,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.511,
"after": 0.5299,
"delta": 0.0189,
"percent_delta": 0.037,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.759,
"after": 1.0,
"delta": 0.241,
"percent_delta": 0.3175,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 9,
"deboosted_metrics": 1,
"better_metrics": 8,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.898,
"after": 4.0,
"delta": 1.102,
"percent_delta": 0.3803,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.102,
"after": 0.0,
"delta": -0.102,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.102 | - |
| predicted_3B | 0.019 | - |
| predicted_AB | 2.898 | - |
| predicted_AVG | 0.252 | - |
| predicted_BB | 0.389 | - |
| predicted_H | 0.731 | - |
| predicted_HR | 0.204 | - |
| predicted_OBP | 0.341 | - |
| predicted_R | 0.454 | - |
| predicted_RBI | 0.426 | - |
| predicted_SLG | 0.511 | - |
| predicted_SO | 0.759 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.086 | -0.016 |
| predicted_3B | 0.016 | -0.003 |
| predicted_AB | 2.849 | -0.049 |
| predicted_AVG | 0.252 | -0.000 |
| predicted_BB | 0.440 | 0.051 |
| predicted_H | 0.718 | -0.013 |
| predicted_HBP | 0.017 | - |
| predicted_HR | 0.223 | 0.019 |
| predicted_OBP | 0.351 | 0.010 |
| predicted_R | 0.440 | -0.014 |
| predicted_RBI | 0.466 | 0.040 |
| predicted_SLG | 0.528 | 0.017 |
| predicted_SO | 0.727 | -0.032 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.086 | 0.000 |
| predicted_3B | 0.016 | 0.000 |
| predicted_AB | 2.849 | 0.000 |
| predicted_AVG | 0.253 | 0.001 |
| predicted_BB | 0.440 | 0.001 |
| predicted_H | 0.720 | 0.002 |
| predicted_HBP | 0.017 | 0.000 |
| predicted_HR | 0.224 | 0.001 |
| predicted_OBP | 0.353 | 0.002 |
| predicted_R | 0.443 | 0.003 |
| predicted_RBI | 0.469 | 0.003 |
| predicted_SLG | 0.530 | 0.002 |
| predicted_SO | 0.726 | -0.001 |
AB rounded to 3 (raw=2.90), rates preserved: AVG=0.249 HR/AB=0.077
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.086 |
| predicted_3B | 0.000 | -0.016 |
| predicted_AB | 3.000 | 0.151 |
| predicted_AVG | 0.333 | 0.080 |
| predicted_BB | 0.000 | -0.440 |
| predicted_H | 1.000 | 0.280 |
| predicted_HR | 0.000 | -0.224 |
| predicted_OBP | 0.333 | -0.020 |
| predicted_R | 0.000 | -0.443 |
| predicted_RBI | 0.000 | -0.469 |
| predicted_SLG | 0.333 | -0.197 |
| predicted_SO | 1.000 | 0.274 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 5.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 11.000 | 3.000 | 0.000 | 0.000 | 2.000 | 4.000 | 2.000 | 4.000 | 2.000 | 0.2727 | 0.4667 | 0.8182 | 0.2727 | 0.1818 | 0.3636 | 0.3636 | 0.1818 |
| last_10 | 0.20 | 10 | - | 26.000 | 6.000 | 0.000 | 0.000 | 2.000 | 4.000 | 3.000 | 5.000 | 7.000 | 0.2308 | 0.3548 | 0.4615 | 0.2308 | 0.0769 | 0.1538 | 0.1923 | 0.2692 |
| season | 0.60 | 108 | - | 313.000 | 79.000 | 11.000 | 2.000 | 22.000 | 46.000 | 49.000 | 42.000 | 82.000 | 0.2524 | 0.3435 | 0.5112 | 0.2524 | 0.0703 | 0.1470 | 0.1342 | 0.2620 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0640 |
| predicted_3B | 0.0110 |
| predicted_AB | 2.7840 |
| predicted_AVG | 0.2518 |
| predicted_BB | 0.5080 |
| predicted_H | 0.7010 |
| predicted_HBP | 0.0170 |
| predicted_HR | 0.2490 |
| predicted_OBP | 0.3654 |
| predicted_R | 0.4220 |
| predicted_RBI | 0.5200 |
| predicted_SLG | 0.5509 |
| predicted_SO | 0.6830 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1020 | 0.0640 | 0.0858 | model_form_blend |
| predicted_3B | 0.0190 | 0.0110 | 0.0156 | model_form_blend |
| predicted_AB | 2.8980 | 2.7840 | 2.8493 | model_form_blend |
| predicted_AVG | 0.2520 | 0.2518 | 0.2519 | model_form_blend |
| predicted_BB | 0.3890 | 0.5080 | 0.4399 | model_form_blend |
| predicted_H | 0.7310 | 0.7010 | 0.7182 | model_form_blend |
| predicted_HBP | - | 0.0170 | 0.0170 | form_only |
| predicted_HR | 0.2040 | 0.2490 | 0.2232 | model_form_blend |
| predicted_OBP | 0.3410 | 0.3654 | 0.3514 | model_form_blend |
| predicted_R | 0.4540 | 0.4220 | 0.4403 | model_form_blend |
| predicted_RBI | 0.4260 | 0.5200 | 0.4662 | model_form_blend |
| predicted_SLG | 0.5110 | 0.5509 | 0.5281 | model_form_blend |
| predicted_SO | 0.7590 | 0.6830 | 0.7265 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 323 |
| Season rows before report date | 323 |
| Report year | 2026 |
| Profile rows used | 108 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.252 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | DH |
| gameID | 20260812_TEX@LAA |
| game_type | full |
| mlbID | 592626 |
| playerID | 592626 |
| playerName | Joc Pederson |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | TEX |
| teamID | 28 |
| game_date | 2026-08-12 |
| sl_k_percent | 22.8 |
| sl_bb_percent | 11.7 |
| sl_woba | 0.366 |
| sl_xwoba | 0.357 |
| sl_xba | 0.256 |
| sl_xslg | 0.466 |
| sl_sweet_spot_percent | 32.8 |
| sl_barrel_batted_rate | 11.6 |
| sl_hard_hit_percent | 50.0 |
| sl_exit_velocity_avg | 92.0 |
| sl_launch_angle_avg | 14.9 |
| sl_whiff_percent | 29.9 |
| sl_swing_percent | 46.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.131 | 0.000 | 0.000 | Hitting_2B | 0.134 | 1.000 | -0.134 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.738 | 4.000 | 4.000 | Hitting_AB | 3.745 | 4.000 | 0.255 | 0.000 |
| predicted_AVG | 0.202 | 0.250 | 0.250 | Hitting_AVG | 0.186 | 0.750 | 0.064 | -0.500 |
| predicted_BB | 0.508 | 0.000 | 0.000 | Hitting_BB | 0.589 | 0.000 | -0.589 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.754 | 1.000 | 1.000 | Hitting_H | 0.697 | 3.000 | 0.303 | -2.000 |
| predicted_HR | 0.197 | 1.000 | 0.000 | Hitting_HR | 0.203 | 1.000 | 0.797 | 0.000 |
| predicted_OBP | 0.297 | 0.250 | 0.250 | Hitting_OBP | 0.300 | 0.750 | -0.050 | -0.500 |
| predicted_R | 0.557 | 1.000 | 1.000 | Hitting_R | 0.571 | 1.000 | 0.429 | 0.000 |
| predicted_RBI | 0.475 | 1.000 | 1.000 | Hitting_RBI | 0.494 | 1.000 | 0.506 | 0.000 |
| predicted_SLG | 0.395 | 1.000 | 0.250 | Hitting_SLG | 0.385 | 1.750 | 0.615 | -0.750 |
| predicted_SO | 1.082 | 0.000 | 1.000 | Hitting_SO | 1.156 | 0.000 | -1.156 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 7 |
| Deboosted Metrics | 3 |
| Better Metrics | 8 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_HR: 0.1970 -> 1.0000 (boost 0.8030, better) |
| Biggest Deboost | predicted_SO: 1.0820 -> 0.0000 (deboost -1.0820, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 2 | 2 | 3 | 1 | predicted_SLG: 0.3950 -> 0.4128 (boost 0.0178, better) | predicted_SO: 1.0820 -> 0.9753 (deboost -0.1067, better) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 0 | 0 | 0 | 0 | 0 | - | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 3 | 3 | 3 | 3 | predicted_RBI: 0.4959 -> 1.0000 (boost 0.5041, better) | predicted_BB: 0.4476 -> 0.0000 (deboost -0.4476, worse) | AB rounded to 4 (raw=3.78), rates preserved: AVG=0.212 HR/AB=0.055 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5573 -> 1.0000 (boost 0.4427, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2119 -> 0.2500 (boost 0.0381, better) | predicted_SLG: 0.4142 -> 0.2500 (deboost -0.1642, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 1 | 1 | 2 | 0 | predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.4142 (boost 0.1642, better) | predicted_AVG: 0.2500 -> 0.2119 (deboost -0.0381, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "608369",
"player_name": "Corey Seager",
"position": "DH",
"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": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.131,
"predicted_3B": 0.0,
"predicted_AB": 3.738,
"predicted_AVG": 0.202,
"predicted_BB": 0.508,
"predicted_H": 0.754,
"predicted_HR": 0.197,
"predicted_OBP": 0.297,
"predicted_R": 0.557,
"predicted_RBI": 0.475,
"predicted_SLG": 0.395,
"predicted_SO": 1.082
},
"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": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1356,
"predicted_3B": 0.0008,
"predicted_AB": 3.7804,
"predicted_AVG": 0.2113,
"predicted_BB": 0.4471,
"predicted_H": 0.7985,
"predicted_HBP": 0.021,
"predicted_HR": 0.2083,
"predicted_OBP": 0.2952,
"predicted_R": 0.5536,
"predicted_RBI": 0.4926,
"predicted_SLG": 0.4128,
"predicted_SO": 0.9753
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.131,
"after": 0.1356,
"delta": 0.0046,
"percent_delta": 0.0351,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0008,
"delta": 0.0008,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.738,
"after": 3.7804,
"delta": 0.0424,
"percent_delta": 0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.202,
"after": 0.2113,
"delta": 0.0093,
"percent_delta": 0.046,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.508,
"after": 0.4471,
"delta": -0.0609,
"percent_delta": -0.1199,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.754,
"after": 0.7985,
"delta": 0.0445,
"percent_delta": 0.059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.197,
"after": 0.2083,
"delta": 0.0113,
"percent_delta": 0.0574,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.297,
"after": 0.2952,
"delta": -0.0018,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.557,
"after": 0.5536,
"delta": -0.0034,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.475,
"after": 0.4926,
"delta": 0.0176,
"percent_delta": 0.0371,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.395,
"after": 0.4128,
"delta": 0.0178,
"percent_delta": 0.0451,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.082,
"after": 0.9753,
"delta": -0.1067,
"percent_delta": -0.0986,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.395,
"after": 0.4128,
"delta": 0.0178,
"percent_delta": 0.0451,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.082,
"after": 0.9753,
"delta": -0.1067,
"percent_delta": -0.0986,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 61
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1356,
"predicted_3B": 0.0008,
"predicted_AB": 3.7804,
"predicted_AVG": 0.2119,
"predicted_BB": 0.4476,
"predicted_H": 0.801,
"predicted_HBP": 0.021,
"predicted_HR": 0.2092,
"predicted_OBP": 0.2953,
"predicted_R": 0.5573,
"predicted_RBI": 0.4959,
"predicted_SLG": 0.4142,
"predicted_SO": 0.9742
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1356,
"after": 0.1356,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7804,
"after": 3.7804,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2113,
"after": 0.2119,
"delta": 0.0006,
"percent_delta": 0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4471,
"after": 0.4476,
"delta": 0.0005,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7985,
"after": 0.801,
"delta": 0.0025,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.021,
"after": 0.021,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2083,
"after": 0.2092,
"delta": 0.0009,
"percent_delta": 0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2952,
"after": 0.2953,
"delta": 0.0001,
"percent_delta": 0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5536,
"after": 0.5573,
"delta": 0.0037,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4926,
"after": 0.4959,
"delta": 0.0033,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4128,
"after": 0.4142,
"delta": 0.0014,
"percent_delta": 0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.9753,
"after": 0.9742,
"delta": -0.0011,
"percent_delta": -0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.78), rates preserved: AVG=0.212 HR/AB=0.055",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1356,
"after": 0.0,
"delta": -0.1356,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0,
"delta": -0.0008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7804,
"after": 4.0,
"delta": 0.2196,
"percent_delta": 0.0581,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4476,
"after": 0.0,
"delta": -0.4476,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.801,
"after": 1.0,
"delta": 0.199,
"percent_delta": 0.2484,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.021,
"after": 0.0,
"delta": -0.021,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2092,
"after": 0.0,
"delta": -0.2092,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4959,
"after": 1.0,
"delta": 0.5041,
"percent_delta": 1.0165,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9742,
"after": 1.0,
"delta": 0.0258,
"percent_delta": 0.0265,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.4959,
"after": 1.0,
"delta": 0.5041,
"percent_delta": 1.0165,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4476,
"after": 0.0,
"delta": -0.4476,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.5573,
"after": 1.0,
"delta": 0.4427,
"percent_delta": 0.7944,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.5573,
"after": 1.0,
"delta": 0.4427,
"percent_delta": 0.7944,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2119,
"after": 0.25,
"delta": 0.0381,
"percent_delta": 0.1798,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_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_OBP",
"before": 0.2953,
"after": 0.25,
"delta": -0.0453,
"percent_delta": -0.1534,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4142,
"after": 0.25,
"delta": -0.1642,
"percent_delta": -0.3964,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2119,
"after": 0.25,
"delta": 0.0381,
"percent_delta": 0.1798,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4142,
"after": 0.25,
"delta": -0.1642,
"percent_delta": -0.3964,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_CS",
"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_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2119,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2953,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4142,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2119,
"delta": -0.0381,
"percent_delta": -0.1525,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_CS",
"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_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_OBP",
"before": 0.25,
"after": 0.2953,
"delta": 0.0453,
"percent_delta": 0.1812,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4142,
"delta": 0.1642,
"percent_delta": 0.6567,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4142,
"delta": 0.1642,
"percent_delta": 0.6567,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2119,
"delta": -0.0381,
"percent_delta": -0.1525,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.131,
"after": 0.0,
"delta": -0.131,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.738,
"after": 4.0,
"delta": 0.262,
"percent_delta": 0.0701,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.202,
"after": 0.2119,
"delta": 0.0099,
"percent_delta": 0.049,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.508,
"after": 0.0,
"delta": -0.508,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.754,
"after": 1.0,
"delta": 0.246,
"percent_delta": 0.3263,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.197,
"after": 1.0,
"delta": 0.803,
"percent_delta": 4.0761,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.297,
"after": 0.2953,
"delta": -0.0017,
"percent_delta": -0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.557,
"after": 1.0,
"delta": 0.443,
"percent_delta": 0.7953,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.475,
"after": 1.0,
"delta": 0.525,
"percent_delta": 1.1053,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.395,
"after": 0.4142,
"delta": 0.0192,
"percent_delta": 0.0486,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.082,
"after": 0.0,
"delta": -1.082,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 7,
"deboosted_metrics": 3,
"better_metrics": 8,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_HR",
"before": 0.197,
"after": 1.0,
"delta": 0.803,
"percent_delta": 4.0761,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.082,
"after": 0.0,
"delta": -1.082,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.131 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.738 | - |
| predicted_AVG | 0.202 | - |
| predicted_BB | 0.508 | - |
| predicted_H | 0.754 | - |
| predicted_HR | 0.197 | - |
| predicted_OBP | 0.297 | - |
| predicted_R | 0.557 | - |
| predicted_RBI | 0.475 | - |
| predicted_SLG | 0.395 | - |
| predicted_SO | 1.082 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.136 | 0.005 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.780 | 0.042 |
| predicted_AVG | 0.211 | 0.009 |
| predicted_BB | 0.447 | -0.061 |
| predicted_H | 0.798 | 0.044 |
| predicted_HBP | 0.021 | - |
| predicted_HR | 0.208 | 0.011 |
| predicted_OBP | 0.295 | -0.002 |
| predicted_R | 0.554 | -0.003 |
| predicted_RBI | 0.493 | 0.018 |
| predicted_SLG | 0.413 | 0.018 |
| predicted_SO | 0.975 | -0.107 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.136 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.780 | 0.000 |
| predicted_AVG | 0.212 | 0.001 |
| predicted_BB | 0.448 | 0.001 |
| predicted_H | 0.801 | 0.003 |
| predicted_HBP | 0.021 | 0.000 |
| predicted_HR | 0.209 | 0.001 |
| predicted_OBP | 0.295 | 0.000 |
| predicted_R | 0.557 | 0.004 |
| predicted_RBI | 0.496 | 0.003 |
| predicted_SLG | 0.414 | 0.001 |
| predicted_SO | 0.974 | -0.001 |
AB rounded to 4 (raw=3.78), rates preserved: AVG=0.212 HR/AB=0.055
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.136 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | 0.220 |
| predicted_AVG | 0.250 | 0.038 |
| predicted_BB | 0.000 | -0.448 |
| predicted_H | 1.000 | 0.199 |
| predicted_HR | 0.000 | -0.209 |
| predicted_OBP | 0.250 | -0.045 |
| predicted_R | 1.000 | 0.443 |
| predicted_RBI | 1.000 | 0.504 |
| predicted_SLG | 0.250 | -0.164 |
| predicted_SO | 1.000 | 0.026 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 21.000 | 5.000 | 1.000 | 0.000 | 2.000 | 4.000 | 3.000 | 0.000 | 1.000 | 0.2381 | 0.2381 | 0.5714 | 0.2381 | 0.0952 | 0.1905 | 0.0000 | 0.0476 |
| last_10 | 0.20 | 10 | - | 38.000 | 10.000 | 1.000 | 0.000 | 2.000 | 4.000 | 5.000 | 3.000 | 6.000 | 0.2632 | 0.3171 | 0.4474 | 0.2632 | 0.0526 | 0.1053 | 0.0790 | 0.1579 |
| season | 0.60 | 61 | - | 228.000 | 46.000 | 8.000 | 0.000 | 12.000 | 29.000 | 34.000 | 31.000 | 66.000 | 0.2018 | 0.3004 | 0.3947 | 0.2018 | 0.0526 | 0.1272 | 0.1360 | 0.2895 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1420 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.8390 |
| predicted_AVG | 0.2241 |
| predicted_BB | 0.3630 |
| predicted_H | 0.8600 |
| predicted_HBP | 0.0210 |
| predicted_HR | 0.2240 |
| predicted_OBP | 0.2927 |
| predicted_R | 0.5490 |
| predicted_RBI | 0.5170 |
| predicted_SLG | 0.4373 |
| predicted_SO | 0.8280 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1310 | 0.1420 | 0.1356 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.7380 | 3.8390 | 3.7804 | model_form_blend |
| predicted_AVG | 0.2020 | 0.2241 | 0.2113 | model_form_blend |
| predicted_BB | 0.5080 | 0.3630 | 0.4471 | model_form_blend |
| predicted_H | 0.7540 | 0.8600 | 0.7985 | model_form_blend |
| predicted_HBP | - | 0.0210 | 0.0210 | form_only |
| predicted_HR | 0.1970 | 0.2240 | 0.2083 | model_form_blend |
| predicted_OBP | 0.2970 | 0.2927 | 0.2952 | model_form_blend |
| predicted_R | 0.5570 | 0.5490 | 0.5536 | model_form_blend |
| predicted_RBI | 0.4750 | 0.5170 | 0.4926 | model_form_blend |
| predicted_SLG | 0.3950 | 0.4373 | 0.4128 | model_form_blend |
| predicted_SO | 1.0820 | 0.8280 | 0.9753 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 231 |
| Season rows before report date | 231 |
| Report year | 2026 |
| Profile rows used | 61 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.202 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.75 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| Hitting_H | 3 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 7 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260812_TEX@LAA |
| game_type | full |
| mlbID | 608369 |
| playerID | 608369 |
| playerName | Corey Seager |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | TEX |
| teamID | 28 |
| game_date | 2026-08-12 |
| sl_k_percent | 25.5 |
| sl_bb_percent | 12.0 |
| sl_woba | 0.291 |
| sl_xwoba | 0.335 |
| sl_xba | 0.231 |
| sl_xslg | 0.451 |
| sl_sweet_spot_percent | 32.5 |
| sl_barrel_batted_rate | 14.4 |
| sl_hard_hit_percent | 46.3 |
| sl_exit_velocity_avg | 91.4 |
| sl_launch_angle_avg | 12.8 |
| sl_whiff_percent | 34.9 |
| sl_swing_percent | 51.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.200 | 0.000 | 0.000 | Hitting_2B | 0.226 | 0.000 | -0.226 | 0.000 |
| predicted_3B | 0.027 | 0.000 | 0.000 | Hitting_3B | 0.027 | 0.000 | -0.027 | 0.000 |
| predicted_AB | 3.518 | 4.000 | 4.000 | Hitting_AB | 3.621 | 4.000 | 0.379 | 0.000 |
| predicted_AVG | 0.269 | 0.000 | 0.250 | Hitting_AVG | 0.281 | 0.000 | -0.281 | 0.000 |
| predicted_BB | 0.282 | 0.000 | 0.000 | Hitting_BB | 0.313 | 0.000 | -0.313 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_H | 0.945 | 0.000 | 1.000 | Hitting_H | 1.016 | 0.000 | -1.016 | 0.000 |
| predicted_HR | 0.118 | 0.000 | 0.000 | Hitting_HR | 0.109 | 0.000 | -0.109 | 0.000 |
| predicted_OBP | 0.323 | 0.000 | 0.250 | Hitting_OBP | 0.337 | 0.000 | -0.337 | 0.000 |
| predicted_R | 0.491 | 0.000 | 0.000 | Hitting_R | 0.499 | 0.000 | -0.499 | 0.000 |
| predicted_RBI | 0.582 | 0.000 | 1.000 | Hitting_RBI | 0.610 | 0.000 | -0.610 | 0.000 |
| predicted_SLG | 0.442 | 0.000 | 0.250 | Hitting_SLG | 0.448 | 0.000 | -0.448 | 0.000 |
| predicted_SO | 0.927 | 2.000 | 1.000 | Hitting_SO | 0.937 | 3.000 | 1.063 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 0.9270 -> 2.0000 (boost 1.0730, worse) |
| Biggest Deboost | predicted_H: 0.9450 -> 0.0000 (deboost -0.9450, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 0 | 3 | predicted_SO: 0.9270 -> 0.9912 (boost 0.0642, worse) | predicted_SLG: 0.4420 -> 0.4196 (deboost -0.0224, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 0 | 0 | 0 | 0 | 0 | - | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 3 | 3 | 3 | 3 | predicted_RBI: 0.5633 -> 1.0000 (boost 0.4367, better) | predicted_BB: 0.3004 -> 0.0000 (deboost -0.3004, worse) | AB rounded to 4 (raw=3.56), rates preserved: AVG=0.262 HR/AB=0.030 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4960 -> 0.0000 (deboost -0.4960, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4202 -> 0.2500 (deboost -0.1702, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 1 | 2 | 0 | 3 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.4202 (boost 0.1702, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "677649",
"player_name": "Ezequiel Duran",
"position": "3B",
"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": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.2,
"predicted_3B": 0.027,
"predicted_AB": 3.518,
"predicted_AVG": 0.269,
"predicted_BB": 0.282,
"predicted_H": 0.945,
"predicted_HR": 0.118,
"predicted_OBP": 0.323,
"predicted_R": 0.491,
"predicted_RBI": 0.582,
"predicted_SLG": 0.442,
"predicted_SO": 0.927
},
"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": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1922,
"predicted_3B": 0.0227,
"predicted_AB": 3.5637,
"predicted_AVG": 0.2617,
"predicted_BB": 0.3001,
"predicted_H": 0.9312,
"predicted_HBP": 0.018,
"predicted_HR": 0.1081,
"predicted_OBP": 0.3193,
"predicted_R": 0.4927,
"predicted_RBI": 0.5596,
"predicted_SLG": 0.4196,
"predicted_SO": 0.9912
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2,
"after": 0.1922,
"delta": -0.0078,
"percent_delta": -0.039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.0227,
"delta": -0.0043,
"percent_delta": -0.1593,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.518,
"after": 3.5637,
"delta": 0.0457,
"percent_delta": 0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.269,
"after": 0.2617,
"delta": -0.0073,
"percent_delta": -0.0271,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.282,
"after": 0.3001,
"delta": 0.0181,
"percent_delta": 0.0642,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.945,
"after": 0.9312,
"delta": -0.0138,
"percent_delta": -0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.118,
"after": 0.1081,
"delta": -0.0099,
"percent_delta": -0.0839,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.323,
"after": 0.3193,
"delta": -0.0037,
"percent_delta": -0.0115,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.491,
"after": 0.4927,
"delta": 0.0017,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.582,
"after": 0.5596,
"delta": -0.0224,
"percent_delta": -0.0385,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.442,
"after": 0.4196,
"delta": -0.0224,
"percent_delta": -0.0507,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.927,
"after": 0.9912,
"delta": 0.0642,
"percent_delta": 0.0693,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.927,
"after": 0.9912,
"delta": 0.0642,
"percent_delta": 0.0693,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.442,
"after": 0.4196,
"delta": -0.0224,
"percent_delta": -0.0507,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 110
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1922,
"predicted_3B": 0.0227,
"predicted_AB": 3.5637,
"predicted_AVG": 0.2621,
"predicted_BB": 0.3004,
"predicted_H": 0.9341,
"predicted_HBP": 0.018,
"predicted_HR": 0.1086,
"predicted_OBP": 0.3195,
"predicted_R": 0.496,
"predicted_RBI": 0.5633,
"predicted_SLG": 0.4202,
"predicted_SO": 0.9901
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1922,
"after": 0.1922,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0227,
"after": 0.0227,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5637,
"after": 3.5637,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2617,
"after": 0.2621,
"delta": 0.0004,
"percent_delta": 0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3001,
"after": 0.3004,
"delta": 0.0003,
"percent_delta": 0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9312,
"after": 0.9341,
"delta": 0.0029,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.018,
"after": 0.018,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1081,
"after": 0.1086,
"delta": 0.0005,
"percent_delta": 0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3193,
"after": 0.3195,
"delta": 0.0002,
"percent_delta": 0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4927,
"after": 0.496,
"delta": 0.0033,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5596,
"after": 0.5633,
"delta": 0.0037,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4196,
"after": 0.4202,
"delta": 0.0006,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.9912,
"after": 0.9901,
"delta": -0.0011,
"percent_delta": -0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.56), rates preserved: AVG=0.262 HR/AB=0.030",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1922,
"after": 0.0,
"delta": -0.1922,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0227,
"after": 0.0,
"delta": -0.0227,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5637,
"after": 4.0,
"delta": 0.4363,
"percent_delta": 0.1224,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3004,
"after": 0.0,
"delta": -0.3004,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9341,
"after": 1.0,
"delta": 0.0659,
"percent_delta": 0.0705,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.018,
"after": 0.0,
"delta": -0.018,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1086,
"after": 0.0,
"delta": -0.1086,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5633,
"after": 1.0,
"delta": 0.4367,
"percent_delta": 0.7753,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9901,
"after": 1.0,
"delta": 0.0099,
"percent_delta": 0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5633,
"after": 1.0,
"delta": 0.4367,
"percent_delta": 0.7753,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3004,
"after": 0.0,
"delta": -0.3004,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.496,
"after": 0.0,
"delta": -0.496,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.496,
"after": 0.0,
"delta": -0.496,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2621,
"after": 0.25,
"delta": -0.0121,
"percent_delta": -0.0462,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_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_OBP",
"before": 0.3195,
"after": 0.25,
"delta": -0.0695,
"percent_delta": -0.2175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4202,
"after": 0.25,
"delta": -0.1702,
"percent_delta": -0.405,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4202,
"after": 0.25,
"delta": -0.1702,
"percent_delta": -0.405,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_CS",
"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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2621,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3195,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4202,
"predicted_SO": 2.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2621,
"delta": 0.0121,
"percent_delta": 0.0484,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_OBP",
"before": 0.25,
"after": 0.3195,
"delta": 0.0695,
"percent_delta": 0.2779,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4202,
"delta": 0.1702,
"percent_delta": 0.6807,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.4202,
"delta": 0.1702,
"percent_delta": 0.6807,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.0,
"delta": -0.027,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.518,
"after": 4.0,
"delta": 0.482,
"percent_delta": 0.137,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.269,
"after": 0.2621,
"delta": -0.0069,
"percent_delta": -0.0257,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.282,
"after": 0.0,
"delta": -0.282,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.945,
"after": 0.0,
"delta": -0.945,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.118,
"after": 0.0,
"delta": -0.118,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.323,
"after": 0.3195,
"delta": -0.0035,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.491,
"after": 0.0,
"delta": -0.491,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.582,
"after": 0.0,
"delta": -0.582,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.442,
"after": 0.4202,
"delta": -0.0218,
"percent_delta": -0.0493,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.927,
"after": 2.0,
"delta": 1.073,
"percent_delta": 1.1575,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.927,
"after": 2.0,
"delta": 1.073,
"percent_delta": 1.1575,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.945,
"after": 0.0,
"delta": -0.945,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.200 | - |
| predicted_3B | 0.027 | - |
| predicted_AB | 3.518 | - |
| predicted_AVG | 0.269 | - |
| predicted_BB | 0.282 | - |
| predicted_H | 0.945 | - |
| predicted_HR | 0.118 | - |
| predicted_OBP | 0.323 | - |
| predicted_R | 0.491 | - |
| predicted_RBI | 0.582 | - |
| predicted_SLG | 0.442 | - |
| predicted_SO | 0.927 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.192 | -0.008 |
| predicted_3B | 0.023 | -0.004 |
| predicted_AB | 3.564 | 0.046 |
| predicted_AVG | 0.262 | -0.007 |
| predicted_BB | 0.300 | 0.018 |
| predicted_H | 0.931 | -0.014 |
| predicted_HBP | 0.018 | - |
| predicted_HR | 0.108 | -0.010 |
| predicted_OBP | 0.319 | -0.004 |
| predicted_R | 0.493 | 0.002 |
| predicted_RBI | 0.560 | -0.022 |
| predicted_SLG | 0.420 | -0.022 |
| predicted_SO | 0.991 | 0.064 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.192 | 0.000 |
| predicted_3B | 0.023 | 0.000 |
| predicted_AB | 3.564 | 0.000 |
| predicted_AVG | 0.262 | 0.000 |
| predicted_BB | 0.300 | 0.000 |
| predicted_H | 0.934 | 0.003 |
| predicted_HBP | 0.018 | 0.000 |
| predicted_HR | 0.109 | 0.001 |
| predicted_OBP | 0.320 | 0.000 |
| predicted_R | 0.496 | 0.003 |
| predicted_RBI | 0.563 | 0.004 |
| predicted_SLG | 0.420 | 0.001 |
| predicted_SO | 0.990 | -0.001 |
AB rounded to 4 (raw=3.56), rates preserved: AVG=0.262 HR/AB=0.030
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.192 |
| predicted_3B | 0.000 | -0.023 |
| predicted_AB | 4.000 | 0.436 |
| predicted_AVG | 0.250 | -0.012 |
| predicted_BB | 0.000 | -0.300 |
| predicted_H | 1.000 | 0.066 |
| predicted_HR | 0.000 | -0.109 |
| predicted_OBP | 0.250 | -0.070 |
| predicted_R | 0.000 | -0.496 |
| predicted_RBI | 1.000 | 0.437 |
| predicted_SLG | 0.250 | -0.170 |
| predicted_SO | 1.000 | 0.010 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 3.000 | 0.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 7.000 | 0.1579 | 0.2381 | 0.1579 | 0.1579 | 0.0000 | 0.0526 | 0.1053 | 0.3684 |
| last_10 | 0.20 | 10 | - | 37.000 | 11.000 | 3.000 | 0.000 | 1.000 | 7.000 | 4.000 | 4.000 | 13.000 | 0.2973 | 0.3659 | 0.4595 | 0.2973 | 0.0270 | 0.1892 | 0.1081 | 0.3513 |
| season | 0.60 | 110 | - | 387.000 | 104.000 | 22.000 | 3.000 | 13.000 | 64.000 | 54.000 | 31.000 | 102.000 | 0.2687 | 0.3239 | 0.4419 | 0.2687 | 0.0336 | 0.1654 | 0.0801 | 0.2636 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1820 |
| predicted_3B | 0.0170 |
| predicted_AB | 3.6240 |
| predicted_AVG | 0.2520 |
| predicted_BB | 0.3240 |
| predicted_H | 0.9130 |
| predicted_HBP | 0.0180 |
| predicted_HR | 0.0950 |
| predicted_OBP | 0.3145 |
| predicted_R | 0.4950 |
| predicted_RBI | 0.5300 |
| predicted_SLG | 0.3899 |
| predicted_SO | 1.0760 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2000 | 0.1820 | 0.1922 | model_form_blend |
| predicted_3B | 0.0270 | 0.0170 | 0.0227 | model_form_blend |
| predicted_AB | 3.5180 | 3.6240 | 3.5637 | model_form_blend |
| predicted_AVG | 0.2690 | 0.2520 | 0.2617 | model_form_blend |
| predicted_BB | 0.2820 | 0.3240 | 0.3001 | model_form_blend |
| predicted_H | 0.9450 | 0.9130 | 0.9312 | model_form_blend |
| predicted_HBP | - | 0.0180 | 0.0180 | form_only |
| predicted_HR | 0.1180 | 0.0950 | 0.1081 | model_form_blend |
| predicted_OBP | 0.3230 | 0.3145 | 0.3193 | model_form_blend |
| predicted_R | 0.4910 | 0.4950 | 0.4927 | model_form_blend |
| predicted_RBI | 0.5820 | 0.5300 | 0.5596 | model_form_blend |
| predicted_SLG | 0.4420 | 0.3899 | 0.4196 | model_form_blend |
| predicted_SO | 0.9270 | 1.0760 | 0.9912 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 367 |
| Season rows before report date | 367 |
| Report year | 2026 |
| Profile rows used | 110 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.269 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 3 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260812_TEX@LAA |
| game_type | full |
| mlbID | 677649 |
| playerID | 677649 |
| playerName | Ezequiel Duran |
| pos | SS |
| started | True |
| startingPosition | 3B |
| team | TEX |
| teamID | 28 |
| game_date | 2026-08-12 |
| sl_k_percent | 23.4 |
| sl_bb_percent | 7.3 |
| sl_woba | 0.336 |
| sl_xwoba | 0.305 |
| sl_xba | 0.25 |
| sl_xslg | 0.38 |
| sl_sweet_spot_percent | 36.2 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 36.2 |
| sl_exit_velocity_avg | 88.6 |
| sl_launch_angle_avg | 11.5 |
| sl_whiff_percent | 26.4 |
| sl_swing_percent | 51.6 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.045 | 0.000 | 0.000 | Hitting_2B | 0.068 | 0.000 | -0.068 | 0.000 |
| predicted_3B | 0.015 | 0.000 | 0.000 | Hitting_3B | 0.006 | 0.000 | -0.006 | 0.000 |
| predicted_AB | 2.818 | 4.000 | 3.000 | Hitting_AB | 3.174 | 2.000 | 0.826 | 2.000 |
| predicted_AVG | 0.269 | 0.500 | 0.333 | Hitting_AVG | 0.307 | 0.000 | 0.193 | 0.500 |
| predicted_BB | 0.136 | 0.000 | 0.000 | Hitting_BB | 0.124 | 0.000 | -0.124 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_H | 0.758 | 2.000 | 1.000 | Hitting_H | 0.975 | 0.000 | 1.025 | 2.000 |
| predicted_HR | 0.015 | 0.000 | 0.000 | Hitting_HR | 0.025 | 0.000 | -0.025 | 0.000 |
| predicted_OBP | 0.303 | 0.500 | 0.333 | Hitting_OBP | 0.345 | 0.333 | 0.155 | 0.167 |
| predicted_R | 0.288 | 0.000 | 0.000 | Hitting_R | 0.366 | 0.000 | -0.366 | 0.000 |
| predicted_RBI | 0.303 | 0.000 | 0.000 | Hitting_RBI | 0.348 | 0.000 | -0.348 | 0.000 |
| predicted_SLG | 0.312 | 0.500 | 0.333 | Hitting_SLG | 0.356 | 0.000 | 0.144 | 0.500 |
| predicted_SO | 0.515 | 0.000 | 1.000 | Hitting_SO | 0.503 | 1.000 | -0.503 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 8 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 6 |
| Better Metrics | 3 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_H: 0.7580 -> 2.0000 (boost 1.2420, better) |
| Biggest Deboost | predicted_SO: 0.5150 -> 0.0000 (deboost -0.5150, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 0 | 3 | 0 | 3 | - | predicted_H: 0.7580 -> 0.6921 (deboost -0.0659, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.2889 -> 0.2802 (deboost -0.0087, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 3 | 3 | 2 | 4 | predicted_SO: 0.5580 -> 1.0000 (boost 0.4420, worse) | predicted_RBI: 0.2980 -> 0.0000 (deboost -0.2980, worse) | AB rounded to 3 (raw=2.82), rates preserved: AVG=0.246 HR/AB=0.006 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3061 -> 0.0000 (deboost -0.3061, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2495 -> 0.3330 (boost 0.0835, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 2 | 1 | 3 | 0 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.2495 (deboost -0.0835, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "670032",
"player_name": "Nicky Lopez",
"position": "SS",
"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": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.045,
"predicted_3B": 0.015,
"predicted_AB": 2.818,
"predicted_AVG": 0.269,
"predicted_BB": 0.136,
"predicted_H": 0.758,
"predicted_HR": 0.015,
"predicted_OBP": 0.303,
"predicted_R": 0.288,
"predicted_RBI": 0.303,
"predicted_SLG": 0.312,
"predicted_SO": 0.515
},
"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": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0429,
"predicted_3B": 0.0401,
"predicted_AB": 2.7826,
"predicted_AVG": 0.2484,
"predicted_BB": 0.1187,
"predicted_H": 0.6921,
"predicted_HBP": 0.093,
"predicted_HR": 0.0171,
"predicted_OBP": 0.2889,
"predicted_R": 0.3041,
"predicted_RBI": 0.296,
"predicted_SLG": 0.3119,
"predicted_SO": 0.5586
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.045,
"after": 0.0429,
"delta": -0.0021,
"percent_delta": -0.0467,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0401,
"delta": 0.0251,
"percent_delta": 1.6733,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.818,
"after": 2.7826,
"delta": -0.0354,
"percent_delta": -0.0126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.269,
"after": 0.2484,
"delta": -0.0206,
"percent_delta": -0.0766,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.136,
"after": 0.1187,
"delta": -0.0173,
"percent_delta": -0.1272,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.758,
"after": 0.6921,
"delta": -0.0659,
"percent_delta": -0.0869,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.015,
"after": 0.0171,
"delta": 0.0021,
"percent_delta": 0.14,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.303,
"after": 0.2889,
"delta": -0.0141,
"percent_delta": -0.0465,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.288,
"after": 0.3041,
"delta": 0.0161,
"percent_delta": 0.0559,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.303,
"after": 0.296,
"delta": -0.007,
"percent_delta": -0.0231,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.312,
"after": 0.3119,
"delta": -0.0001,
"percent_delta": -0.0003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.515,
"after": 0.5586,
"delta": 0.0436,
"percent_delta": 0.0847,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.758,
"after": 0.6921,
"delta": -0.0659,
"percent_delta": -0.0869,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 66
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0429,
"predicted_3B": 0.0401,
"predicted_AB": 2.7826,
"predicted_AVG": 0.2495,
"predicted_BB": 0.1188,
"predicted_H": 0.6942,
"predicted_HBP": 0.093,
"predicted_HR": 0.0172,
"predicted_OBP": 0.2802,
"predicted_R": 0.3061,
"predicted_RBI": 0.298,
"predicted_SLG": 0.3122,
"predicted_SO": 0.558
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0429,
"after": 0.0429,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0401,
"after": 0.0401,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.7826,
"after": 2.7826,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2484,
"after": 0.2495,
"delta": 0.0011,
"percent_delta": 0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1187,
"after": 0.1188,
"delta": 0.0001,
"percent_delta": 0.0008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6921,
"after": 0.6942,
"delta": 0.0021,
"percent_delta": 0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.093,
"after": 0.093,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0171,
"after": 0.0172,
"delta": 0.0001,
"percent_delta": 0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2889,
"after": 0.2802,
"delta": -0.0087,
"percent_delta": -0.0301,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3041,
"after": 0.3061,
"delta": 0.002,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.296,
"after": 0.298,
"delta": 0.002,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3119,
"after": 0.3122,
"delta": 0.0003,
"percent_delta": 0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.5586,
"after": 0.558,
"delta": -0.0006,
"percent_delta": -0.0011,
"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_OBP",
"before": 0.2889,
"after": 0.2802,
"delta": -0.0087,
"percent_delta": -0.0301,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.82), rates preserved: AVG=0.246 HR/AB=0.006",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0429,
"after": 0.0,
"delta": -0.0429,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0401,
"after": 0.0,
"delta": -0.0401,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.7826,
"after": 3.0,
"delta": 0.2174,
"percent_delta": 0.0781,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1188,
"after": 0.0,
"delta": -0.1188,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6942,
"after": 1.0,
"delta": 0.3058,
"percent_delta": 0.4405,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.093,
"after": 0.0,
"delta": -0.093,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0172,
"after": 0.0,
"delta": -0.0172,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.298,
"after": 0.0,
"delta": -0.298,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.558,
"after": 1.0,
"delta": 0.442,
"percent_delta": 0.7921,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.558,
"after": 1.0,
"delta": 0.442,
"percent_delta": 0.7921,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.298,
"after": 0.0,
"delta": -0.298,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.3061,
"after": 0.0,
"delta": -0.3061,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3061,
"after": 0.0,
"delta": -0.3061,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2495,
"after": 0.333,
"delta": 0.0835,
"percent_delta": 0.3347,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_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_OBP",
"before": 0.2802,
"after": 0.333,
"delta": 0.0528,
"percent_delta": 0.1884,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3122,
"after": 0.333,
"delta": 0.0208,
"percent_delta": 0.0666,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2495,
"after": 0.333,
"delta": 0.0835,
"percent_delta": 0.3347,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_CS",
"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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2495,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2802,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3122,
"predicted_SO": 0.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2495,
"delta": -0.0835,
"percent_delta": -0.2508,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_CS",
"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_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_OBP",
"before": 0.333,
"after": 0.2802,
"delta": -0.0528,
"percent_delta": -0.1585,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3122,
"delta": -0.0208,
"percent_delta": -0.0623,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2495,
"delta": -0.0835,
"percent_delta": -0.2508,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.045,
"after": 0.0,
"delta": -0.045,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.015,
"after": 0.0,
"delta": -0.015,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.818,
"after": 4.0,
"delta": 1.182,
"percent_delta": 0.4194,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.269,
"after": 0.2495,
"delta": -0.0195,
"percent_delta": -0.0725,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.136,
"after": 0.0,
"delta": -0.136,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.758,
"after": 2.0,
"delta": 1.242,
"percent_delta": 1.6385,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.015,
"after": 0.0,
"delta": -0.015,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.303,
"after": 0.2802,
"delta": -0.0228,
"percent_delta": -0.0752,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.288,
"after": 0.0,
"delta": -0.288,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.303,
"after": 0.0,
"delta": -0.303,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.312,
"after": 0.3122,
"delta": 0.0002,
"percent_delta": 0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.515,
"after": 0.0,
"delta": -0.515,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 2,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.758,
"after": 2.0,
"delta": 1.242,
"percent_delta": 1.6385,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.515,
"after": 0.0,
"delta": -0.515,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.045 | - |
| predicted_3B | 0.015 | - |
| predicted_AB | 2.818 | - |
| predicted_AVG | 0.269 | - |
| predicted_BB | 0.136 | - |
| predicted_H | 0.758 | - |
| predicted_HR | 0.015 | - |
| predicted_OBP | 0.303 | - |
| predicted_R | 0.288 | - |
| predicted_RBI | 0.303 | - |
| predicted_SLG | 0.312 | - |
| predicted_SO | 0.515 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.043 | -0.002 |
| predicted_3B | 0.040 | 0.025 |
| predicted_AB | 2.783 | -0.035 |
| predicted_AVG | 0.248 | -0.021 |
| predicted_BB | 0.119 | -0.017 |
| predicted_H | 0.692 | -0.066 |
| predicted_HBP | 0.093 | - |
| predicted_HR | 0.017 | 0.002 |
| predicted_OBP | 0.289 | -0.014 |
| predicted_R | 0.304 | 0.016 |
| predicted_RBI | 0.296 | -0.007 |
| predicted_SLG | 0.312 | -0.000 |
| predicted_SO | 0.559 | 0.044 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.043 | 0.000 |
| predicted_3B | 0.040 | 0.000 |
| predicted_AB | 2.783 | 0.000 |
| predicted_AVG | 0.249 | 0.001 |
| predicted_BB | 0.119 | 0.000 |
| predicted_H | 0.694 | 0.002 |
| predicted_HBP | 0.093 | 0.000 |
| predicted_HR | 0.017 | 0.000 |
| predicted_OBP | 0.280 | -0.009 |
| predicted_R | 0.306 | 0.002 |
| predicted_RBI | 0.298 | 0.002 |
| predicted_SLG | 0.312 | 0.000 |
| predicted_SO | 0.558 | -0.001 |
AB rounded to 3 (raw=2.82), rates preserved: AVG=0.246 HR/AB=0.006
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.043 |
| predicted_3B | 0.000 | -0.040 |
| predicted_AB | 3.000 | 0.217 |
| predicted_AVG | 0.333 | 0.084 |
| predicted_BB | 0.000 | -0.119 |
| predicted_H | 1.000 | 0.306 |
| predicted_HR | 0.000 | -0.017 |
| predicted_OBP | 0.333 | 0.053 |
| predicted_R | 0.000 | -0.306 |
| predicted_RBI | 0.000 | -0.298 |
| predicted_SLG | 0.333 | 0.021 |
| predicted_SO | 1.000 | 0.442 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 10.000 | 1.000 | 0.000 | 1.000 | 0.000 | 1.000 | 2.000 | 0.000 | 3.000 | 0.1000 | 0.1818 | 0.3000 | 0.1000 | 0.0000 | 0.1000 | 0.0000 | 0.3000 |
| last_10 | 0.20 | 10 | - | 24.000 | 4.000 | 0.000 | 1.000 | 0.000 | 2.000 | 2.000 | 0.000 | 7.000 | 0.1667 | 0.2000 | 0.2500 | 0.1667 | 0.0000 | 0.0833 | 0.0000 | 0.2917 |
| season | 0.60 | 66 | - | 186.000 | 50.000 | 3.000 | 1.000 | 1.000 | 20.000 | 19.000 | 9.000 | 34.000 | 0.2688 | 0.3116 | 0.3118 | 0.2688 | 0.0054 | 0.1075 | 0.0484 | 0.1828 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0400 |
| predicted_3B | 0.0760 |
| predicted_AB | 2.7320 |
| predicted_AVG | 0.2190 |
| predicted_BB | 0.0940 |
| predicted_H | 0.5980 |
| predicted_HBP | 0.0930 |
| predicted_HR | 0.0200 |
| predicted_OBP | 0.2688 |
| predicted_R | 0.3270 |
| predicted_RBI | 0.2860 |
| predicted_SLG | 0.3117 |
| predicted_SO | 0.6210 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0450 | 0.0400 | 0.0429 | model_form_blend |
| predicted_3B | 0.0150 | 0.0760 | 0.0401 | model_form_blend |
| predicted_AB | 2.8180 | 2.7320 | 2.7826 | model_form_blend |
| predicted_AVG | 0.2690 | 0.2190 | 0.2484 | model_form_blend |
| predicted_BB | 0.1360 | 0.0940 | 0.1187 | model_form_blend |
| predicted_H | 0.7580 | 0.5980 | 0.6921 | model_form_blend |
| predicted_HBP | - | 0.0930 | 0.0930 | form_only |
| predicted_HR | 0.0150 | 0.0200 | 0.0171 | model_form_blend |
| predicted_OBP | 0.3030 | 0.2688 | 0.2889 | model_form_blend |
| predicted_R | 0.2880 | 0.3270 | 0.3041 | model_form_blend |
| predicted_RBI | 0.3030 | 0.2860 | 0.2960 | model_form_blend |
| predicted_SLG | 0.3120 | 0.3117 | 0.3119 | model_form_blend |
| predicted_SO | 0.5150 | 0.6210 | 0.5586 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 161 |
| Season rows before report date | 161 |
| Report year | 2026 |
| Profile rows used | 66 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.269 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 1 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260812_TEX@LAA |
| game_type | full |
| mlbID | 670032 |
| playerID | 670032 |
| playerName | Nicky Lopez |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | TEX |
| teamID | 28 |
| game_date | 2026-08-12 |
| sl_k_percent | 16.2 |
| sl_bb_percent | 4.4 |
| sl_woba | 0.282 |
| sl_xwoba | 0.257 |
| sl_xba | 0.241 |
| sl_xslg | 0.289 |
| sl_sweet_spot_percent | 26.3 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 21.9 |
| sl_exit_velocity_avg | 84.4 |
| sl_launch_angle_avg | 2.5 |
| sl_whiff_percent | 18.4 |
| sl_swing_percent | 52.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.235 | 0.000 | 0.000 | Hitting_2B | 0.232 | 0.000 | -0.232 | 0.000 |
| predicted_3B | 0.035 | 0.000 | 0.000 | Hitting_3B | 0.045 | 0.000 | -0.045 | 0.000 |
| predicted_AB | 4.540 | 3.000 | 5.000 | Hitting_AB | 3.969 | 4.000 | -0.969 | -1.000 |
| predicted_AVG | 0.252 | 0.000 | 0.200 | Hitting_AVG | 0.273 | 0.000 | -0.273 | 0.000 |
| predicted_BB | 0.339 | 1.000 | 0.000 | Hitting_BB | 0.336 | 0.000 | 0.664 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.007 | 0.000 | -0.007 | 0.000 |
| predicted_H | 1.150 | 0.000 | 1.000 | Hitting_H | 1.085 | 0.000 | -1.085 | 0.000 |
| predicted_HR | 0.190 | 0.000 | 0.000 | Hitting_HR | 0.113 | 0.000 | -0.113 | 0.000 |
| predicted_OBP | 0.340 | 0.250 | 0.200 | Hitting_OBP | 0.339 | 0.000 | -0.089 | 0.250 |
| predicted_R | 0.435 | 0.000 | 0.000 | Hitting_R | 0.451 | 0.000 | -0.451 | 0.000 |
| predicted_RBI | 0.630 | 0.000 | 1.000 | Hitting_RBI | 0.446 | 0.000 | -0.446 | 0.000 |
| predicted_SLG | 0.470 | 0.000 | 0.200 | Hitting_SLG | 0.439 | 0.000 | -0.439 | 0.000 |
| predicted_SO | 0.913 | 1.000 | 1.000 | Hitting_SO | 0.962 | 1.000 | 0.038 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_BB: 0.3390 -> 1.0000 (boost 0.6610, better) |
| Biggest Deboost | predicted_AB: 4.5400 -> 3.0000 (deboost -1.5400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2520 -> 0.2711 (boost 0.0191, better) | predicted_AB: 4.5400 -> 4.2404 (deboost -0.2996, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.3451 -> 0.3226 (deboost -0.0225, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_AB: 4.2404 -> 5.0000 (boost 0.7596, better) | predicted_BB: 0.3234 -> 0.0000 (deboost -0.3234, worse) | AB rounded to 5 (raw=4.54), rates preserved: AVG=0.253 HR/AB=0.040 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4506 -> 0.0000 (deboost -0.4506, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4602 -> 0.2000 (deboost -0.2602, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 1 | 3 | 1 | 3 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 5.0000 -> 3.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2000 -> 0.4602 (boost 0.2602, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "607043",
"player_name": "Brandon Nimmo",
"position": "RF",
"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": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.235,
"predicted_3B": 0.035,
"predicted_AB": 4.54,
"predicted_AVG": 0.252,
"predicted_BB": 0.339,
"predicted_H": 1.15,
"predicted_HR": 0.19,
"predicted_OBP": 0.34,
"predicted_R": 0.435,
"predicted_RBI": 0.63,
"predicted_SLG": 0.47,
"predicted_SO": 0.913
},
"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": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2038,
"predicted_3B": 0.0289,
"predicted_AB": 4.2404,
"predicted_AVG": 0.2711,
"predicted_BB": 0.323,
"predicted_H": 1.1452,
"predicted_HBP": 0.032,
"predicted_HR": 0.1796,
"predicted_OBP": 0.3451,
"predicted_R": 0.4476,
"predicted_RBI": 0.5993,
"predicted_SLG": 0.4737,
"predicted_SO": 0.9329
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.235,
"after": 0.2038,
"delta": -0.0312,
"percent_delta": -0.1328,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.035,
"after": 0.0289,
"delta": -0.0061,
"percent_delta": -0.1743,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.54,
"after": 4.2404,
"delta": -0.2996,
"percent_delta": -0.066,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.252,
"after": 0.2711,
"delta": 0.0191,
"percent_delta": 0.0758,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.339,
"after": 0.323,
"delta": -0.016,
"percent_delta": -0.0472,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.15,
"after": 1.1452,
"delta": -0.0048,
"percent_delta": -0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.1796,
"delta": -0.0104,
"percent_delta": -0.0547,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.34,
"after": 0.3451,
"delta": 0.0051,
"percent_delta": 0.015,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.435,
"after": 0.4476,
"delta": 0.0126,
"percent_delta": 0.029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.63,
"after": 0.5993,
"delta": -0.0307,
"percent_delta": -0.0487,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.47,
"after": 0.4737,
"delta": 0.0037,
"percent_delta": 0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.913,
"after": 0.9329,
"delta": 0.0199,
"percent_delta": 0.0218,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.252,
"after": 0.2711,
"delta": 0.0191,
"percent_delta": 0.0758,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.54,
"after": 4.2404,
"delta": -0.2996,
"percent_delta": -0.066,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 115
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.2038,
"predicted_3B": 0.0289,
"predicted_AB": 4.2404,
"predicted_AVG": 0.2709,
"predicted_BB": 0.3234,
"predicted_H": 1.1488,
"predicted_HBP": 0.032,
"predicted_HR": 0.1804,
"predicted_OBP": 0.3226,
"predicted_R": 0.4506,
"predicted_RBI": 0.6033,
"predicted_SLG": 0.4602,
"predicted_SO": 0.9319
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2038,
"after": 0.2038,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0289,
"after": 0.0289,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2404,
"after": 4.2404,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2711,
"after": 0.2709,
"delta": -0.0002,
"percent_delta": -0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.323,
"after": 0.3234,
"delta": 0.0004,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1452,
"after": 1.1488,
"delta": 0.0036,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.032,
"after": 0.032,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1796,
"after": 0.1804,
"delta": 0.0008,
"percent_delta": 0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3451,
"after": 0.3226,
"delta": -0.0225,
"percent_delta": -0.0652,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4476,
"after": 0.4506,
"delta": 0.003,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5993,
"after": 0.6033,
"delta": 0.004,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4737,
"after": 0.4602,
"delta": -0.0135,
"percent_delta": -0.0285,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9329,
"after": 0.9319,
"delta": -0.001,
"percent_delta": -0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3451,
"after": 0.3226,
"delta": -0.0225,
"percent_delta": -0.0652,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.54), rates preserved: AVG=0.253 HR/AB=0.040",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2038,
"after": 0.0,
"delta": -0.2038,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0289,
"after": 0.0,
"delta": -0.0289,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2404,
"after": 5.0,
"delta": 0.7596,
"percent_delta": 0.1791,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3234,
"after": 0.0,
"delta": -0.3234,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1488,
"after": 1.0,
"delta": -0.1488,
"percent_delta": -0.1295,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.032,
"after": 0.0,
"delta": -0.032,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1804,
"after": 0.0,
"delta": -0.1804,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6033,
"after": 1.0,
"delta": 0.3967,
"percent_delta": 0.6576,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9319,
"after": 1.0,
"delta": 0.0681,
"percent_delta": 0.0731,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.2404,
"after": 5.0,
"delta": 0.7596,
"percent_delta": 0.1791,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3234,
"after": 0.0,
"delta": -0.3234,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.4506,
"after": 0.0,
"delta": -0.4506,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4506,
"after": 0.0,
"delta": -0.4506,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.2,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2709,
"after": 0.2,
"delta": -0.0709,
"percent_delta": -0.2617,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_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_OBP",
"before": 0.3226,
"after": 0.2,
"delta": -0.1226,
"percent_delta": -0.38,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4602,
"after": 0.2,
"delta": -0.2602,
"percent_delta": -0.5654,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4602,
"after": 0.2,
"delta": -0.2602,
"percent_delta": -0.5654,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2709,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3226,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4602,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2,
"after": 0.2709,
"delta": 0.0709,
"percent_delta": 0.3545,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_OBP",
"before": 0.2,
"after": 0.3226,
"delta": 0.1226,
"percent_delta": 0.6128,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.4602,
"delta": 0.2602,
"percent_delta": 1.301,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.4602,
"delta": 0.2602,
"percent_delta": 1.301,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.235,
"after": 0.0,
"delta": -0.235,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.035,
"after": 0.0,
"delta": -0.035,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.54,
"after": 3.0,
"delta": -1.54,
"percent_delta": -0.3392,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.252,
"after": 0.2709,
"delta": 0.0189,
"percent_delta": 0.075,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.339,
"after": 1.0,
"delta": 0.661,
"percent_delta": 1.9499,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.15,
"after": 0.0,
"delta": -1.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.0,
"delta": -0.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.34,
"after": 0.3226,
"delta": -0.0174,
"percent_delta": -0.0512,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.435,
"after": 0.0,
"delta": -0.435,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.63,
"after": 0.0,
"delta": -0.63,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.47,
"after": 0.4602,
"delta": -0.0098,
"percent_delta": -0.0209,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.913,
"after": 1.0,
"delta": 0.087,
"percent_delta": 0.0953,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.339,
"after": 1.0,
"delta": 0.661,
"percent_delta": 1.9499,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.54,
"after": 3.0,
"delta": -1.54,
"percent_delta": -0.3392,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.235 | - |
| predicted_3B | 0.035 | - |
| predicted_AB | 4.540 | - |
| predicted_AVG | 0.252 | - |
| predicted_BB | 0.339 | - |
| predicted_H | 1.150 | - |
| predicted_HR | 0.190 | - |
| predicted_OBP | 0.340 | - |
| predicted_R | 0.435 | - |
| predicted_RBI | 0.630 | - |
| predicted_SLG | 0.470 | - |
| predicted_SO | 0.913 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.204 | -0.031 |
| predicted_3B | 0.029 | -0.006 |
| predicted_AB | 4.240 | -0.300 |
| predicted_AVG | 0.271 | 0.019 |
| predicted_BB | 0.323 | -0.016 |
| predicted_H | 1.145 | -0.005 |
| predicted_HBP | 0.032 | - |
| predicted_HR | 0.180 | -0.010 |
| predicted_OBP | 0.345 | 0.005 |
| predicted_R | 0.448 | 0.013 |
| predicted_RBI | 0.599 | -0.031 |
| predicted_SLG | 0.474 | 0.004 |
| predicted_SO | 0.933 | 0.020 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.204 | 0.000 |
| predicted_3B | 0.029 | 0.000 |
| predicted_AB | 4.240 | 0.000 |
| predicted_AVG | 0.271 | -0.000 |
| predicted_BB | 0.323 | 0.000 |
| predicted_H | 1.149 | 0.004 |
| predicted_HBP | 0.032 | 0.000 |
| predicted_HR | 0.180 | 0.001 |
| predicted_OBP | 0.323 | -0.023 |
| predicted_R | 0.451 | 0.003 |
| predicted_RBI | 0.603 | 0.004 |
| predicted_SLG | 0.460 | -0.014 |
| predicted_SO | 0.932 | -0.001 |
AB rounded to 5 (raw=4.54), rates preserved: AVG=0.253 HR/AB=0.040
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.204 |
| predicted_3B | 0.000 | -0.029 |
| predicted_AB | 5.000 | 0.760 |
| predicted_AVG | 0.200 | -0.071 |
| predicted_BB | 0.000 | -0.323 |
| predicted_H | 1.000 | -0.149 |
| predicted_HR | 0.000 | -0.180 |
| predicted_OBP | 0.200 | -0.123 |
| predicted_R | 0.000 | -0.451 |
| predicted_RBI | 1.000 | 0.397 |
| predicted_SLG | 0.200 | -0.260 |
| predicted_SO | 1.000 | 0.068 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -2.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 20.000 | 6.000 | 0.000 | 0.000 | 1.000 | 4.000 | 2.000 | 1.000 | 6.000 | 0.3000 | 0.3333 | 0.4500 | 0.3000 | 0.0500 | 0.2000 | 0.0500 | 0.3000 |
| last_10 | 0.20 | 10 | - | 38.000 | 14.000 | 1.000 | 0.000 | 3.000 | 8.000 | 6.000 | 3.000 | 9.000 | 0.3684 | 0.4146 | 0.6316 | 0.3684 | 0.0790 | 0.2105 | 0.0790 | 0.2368 |
| season | 0.60 | 115 | - | 439.000 | 121.000 | 27.000 | 4.000 | 13.000 | 47.000 | 50.000 | 39.000 | 105.000 | 0.2756 | 0.3416 | 0.4442 | 0.2756 | 0.0296 | 0.1071 | 0.0888 | 0.2392 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1630 |
| predicted_3B | 0.0210 |
| predicted_AB | 3.8480 |
| predicted_AVG | 0.2961 |
| predicted_BB | 0.3020 |
| predicted_H | 1.1390 |
| predicted_HBP | 0.0320 |
| predicted_HR | 0.1660 |
| predicted_OBP | 0.3517 |
| predicted_R | 0.4640 |
| predicted_RBI | 0.5590 |
| predicted_SLG | 0.4785 |
| predicted_SO | 0.9590 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2350 | 0.1630 | 0.2038 | model_form_blend |
| predicted_3B | 0.0350 | 0.0210 | 0.0289 | model_form_blend |
| predicted_AB | 4.5400 | 3.8480 | 4.2404 | model_form_blend |
| predicted_AVG | 0.2520 | 0.2961 | 0.2711 | model_form_blend |
| predicted_BB | 0.3390 | 0.3020 | 0.3230 | model_form_blend |
| predicted_H | 1.1500 | 1.1390 | 1.1452 | model_form_blend |
| predicted_HBP | - | 0.0320 | 0.0320 | form_only |
| predicted_HR | 0.1900 | 0.1660 | 0.1796 | model_form_blend |
| predicted_OBP | 0.3400 | 0.3517 | 0.3451 | model_form_blend |
| predicted_R | 0.4350 | 0.4640 | 0.4476 | model_form_blend |
| predicted_RBI | 0.6300 | 0.5590 | 0.5993 | model_form_blend |
| predicted_SLG | 0.4700 | 0.4785 | 0.4737 | model_form_blend |
| predicted_SO | 0.9130 | 0.9590 | 0.9329 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 426 |
| Season rows before report date | 426 |
| Report year | 2026 |
| Profile rows used | 115 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.276 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260812_TEX@LAA |
| game_type | full |
| mlbID | 607043 |
| playerID | 607043 |
| playerName | Brandon Nimmo |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | TEX |
| teamID | 28 |
| game_date | 2026-08-12 |
| sl_k_percent | 21.6 |
| sl_bb_percent | 8.1 |
| sl_woba | 0.346 |
| sl_xwoba | 0.373 |
| sl_xba | 0.293 |
| sl_xslg | 0.503 |
| sl_sweet_spot_percent | 37.5 |
| sl_barrel_batted_rate | 11.1 |
| sl_hard_hit_percent | 52.0 |
| sl_exit_velocity_avg | 92.2 |
| sl_launch_angle_avg | 11.5 |
| sl_whiff_percent | 22.2 |
| sl_swing_percent | 50.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.203 | 0.000 | 0.000 | Hitting_2B | 0.196 | 0.000 | -0.196 | 0.000 |
| predicted_3B | 0.029 | 0.000 | 0.000 | Hitting_3B | 0.038 | 0.000 | -0.038 | 0.000 |
| predicted_AB | 3.899 | 4.000 | 4.000 | Hitting_AB | 4.123 | 2.000 | -0.123 | 2.000 |
| predicted_AVG | 0.146 | 0.250 | 0.000 | Hitting_AVG | 0.281 | 0.000 | -0.031 | 0.250 |
| predicted_BB | 0.319 | 0.000 | 0.000 | Hitting_BB | 0.272 | 0.000 | -0.272 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_H | 0.340 | 1.000 | 0.000 | Hitting_H | 1.157 | 0.000 | -0.157 | 1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.213 | 0.000 | -0.213 | 0.000 |
| predicted_OBP | 0.277 | 0.250 | 0.000 | Hitting_OBP | 0.330 | 0.000 | -0.080 | 0.250 |
| predicted_R | 0.580 | 1.000 | 1.000 | Hitting_R | 0.634 | 0.000 | 0.366 | 1.000 |
| predicted_RBI | 0.170 | 1.000 | 0.000 | Hitting_RBI | 0.540 | 0.000 | 0.460 | 1.000 |
| predicted_SLG | 0.318 | 0.250 | 0.000 | Hitting_SLG | 0.502 | 0.000 | -0.252 | 0.250 |
| predicted_SO | 0.986 | 1.000 | 1.000 | Hitting_SO | 0.966 | 1.000 | 0.034 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_RBI: 0.1700 -> 1.0000 (boost 0.8300, better) |
| Biggest Deboost | predicted_BB: 0.3190 -> 0.0000 (deboost -0.3190, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 4 | 1 | 4 | 1 | predicted_H: 0.3400 -> 0.4711 (boost 0.1311, better) | predicted_AB: 3.8990 -> 3.7188 (deboost -0.1802, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.2965 -> 0.2147 (deboost -0.0818, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 1 | 6 | 1 | 6 | predicted_AB: 3.7188 -> 4.0000 (boost 0.2812, better) | predicted_H: 0.4726 -> 0.0000 (deboost -0.4726, worse) | AB rounded to 4 (raw=3.90), rates preserved: AVG=0.121 HR/AB=0.022 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5831 -> 1.0000 (boost 0.4169, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.2544 -> 0.0000 (deboost -0.2544, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 2 | 0 | 2 | 0 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.0000 -> 0.2544 (boost 0.2544, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694671",
"player_name": "Wyatt Langford",
"position": "LF",
"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": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.203,
"predicted_3B": 0.029,
"predicted_AB": 3.899,
"predicted_AVG": 0.146,
"predicted_BB": 0.319,
"predicted_H": 0.34,
"predicted_HR": 0.07,
"predicted_OBP": 0.277,
"predicted_R": 0.58,
"predicted_RBI": 0.17,
"predicted_SLG": 0.318,
"predicted_SO": 0.986
},
"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": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1742,
"predicted_3B": 0.0231,
"predicted_AB": 3.7188,
"predicted_AVG": 0.1634,
"predicted_BB": 0.4146,
"predicted_H": 0.4711,
"predicted_HBP": 0.164,
"predicted_HR": 0.084,
"predicted_OBP": 0.2965,
"predicted_R": 0.5792,
"predicted_RBI": 0.2076,
"predicted_SLG": 0.3204,
"predicted_SO": 0.9754
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.203,
"after": 0.1742,
"delta": -0.0288,
"percent_delta": -0.1419,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.029,
"after": 0.0231,
"delta": -0.0059,
"percent_delta": -0.2034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.899,
"after": 3.7188,
"delta": -0.1802,
"percent_delta": -0.0462,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.146,
"after": 0.1634,
"delta": 0.0174,
"percent_delta": 0.1192,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.319,
"after": 0.4146,
"delta": 0.0956,
"percent_delta": 0.2997,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.34,
"after": 0.4711,
"delta": 0.1311,
"percent_delta": 0.3856,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.084,
"delta": 0.014,
"percent_delta": 0.2,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.277,
"after": 0.2965,
"delta": 0.0195,
"percent_delta": 0.0704,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.58,
"after": 0.5792,
"delta": -0.0008,
"percent_delta": -0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.17,
"after": 0.2076,
"delta": 0.0376,
"percent_delta": 0.2212,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.318,
"after": 0.3204,
"delta": 0.0024,
"percent_delta": 0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.986,
"after": 0.9754,
"delta": -0.0106,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.34,
"after": 0.4711,
"delta": 0.1311,
"percent_delta": 0.3856,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.899,
"after": 3.7188,
"delta": -0.1802,
"percent_delta": -0.0462,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 69
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1742,
"predicted_3B": 0.0231,
"predicted_AB": 3.7188,
"predicted_AVG": 0.1271,
"predicted_BB": 0.4151,
"predicted_H": 0.4726,
"predicted_HBP": 0.164,
"predicted_HR": 0.0844,
"predicted_OBP": 0.2147,
"predicted_R": 0.5831,
"predicted_RBI": 0.209,
"predicted_SLG": 0.2544,
"predicted_SO": 0.9743
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1742,
"after": 0.1742,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0231,
"after": 0.0231,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7188,
"after": 3.7188,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1634,
"after": 0.1271,
"delta": -0.0363,
"percent_delta": -0.2222,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4146,
"after": 0.4151,
"delta": 0.0005,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4711,
"after": 0.4726,
"delta": 0.0015,
"percent_delta": 0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.164,
"after": 0.164,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.084,
"after": 0.0844,
"delta": 0.0004,
"percent_delta": 0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2965,
"after": 0.2147,
"delta": -0.0818,
"percent_delta": -0.2759,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5792,
"after": 0.5831,
"delta": 0.0039,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2076,
"after": 0.209,
"delta": 0.0014,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3204,
"after": 0.2544,
"delta": -0.066,
"percent_delta": -0.206,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9754,
"after": 0.9743,
"delta": -0.0011,
"percent_delta": -0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2965,
"after": 0.2147,
"delta": -0.0818,
"percent_delta": -0.2759,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.90), rates preserved: AVG=0.121 HR/AB=0.022",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1742,
"after": 0.0,
"delta": -0.1742,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0231,
"after": 0.0,
"delta": -0.0231,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7188,
"after": 4.0,
"delta": 0.2812,
"percent_delta": 0.0756,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4151,
"after": 0.0,
"delta": -0.4151,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4726,
"after": 0.0,
"delta": -0.4726,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.164,
"after": 0.0,
"delta": -0.164,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0844,
"after": 0.0,
"delta": -0.0844,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.209,
"after": 0.0,
"delta": -0.209,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9743,
"after": 1.0,
"delta": 0.0257,
"percent_delta": 0.0264,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.7188,
"after": 4.0,
"delta": 0.2812,
"percent_delta": 0.0756,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.4726,
"after": 0.0,
"delta": -0.4726,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.5831,
"after": 1.0,
"delta": 0.4169,
"percent_delta": 0.715,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.5831,
"after": 1.0,
"delta": 0.4169,
"percent_delta": 0.715,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1271,
"after": 0.0,
"delta": -0.1271,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_OBP",
"before": 0.2147,
"after": 0.0,
"delta": -0.2147,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2544,
"after": 0.0,
"delta": -0.2544,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2544,
"after": 0.0,
"delta": -0.2544,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1271,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.2147,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2544,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.0,
"after": 0.1271,
"delta": 0.1271,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_CS",
"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_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_OBP",
"before": 0.0,
"after": 0.2147,
"delta": 0.2147,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.0,
"after": 0.2544,
"delta": 0.2544,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.0,
"after": 0.2544,
"delta": 0.2544,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.203,
"after": 0.0,
"delta": -0.203,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.029,
"after": 0.0,
"delta": -0.029,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.899,
"after": 4.0,
"delta": 0.101,
"percent_delta": 0.0259,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.146,
"after": 0.1271,
"delta": -0.0189,
"percent_delta": -0.1295,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.319,
"after": 0.0,
"delta": -0.319,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.34,
"after": 1.0,
"delta": 0.66,
"percent_delta": 1.9412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.277,
"after": 0.2147,
"delta": -0.0623,
"percent_delta": -0.2249,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.58,
"after": 1.0,
"delta": 0.42,
"percent_delta": 0.7241,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.17,
"after": 1.0,
"delta": 0.83,
"percent_delta": 4.8824,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.318,
"after": 0.2544,
"delta": -0.0636,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.986,
"after": 1.0,
"delta": 0.014,
"percent_delta": 0.0142,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.17,
"after": 1.0,
"delta": 0.83,
"percent_delta": 4.8824,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.319,
"after": 0.0,
"delta": -0.319,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.203 | - |
| predicted_3B | 0.029 | - |
| predicted_AB | 3.899 | - |
| predicted_AVG | 0.146 | - |
| predicted_BB | 0.319 | - |
| predicted_H | 0.340 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.277 | - |
| predicted_R | 0.580 | - |
| predicted_RBI | 0.170 | - |
| predicted_SLG | 0.318 | - |
| predicted_SO | 0.986 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.174 | -0.029 |
| predicted_3B | 0.023 | -0.006 |
| predicted_AB | 3.719 | -0.180 |
| predicted_AVG | 0.163 | 0.017 |
| predicted_BB | 0.415 | 0.096 |
| predicted_H | 0.471 | 0.131 |
| predicted_HBP | 0.164 | - |
| predicted_HR | 0.084 | 0.014 |
| predicted_OBP | 0.296 | 0.019 |
| predicted_R | 0.579 | -0.001 |
| predicted_RBI | 0.208 | 0.038 |
| predicted_SLG | 0.320 | 0.002 |
| predicted_SO | 0.975 | -0.011 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.174 | 0.000 |
| predicted_3B | 0.023 | 0.000 |
| predicted_AB | 3.719 | 0.000 |
| predicted_AVG | 0.127 | -0.036 |
| predicted_BB | 0.415 | 0.001 |
| predicted_H | 0.473 | 0.002 |
| predicted_HBP | 0.164 | 0.000 |
| predicted_HR | 0.084 | 0.000 |
| predicted_OBP | 0.215 | -0.082 |
| predicted_R | 0.583 | 0.004 |
| predicted_RBI | 0.209 | 0.001 |
| predicted_SLG | 0.254 | -0.066 |
| predicted_SO | 0.974 | -0.001 |
AB rounded to 4 (raw=3.90), rates preserved: AVG=0.121 HR/AB=0.022
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.174 |
| predicted_3B | 0.000 | -0.023 |
| predicted_AB | 4.000 | 0.281 |
| predicted_AVG | 0.000 | -0.127 |
| predicted_BB | 0.000 | -0.415 |
| predicted_H | 0.000 | -0.473 |
| predicted_HR | 0.000 | -0.084 |
| predicted_OBP | 0.000 | -0.215 |
| predicted_R | 1.000 | 0.417 |
| predicted_RBI | 0.000 | -0.209 |
| predicted_SLG | 0.000 | -0.254 |
| predicted_SO | 1.000 | 0.026 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 13.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 4.000 | 4.000 | 0.0769 | 0.3684 | 0.0769 | 0.0769 | 0.0000 | 0.0000 | 0.3077 | 0.3077 |
| last_10 | 0.20 | 10 | - | 29.000 | 2.000 | 1.000 | 0.000 | 0.000 | 0.000 | 5.000 | 8.000 | 10.000 | 0.0690 | 0.3077 | 0.1034 | 0.0690 | 0.0000 | 0.0000 | 0.2759 | 0.3448 |
| season | 0.60 | 69 | - | 269.000 | 68.000 | 14.000 | 2.000 | 13.000 | 31.000 | 40.000 | 22.000 | 68.000 | 0.2528 | 0.3163 | 0.4647 | 0.2528 | 0.0483 | 0.1152 | 0.0818 | 0.2528 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1350 |
| predicted_3B | 0.0150 |
| predicted_AB | 3.4730 |
| predicted_AVG | 0.1871 |
| predicted_BB | 0.5450 |
| predicted_H | 0.6500 |
| predicted_HBP | 0.1640 |
| predicted_HR | 0.1030 |
| predicted_OBP | 0.3232 |
| predicted_R | 0.5780 |
| predicted_RBI | 0.2590 |
| predicted_SLG | 0.3236 |
| predicted_SO | 0.9610 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2030 | 0.1350 | 0.1742 | model_form_blend |
| predicted_3B | 0.0290 | 0.0150 | 0.0231 | model_form_blend |
| predicted_AB | 3.8990 | 3.4730 | 3.7188 | model_form_blend |
| predicted_AVG | 0.1460 | 0.1871 | 0.1634 | model_form_blend |
| predicted_BB | 0.3190 | 0.5450 | 0.4146 | model_form_blend |
| predicted_H | 0.3400 | 0.6500 | 0.4711 | model_form_blend |
| predicted_HBP | - | 0.1640 | 0.1640 | form_only |
| predicted_HR | 0.0700 | 0.1030 | 0.0840 | model_form_blend |
| predicted_OBP | 0.2770 | 0.3232 | 0.2965 | model_form_blend |
| predicted_R | 0.5800 | 0.5780 | 0.5792 | model_form_blend |
| predicted_RBI | 0.1700 | 0.2590 | 0.2076 | model_form_blend |
| predicted_SLG | 0.3180 | 0.3236 | 0.3204 | model_form_blend |
| predicted_SO | 0.9860 | 0.9610 | 0.9754 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 235 |
| Season rows before report date | 235 |
| Report year | 2026 |
| Profile rows used | 69 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.253 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-CF |
| gameID | 20260812_TEX@LAA |
| game_type | ph |
| mlbID | 694671 |
| note | Grounded out for Carter in the 7th. |
| playerID | 694671 |
| playerName | Wyatt Langford |
| pos | LF |
| started | False |
| startingPosition | PH |
| team | TEX |
| teamID | 28 |
| game_date | 2026-08-12 |
| sl_k_percent | 22.9 |
| sl_bb_percent | 7.5 |
| sl_woba | 0.341 |
| sl_xwoba | 0.303 |
| sl_xba | 0.231 |
| sl_xslg | 0.393 |
| sl_sweet_spot_percent | 32.5 |
| sl_barrel_batted_rate | 8.0 |
| sl_hard_hit_percent | 37.5 |
| sl_exit_velocity_avg | 89.3 |
| sl_launch_angle_avg | 19.5 |
| sl_whiff_percent | 24.9 |
| sl_swing_percent | 48.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.000 | 0.000 | 0.000 | Hitting_2B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.885 | 4.000 | 3.000 | Hitting_AB | 2.000 | 2.000 | 2.000 | 2.000 |
| predicted_AVG | 0.246 | 0.500 | 0.333 | Hitting_AVG | 0.273 | 0.500 | 0.227 | 0.000 |
| predicted_BB | 0.154 | 0.000 | 0.000 | Hitting_BB | 0.091 | 0.000 | -0.091 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.540 | 2.000 | 1.000 | Hitting_H | 0.545 | 1.000 | 1.455 | 1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.091 | 0.000 | -0.091 | 0.000 |
| predicted_OBP | 0.265 | 0.500 | 0.333 | Hitting_OBP | 0.304 | 0.500 | 0.196 | 0.000 |
| predicted_R | 0.154 | 1.000 | 0.000 | Hitting_R | 0.091 | 0.000 | 0.909 | 1.000 |
| predicted_RBI | 0.120 | 1.000 | 0.000 | Hitting_RBI | 0.091 | 0.000 | 0.909 | 1.000 |
| predicted_SLG | 0.306 | 0.500 | 0.333 | Hitting_SLG | 0.409 | 0.500 | 0.091 | 0.000 |
| predicted_SO | 0.808 | 0.000 | 1.000 | Hitting_SO | 0.636 | 0.000 | -0.636 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | deboosted |
| Changed Metrics | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_H: 0.5400 -> 2.0000 (boost 1.4600, better) |
| Biggest Deboost | predicted_SO: 0.8080 -> 0.0000 (deboost -0.8080, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_AVG: 0.2460 -> 0.2402 (deboost -0.0058, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2402 -> 0.2036 (deboost -0.0366, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 3 | 3 | 2 | 4 | predicted_H: 0.5872 -> 1.0000 (boost 0.4128, better) | predicted_BB: 0.1494 -> 0.0000 (deboost -0.1494, worse) | AB rounded to 3 (raw=2.88), rates preserved: AVG=0.204 HR/AB=0.024 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.1684 -> 0.0000 (deboost -0.1684, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2036 -> 0.3330 (boost 0.1294, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 4 | 1 | 5 | 0 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.2036 (deboost -0.1294, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "642851",
"player_name": "Austin Wynns",
"position": "C",
"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": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 2.885,
"predicted_AVG": 0.246,
"predicted_BB": 0.154,
"predicted_H": 0.54,
"predicted_HR": 0.07,
"predicted_OBP": 0.265,
"predicted_R": 0.154,
"predicted_RBI": 0.12,
"predicted_SLG": 0.306,
"predicted_SO": 0.808
},
"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": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.014,
"predicted_3B": 0.0011,
"predicted_AB": 2.8835,
"predicted_AVG": 0.2402,
"predicted_BB": 0.1492,
"predicted_H": 0.5854,
"predicted_HBP": 0.007,
"predicted_HR": 0.0678,
"predicted_OBP": 0.2667,
"predicted_R": 0.1673,
"predicted_RBI": 0.1259,
"predicted_SLG": 0.3081,
"predicted_SO": 0.7707
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.014,
"delta": 0.014,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0011,
"delta": 0.0011,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.885,
"after": 2.8835,
"delta": -0.0015,
"percent_delta": -0.0005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2402,
"delta": -0.0058,
"percent_delta": -0.0236,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.154,
"after": 0.1492,
"delta": -0.0048,
"percent_delta": -0.0312,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.54,
"after": 0.5854,
"delta": 0.0454,
"percent_delta": 0.0841,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0678,
"delta": -0.0022,
"percent_delta": -0.0314,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.265,
"after": 0.2667,
"delta": 0.0017,
"percent_delta": 0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.154,
"after": 0.1673,
"delta": 0.0133,
"percent_delta": 0.0864,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.12,
"after": 0.1259,
"delta": 0.0059,
"percent_delta": 0.0492,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.306,
"after": 0.3081,
"delta": 0.0021,
"percent_delta": 0.0069,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.808,
"after": 0.7707,
"delta": -0.0373,
"percent_delta": -0.0462,
"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_AVG",
"before": 0.246,
"after": 0.2402,
"delta": -0.0058,
"percent_delta": -0.0236,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 26
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.014,
"predicted_3B": 0.0011,
"predicted_AB": 2.8835,
"predicted_AVG": 0.2036,
"predicted_BB": 0.1494,
"predicted_H": 0.5872,
"predicted_HBP": 0.007,
"predicted_HR": 0.0681,
"predicted_OBP": 0.2429,
"predicted_R": 0.1684,
"predicted_RBI": 0.1267,
"predicted_SLG": 0.2801,
"predicted_SO": 0.7699
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.014,
"after": 0.014,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0011,
"after": 0.0011,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8835,
"after": 2.8835,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2402,
"after": 0.2036,
"delta": -0.0366,
"percent_delta": -0.1524,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1492,
"after": 0.1494,
"delta": 0.0002,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5854,
"after": 0.5872,
"delta": 0.0018,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.007,
"after": 0.007,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0678,
"after": 0.0681,
"delta": 0.0003,
"percent_delta": 0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2667,
"after": 0.2429,
"delta": -0.0238,
"percent_delta": -0.0892,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.1673,
"after": 0.1684,
"delta": 0.0011,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1259,
"after": 0.1267,
"delta": 0.0008,
"percent_delta": 0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3081,
"after": 0.2801,
"delta": -0.028,
"percent_delta": -0.0909,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7707,
"after": 0.7699,
"delta": -0.0008,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2402,
"after": 0.2036,
"delta": -0.0366,
"percent_delta": -0.1524,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.88), rates preserved: AVG=0.204 HR/AB=0.024",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.014,
"after": 0.0,
"delta": -0.014,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0011,
"after": 0.0,
"delta": -0.0011,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8835,
"after": 3.0,
"delta": 0.1165,
"percent_delta": 0.0404,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1494,
"after": 0.0,
"delta": -0.1494,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5872,
"after": 1.0,
"delta": 0.4128,
"percent_delta": 0.703,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.007,
"after": 0.0,
"delta": -0.007,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0681,
"after": 0.0,
"delta": -0.0681,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.1267,
"after": 0.0,
"delta": -0.1267,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7699,
"after": 1.0,
"delta": 0.2301,
"percent_delta": 0.2989,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.5872,
"after": 1.0,
"delta": 0.4128,
"percent_delta": 0.703,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.1494,
"after": 0.0,
"delta": -0.1494,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.1684,
"after": 0.0,
"delta": -0.1684,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.1684,
"after": 0.0,
"delta": -0.1684,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2036,
"after": 0.333,
"delta": 0.1294,
"percent_delta": 0.6356,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_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_OBP",
"before": 0.2429,
"after": 0.333,
"delta": 0.0901,
"percent_delta": 0.3709,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2801,
"after": 0.333,
"delta": 0.0529,
"percent_delta": 0.1889,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2036,
"after": 0.333,
"delta": 0.1294,
"percent_delta": 0.6356,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_CS",
"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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2036,
"predicted_BB": 0.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2429,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2801,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2036,
"delta": -0.1294,
"percent_delta": -0.3884,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_CS",
"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_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_OBP",
"before": 0.333,
"after": 0.2429,
"delta": -0.0901,
"percent_delta": -0.2707,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.2801,
"delta": -0.0529,
"percent_delta": -0.1588,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2036,
"delta": -0.1294,
"percent_delta": -0.3884,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.885,
"after": 4.0,
"delta": 1.115,
"percent_delta": 0.3865,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2036,
"delta": -0.0424,
"percent_delta": -0.1724,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.154,
"after": 0.0,
"delta": -0.154,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.54,
"after": 2.0,
"delta": 1.46,
"percent_delta": 2.7037,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.265,
"after": 0.2429,
"delta": -0.0221,
"percent_delta": -0.0834,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.154,
"after": 1.0,
"delta": 0.846,
"percent_delta": 5.4935,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.12,
"after": 1.0,
"delta": 0.88,
"percent_delta": 7.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.306,
"after": 0.2801,
"delta": -0.0259,
"percent_delta": -0.0846,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.808,
"after": 0.0,
"delta": -0.808,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.54,
"after": 2.0,
"delta": 1.46,
"percent_delta": 2.7037,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.808,
"after": 0.0,
"delta": -0.808,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "deboosted"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.885 | - |
| predicted_AVG | 0.246 | - |
| predicted_BB | 0.154 | - |
| predicted_H | 0.540 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.265 | - |
| predicted_R | 0.154 | - |
| predicted_RBI | 0.120 | - |
| predicted_SLG | 0.306 | - |
| predicted_SO | 0.808 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.014 | 0.014 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.884 | -0.001 |
| predicted_AVG | 0.240 | -0.006 |
| predicted_BB | 0.149 | -0.005 |
| predicted_H | 0.585 | 0.045 |
| predicted_HBP | 0.007 | - |
| predicted_HR | 0.068 | -0.002 |
| predicted_OBP | 0.267 | 0.002 |
| predicted_R | 0.167 | 0.013 |
| predicted_RBI | 0.126 | 0.006 |
| predicted_SLG | 0.308 | 0.002 |
| predicted_SO | 0.771 | -0.037 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.014 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.884 | 0.000 |
| predicted_AVG | 0.204 | -0.037 |
| predicted_BB | 0.149 | 0.000 |
| predicted_H | 0.587 | 0.002 |
| predicted_HBP | 0.007 | 0.000 |
| predicted_HR | 0.068 | 0.000 |
| predicted_OBP | 0.243 | -0.024 |
| predicted_R | 0.168 | 0.001 |
| predicted_RBI | 0.127 | 0.001 |
| predicted_SLG | 0.280 | -0.028 |
| predicted_SO | 0.770 | -0.001 |
AB rounded to 3 (raw=2.88), rates preserved: AVG=0.204 HR/AB=0.024
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.014 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.116 |
| predicted_AVG | 0.333 | 0.129 |
| predicted_BB | 0.000 | -0.149 |
| predicted_H | 1.000 | 0.413 |
| predicted_HR | 0.000 | -0.068 |
| predicted_OBP | 0.333 | 0.090 |
| predicted_R | 0.000 | -0.168 |
| predicted_RBI | 0.000 | -0.127 |
| predicted_SLG | 0.333 | 0.053 |
| predicted_SO | 1.000 | 0.230 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 9.000 | 4.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.4444 | 0.4444 | 0.4444 | 0.4444 | 0.0000 | 0.0000 | 0.0000 | 0.1111 |
| last_10 | 0.20 | 10 | - | 22.000 | 6.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 1.000 | 7.000 | 0.2727 | 0.3043 | 0.4091 | 0.2727 | 0.0454 | 0.0454 | 0.0454 | 0.3182 |
| season | 0.60 | 26 | - | 75.000 | 10.000 | 0.000 | 0.000 | 1.000 | 1.000 | 4.000 | 4.000 | 21.000 | 0.1333 | 0.1772 | 0.1733 | 0.1333 | 0.0133 | 0.0133 | 0.0533 | 0.2800 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0380 |
| predicted_3B | 0.0030 |
| predicted_AB | 2.8810 |
| predicted_AVG | 0.2302 |
| predicted_BB | 0.1410 |
| predicted_H | 0.6630 |
| predicted_HBP | 0.0070 |
| predicted_HR | 0.0640 |
| predicted_OBP | 0.2696 |
| predicted_R | 0.1900 |
| predicted_RBI | 0.1360 |
| predicted_SLG | 0.3116 |
| predicted_SO | 0.7070 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.0380 | 0.0140 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0011 | model_form_blend |
| predicted_AB | 2.8850 | 2.8810 | 2.8835 | model_form_blend |
| predicted_AVG | 0.2460 | 0.2302 | 0.2402 | model_form_blend |
| predicted_BB | 0.1540 | 0.1410 | 0.1492 | model_form_blend |
| predicted_H | 0.5400 | 0.6630 | 0.5854 | model_form_blend |
| predicted_HBP | - | 0.0070 | 0.0070 | form_only |
| predicted_HR | 0.0700 | 0.0640 | 0.0678 | model_form_blend |
| predicted_OBP | 0.2650 | 0.2696 | 0.2667 | model_form_blend |
| predicted_R | 0.1540 | 0.1900 | 0.1673 | model_form_blend |
| predicted_RBI | 0.1200 | 0.1360 | 0.1259 | model_form_blend |
| predicted_SLG | 0.3060 | 0.3116 | 0.3081 | model_form_blend |
| predicted_SO | 0.8080 | 0.7070 | 0.7707 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 11 |
| Season rows before report date | 11 |
| Report year | 2026 |
| Profile rows used | 26 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.133 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260811_TEX@LAA |
| game_type | full |
| mlbID | 642851 |
| playerID | 642851 |
| playerName | Austin Wynns |
| pos | C |
| started | True |
| startingPosition | C |
| team | TEX |
| teamID | 28 |
| game_date | 2026-08-11 |
| sl_k_percent | 26.3 |
| sl_bb_percent | 5.0 |
| sl_woba | 0.163 |
| sl_xwoba | 0.237 |
| sl_xba | 0.198 |
| sl_xslg | 0.294 |
| sl_sweet_spot_percent | 30.9 |
| sl_barrel_batted_rate | 3.6 |
| sl_hard_hit_percent | 27.3 |
| sl_exit_velocity_avg | 85.1 |
| sl_launch_angle_avg | 17.7 |
| sl_whiff_percent | 25.4 |
| sl_swing_percent | 56.5 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.089 | 0.000 | 0.000 | Hitting_2B | 0.104 | 0.000 | -0.104 | 0.000 |
| predicted_3B | 0.020 | 0.000 | 0.000 | Hitting_3B | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_AB | 3.010 | 3.000 | 3.000 | Hitting_AB | 3.107 | 2.000 | -0.107 | 1.000 |
| predicted_AVG | 0.234 | 0.000 | 0.333 | Hitting_AVG | 0.202 | 0.500 | -0.202 | -0.500 |
| predicted_BB | 0.396 | 1.000 | 0.000 | Hitting_BB | 0.477 | 0.000 | 0.523 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_H | 0.700 | 0.000 | 1.000 | Hitting_H | 0.628 | 1.000 | -0.628 | -1.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.107 | 0.000 | -0.107 | 0.000 |
| predicted_OBP | 0.275 | 0.250 | 0.333 | Hitting_OBP | 0.316 | 0.500 | -0.066 | -0.250 |
| predicted_R | 0.386 | 0.000 | 0.000 | Hitting_R | 0.450 | 1.000 | -0.450 | -1.000 |
| predicted_RBI | 0.330 | 0.000 | 0.000 | Hitting_RBI | 0.339 | 0.000 | -0.339 | 0.000 |
| predicted_SLG | 0.317 | 0.000 | 0.333 | Hitting_SLG | 0.352 | 0.500 | -0.352 | -0.500 |
| predicted_SO | 0.792 | 1.000 | 1.000 | Hitting_SO | 0.856 | 0.000 | 0.144 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_BB: 0.3960 -> 1.0000 (boost 0.6040, better) |
| Biggest Deboost | predicted_H: 0.7000 -> 0.0000 (deboost -0.7000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 6 | 0 | 6 | 0 | 6 | - | predicted_H: 0.7000 -> 0.5885 (deboost -0.1115, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 2 | 0 | 2 | 0 | predicted_OBP: 0.2534 -> 0.2832 (boost 0.0298, better) | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_H: 0.5903 -> 1.0000 (boost 0.4097, better) | predicted_BB: 0.3351 -> 0.0000 (deboost -0.3351, worse) | AB rounded to 3 (raw=3.01), rates preserved: AVG=0.196 HR/AB=0.019 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3800 -> 0.0000 (deboost -0.3800, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.2013 -> 0.3330 (boost 0.1317, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 1 | 1 | 1 | 1 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.2013 (deboost -0.1317, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694497",
"player_name": "Evan Carter",
"position": "CF",
"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": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.089,
"predicted_3B": 0.02,
"predicted_AB": 3.01,
"predicted_AVG": 0.234,
"predicted_BB": 0.396,
"predicted_H": 0.7,
"predicted_HR": 0.06,
"predicted_OBP": 0.275,
"predicted_R": 0.386,
"predicted_RBI": 0.33,
"predicted_SLG": 0.317,
"predicted_SO": 0.792
},
"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": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0767,
"predicted_3B": 0.0166,
"predicted_AB": 2.9321,
"predicted_AVG": 0.2003,
"predicted_BB": 0.3347,
"predicted_H": 0.5885,
"predicted_HBP": 0.024,
"predicted_HR": 0.0566,
"predicted_OBP": 0.2534,
"predicted_R": 0.3775,
"predicted_RBI": 0.3083,
"predicted_SLG": 0.2839,
"predicted_SO": 0.7988
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.089,
"after": 0.0767,
"delta": -0.0123,
"percent_delta": -0.1382,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.02,
"after": 0.0166,
"delta": -0.0034,
"percent_delta": -0.17,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.01,
"after": 2.9321,
"delta": -0.0779,
"percent_delta": -0.0259,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.2003,
"delta": -0.0337,
"percent_delta": -0.144,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.396,
"after": 0.3347,
"delta": -0.0613,
"percent_delta": -0.1548,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7,
"after": 0.5885,
"delta": -0.1115,
"percent_delta": -0.1593,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0566,
"delta": -0.0034,
"percent_delta": -0.0567,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.275,
"after": 0.2534,
"delta": -0.0216,
"percent_delta": -0.0785,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.386,
"after": 0.3775,
"delta": -0.0085,
"percent_delta": -0.022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.33,
"after": 0.3083,
"delta": -0.0217,
"percent_delta": -0.0658,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.317,
"after": 0.2839,
"delta": -0.0331,
"percent_delta": -0.1044,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.792,
"after": 0.7988,
"delta": 0.0068,
"percent_delta": 0.0086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.7,
"after": 0.5885,
"delta": -0.1115,
"percent_delta": -0.1593,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 101
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0767,
"predicted_3B": 0.0166,
"predicted_AB": 2.9321,
"predicted_AVG": 0.2013,
"predicted_BB": 0.3351,
"predicted_H": 0.5903,
"predicted_HBP": 0.024,
"predicted_HR": 0.0568,
"predicted_OBP": 0.2832,
"predicted_R": 0.38,
"predicted_RBI": 0.3104,
"predicted_SLG": 0.297,
"predicted_SO": 0.7979
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0767,
"after": 0.0767,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0166,
"after": 0.0166,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9321,
"after": 2.9321,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2003,
"after": 0.2013,
"delta": 0.001,
"percent_delta": 0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3347,
"after": 0.3351,
"delta": 0.0004,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5885,
"after": 0.5903,
"delta": 0.0018,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.024,
"after": 0.024,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0566,
"after": 0.0568,
"delta": 0.0002,
"percent_delta": 0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2534,
"after": 0.2832,
"delta": 0.0298,
"percent_delta": 0.1176,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3775,
"after": 0.38,
"delta": 0.0025,
"percent_delta": 0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3083,
"after": 0.3104,
"delta": 0.0021,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2839,
"after": 0.297,
"delta": 0.0131,
"percent_delta": 0.0461,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7988,
"after": 0.7979,
"delta": -0.0009,
"percent_delta": -0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.2534,
"after": 0.2832,
"delta": 0.0298,
"percent_delta": 0.1176,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.01), rates preserved: AVG=0.196 HR/AB=0.019",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0767,
"after": 0.0,
"delta": -0.0767,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0166,
"after": 0.0,
"delta": -0.0166,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9321,
"after": 3.0,
"delta": 0.0679,
"percent_delta": 0.0232,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3351,
"after": 0.0,
"delta": -0.3351,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5903,
"after": 1.0,
"delta": 0.4097,
"percent_delta": 0.6941,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.024,
"after": 0.0,
"delta": -0.024,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0568,
"after": 0.0,
"delta": -0.0568,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3104,
"after": 0.0,
"delta": -0.3104,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7979,
"after": 1.0,
"delta": 0.2021,
"percent_delta": 0.2533,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.5903,
"after": 1.0,
"delta": 0.4097,
"percent_delta": 0.6941,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.3351,
"after": 0.0,
"delta": -0.3351,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.38,
"after": 0.0,
"delta": -0.38,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.38,
"after": 0.0,
"delta": -0.38,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2013,
"after": 0.333,
"delta": 0.1317,
"percent_delta": 0.6542,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_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_OBP",
"before": 0.2832,
"after": 0.333,
"delta": 0.0498,
"percent_delta": 0.1758,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.297,
"after": 0.333,
"delta": 0.036,
"percent_delta": 0.1212,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2013,
"after": 0.333,
"delta": 0.1317,
"percent_delta": 0.6542,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2013,
"predicted_BB": 1.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2832,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.297,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2013,
"delta": -0.1317,
"percent_delta": -0.3954,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_OBP",
"before": 0.333,
"after": 0.2832,
"delta": -0.0498,
"percent_delta": -0.1494,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.297,
"delta": -0.036,
"percent_delta": -0.1082,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2013,
"delta": -0.1317,
"percent_delta": -0.3954,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.089,
"after": 0.0,
"delta": -0.089,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.02,
"after": 0.0,
"delta": -0.02,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.01,
"after": 3.0,
"delta": -0.01,
"percent_delta": -0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.2013,
"delta": -0.0327,
"percent_delta": -0.1397,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.396,
"after": 1.0,
"delta": 0.604,
"percent_delta": 1.5253,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7,
"after": 0.0,
"delta": -0.7,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.275,
"after": 0.2832,
"delta": 0.0082,
"percent_delta": 0.0298,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.386,
"after": 0.0,
"delta": -0.386,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.33,
"after": 0.0,
"delta": -0.33,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.317,
"after": 0.297,
"delta": -0.02,
"percent_delta": -0.0631,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.792,
"after": 1.0,
"delta": 0.208,
"percent_delta": 0.2626,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.396,
"after": 1.0,
"delta": 0.604,
"percent_delta": 1.5253,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.7,
"after": 0.0,
"delta": -0.7,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.089 | - |
| predicted_3B | 0.020 | - |
| predicted_AB | 3.010 | - |
| predicted_AVG | 0.234 | - |
| predicted_BB | 0.396 | - |
| predicted_H | 0.700 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.275 | - |
| predicted_R | 0.386 | - |
| predicted_RBI | 0.330 | - |
| predicted_SLG | 0.317 | - |
| predicted_SO | 0.792 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.077 | -0.012 |
| predicted_3B | 0.017 | -0.003 |
| predicted_AB | 2.932 | -0.078 |
| predicted_AVG | 0.200 | -0.034 |
| predicted_BB | 0.335 | -0.061 |
| predicted_H | 0.589 | -0.111 |
| predicted_HBP | 0.024 | - |
| predicted_HR | 0.057 | -0.003 |
| predicted_OBP | 0.253 | -0.022 |
| predicted_R | 0.378 | -0.009 |
| predicted_RBI | 0.308 | -0.022 |
| predicted_SLG | 0.284 | -0.033 |
| predicted_SO | 0.799 | 0.007 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.077 | 0.000 |
| predicted_3B | 0.017 | 0.000 |
| predicted_AB | 2.932 | 0.000 |
| predicted_AVG | 0.201 | 0.001 |
| predicted_BB | 0.335 | 0.000 |
| predicted_H | 0.590 | 0.002 |
| predicted_HBP | 0.024 | 0.000 |
| predicted_HR | 0.057 | 0.000 |
| predicted_OBP | 0.283 | 0.030 |
| predicted_R | 0.380 | 0.003 |
| predicted_RBI | 0.310 | 0.002 |
| predicted_SLG | 0.297 | 0.013 |
| predicted_SO | 0.798 | -0.001 |
AB rounded to 3 (raw=3.01), rates preserved: AVG=0.196 HR/AB=0.019
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.077 |
| predicted_3B | 0.000 | -0.017 |
| predicted_AB | 3.000 | 0.068 |
| predicted_AVG | 0.333 | 0.132 |
| predicted_BB | 0.000 | -0.335 |
| predicted_H | 1.000 | 0.410 |
| predicted_HR | 0.000 | -0.057 |
| predicted_OBP | 0.333 | 0.050 |
| predicted_R | 0.000 | -0.380 |
| predicted_RBI | 0.000 | -0.310 |
| predicted_SLG | 0.333 | 0.036 |
| predicted_SO | 1.000 | 0.202 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 12.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 0.000 | 4.000 | 0.0833 | 0.0833 | 0.0833 | 0.0833 | 0.0000 | 0.0833 | 0.0000 | 0.3333 |
| last_10 | 0.20 | 10 | - | 28.000 | 2.000 | 0.000 | 0.000 | 0.000 | 2.000 | 2.000 | 1.000 | 8.000 | 0.0714 | 0.1034 | 0.0714 | 0.0714 | 0.0000 | 0.0714 | 0.0357 | 0.2857 |
| season | 0.60 | 101 | - | 286.000 | 55.000 | 9.000 | 2.000 | 8.000 | 31.000 | 39.000 | 40.000 | 80.000 | 0.1923 | 0.2991 | 0.3217 | 0.1923 | 0.0280 | 0.1084 | 0.1399 | 0.2797 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0600 |
| predicted_3B | 0.0120 |
| predicted_AB | 2.8270 |
| predicted_AVG | 0.1548 |
| predicted_BB | 0.2520 |
| predicted_H | 0.4380 |
| predicted_HBP | 0.0240 |
| predicted_HR | 0.0520 |
| predicted_OBP | 0.2242 |
| predicted_R | 0.3660 |
| predicted_RBI | 0.2790 |
| predicted_SLG | 0.2393 |
| predicted_SO | 0.8080 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0890 | 0.0600 | 0.0767 | model_form_blend |
| predicted_3B | 0.0200 | 0.0120 | 0.0166 | model_form_blend |
| predicted_AB | 3.0100 | 2.8270 | 2.9321 | model_form_blend |
| predicted_AVG | 0.2340 | 0.1548 | 0.2003 | model_form_blend |
| predicted_BB | 0.3960 | 0.2520 | 0.3347 | model_form_blend |
| predicted_H | 0.7000 | 0.4380 | 0.5885 | model_form_blend |
| predicted_HBP | - | 0.0240 | 0.0240 | form_only |
| predicted_HR | 0.0600 | 0.0520 | 0.0566 | model_form_blend |
| predicted_OBP | 0.2750 | 0.2242 | 0.2534 | model_form_blend |
| predicted_R | 0.3860 | 0.3660 | 0.3775 | model_form_blend |
| predicted_RBI | 0.3300 | 0.2790 | 0.3083 | model_form_blend |
| predicted_SLG | 0.3170 | 0.2393 | 0.2839 | model_form_blend |
| predicted_SO | 0.7920 | 0.8080 | 0.7988 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 298 |
| Season rows before report date | 298 |
| Report year | 2026 |
| Profile rows used | 101 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.192 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260812_TEX@LAA |
| game_type | full |
| mlbID | 694497 |
| playerID | 694497 |
| playerName | Evan Carter |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | TEX |
| teamID | 28 |
| game_date | 2026-08-12 |
| sl_k_percent | 23.7 |
| sl_bb_percent | 12.4 |
| sl_woba | 0.285 |
| sl_xwoba | 0.288 |
| sl_xba | 0.199 |
| sl_xslg | 0.322 |
| sl_sweet_spot_percent | 27.4 |
| sl_barrel_batted_rate | 5.7 |
| sl_hard_hit_percent | 36.3 |
| sl_exit_velocity_avg | 87.5 |
| sl_launch_angle_avg | 17.5 |
| sl_whiff_percent | 28.8 |
| sl_swing_percent | 40.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.122 | 0.000 | 0.000 | Hitting_2B | 0.205 | 0.000 | -0.205 | 0.000 |
| predicted_3B | 0.017 | 0.000 | 0.000 | Hitting_3B | 0.007 | 0.000 | -0.007 | 0.000 |
| predicted_AB | 2.500 | 4.000 | 3.000 | Hitting_AB | 2.877 | 1.000 | 1.123 | 3.000 |
| predicted_AVG | 0.350 | 0.000 | 0.333 | Hitting_AVG | 0.281 | 1.000 | -0.281 | -1.000 |
| predicted_BB | 0.157 | 0.000 | 0.000 | Hitting_BB | 0.253 | 0.000 | -0.253 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.280 | 0.000 | 1.000 | Hitting_H | 0.808 | 1.000 | -0.808 | -1.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.164 | 0.000 | -0.164 | 0.000 |
| predicted_OBP | 0.350 | 0.000 | 0.333 | Hitting_OBP | 0.342 | 1.000 | -0.342 | -1.000 |
| predicted_R | 0.280 | 0.000 | 0.000 | Hitting_R | 0.363 | 0.000 | -0.363 | 0.000 |
| predicted_RBI | 0.180 | 0.000 | 0.000 | Hitting_RBI | 0.514 | 0.000 | -0.514 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.438 | 0.000 | 0.333 | Hitting_SLG | 0.529 | 1.000 | -0.529 | -1.000 |
| predicted_SO | 0.752 | 1.000 | 1.000 | Hitting_SO | 0.760 | 0.000 | 0.240 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_AB: 2.5000 -> 4.0000 (boost 1.5000, better) |
| Biggest Deboost | predicted_H: 0.2800 -> 0.0000 (deboost -0.2800, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 2 | 2 | 2 | 2 | predicted_H: 0.2800 -> 0.4321 (boost 0.1521, better) | predicted_AVG: 0.3500 -> 0.3151 (deboost -0.0349, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3151 -> 0.1734 (deboost -0.1417, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_H: 0.4334 -> 1.0000 (boost 0.5666, better) | predicted_RBI: 0.2509 -> 0.0000 (deboost -0.2509, worse) | AB rounded to 3 (raw=2.50), rates preserved: AVG=0.173 HR/AB=0.022 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2705 -> 0.0000 (deboost -0.2705, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1734 -> 0.3330 (boost 0.1596, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 1 | 1 | 1 | 1 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1734 (deboost -0.1596, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "679822",
"player_name": "Justin Foscue",
"position": "2B",
"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": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.122,
"predicted_3B": 0.017,
"predicted_AB": 2.5,
"predicted_AVG": 0.35,
"predicted_BB": 0.157,
"predicted_H": 0.28,
"predicted_HR": 0.04,
"predicted_OBP": 0.35,
"predicted_R": 0.28,
"predicted_RBI": 0.18,
"predicted_SLG": 0.438,
"predicted_SO": 0.752
},
"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": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1055,
"predicted_3B": 0.0379,
"predicted_AB": 2.5,
"predicted_AVG": 0.3151,
"predicted_BB": 0.1606,
"predicted_H": 0.4321,
"predicted_HBP": 0.012,
"predicted_HR": 0.0545,
"predicted_OBP": 0.3345,
"predicted_R": 0.2687,
"predicted_RBI": 0.2492,
"predicted_SLG": 0.4394,
"predicted_SO": 0.7596
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.122,
"after": 0.1055,
"delta": -0.0165,
"percent_delta": -0.1352,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.0379,
"delta": 0.0209,
"percent_delta": 1.2294,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.5,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.35,
"after": 0.3151,
"delta": -0.0349,
"percent_delta": -0.0997,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.157,
"after": 0.1606,
"delta": 0.0036,
"percent_delta": 0.0229,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.28,
"after": 0.4321,
"delta": 0.1521,
"percent_delta": 0.5432,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0545,
"delta": 0.0145,
"percent_delta": 0.3625,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.35,
"after": 0.3345,
"delta": -0.0155,
"percent_delta": -0.0443,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.28,
"after": 0.2687,
"delta": -0.0113,
"percent_delta": -0.0404,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.18,
"after": 0.2492,
"delta": 0.0692,
"percent_delta": 0.3844,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.438,
"after": 0.4394,
"delta": 0.0014,
"percent_delta": 0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.752,
"after": 0.7596,
"delta": 0.0076,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.28,
"after": 0.4321,
"delta": 0.1521,
"percent_delta": 0.5432,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.35,
"after": 0.3151,
"delta": -0.0349,
"percent_delta": -0.0997,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 61
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1055,
"predicted_3B": 0.0379,
"predicted_AB": 2.5,
"predicted_AVG": 0.1734,
"predicted_BB": 0.1608,
"predicted_H": 0.4334,
"predicted_HBP": 0.012,
"predicted_HR": 0.0547,
"predicted_OBP": 0.2233,
"predicted_R": 0.2705,
"predicted_RBI": 0.2509,
"predicted_SLG": 0.3116,
"predicted_SO": 0.7588
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1055,
"after": 0.1055,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0379,
"after": 0.0379,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.5,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3151,
"after": 0.1734,
"delta": -0.1417,
"percent_delta": -0.4497,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1606,
"after": 0.1608,
"delta": 0.0002,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4321,
"after": 0.4334,
"delta": 0.0013,
"percent_delta": 0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.012,
"after": 0.012,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0545,
"after": 0.0547,
"delta": 0.0002,
"percent_delta": 0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3345,
"after": 0.2233,
"delta": -0.1112,
"percent_delta": -0.3324,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2687,
"after": 0.2705,
"delta": 0.0018,
"percent_delta": 0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2492,
"after": 0.2509,
"delta": 0.0017,
"percent_delta": 0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4394,
"after": 0.3116,
"delta": -0.1278,
"percent_delta": -0.2909,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7596,
"after": 0.7588,
"delta": -0.0008,
"percent_delta": -0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.3151,
"after": 0.1734,
"delta": -0.1417,
"percent_delta": -0.4497,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.50), rates preserved: AVG=0.173 HR/AB=0.022",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1055,
"after": 0.0,
"delta": -0.1055,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0379,
"after": 0.0,
"delta": -0.0379,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 3.0,
"delta": 0.5,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1608,
"after": 0.0,
"delta": -0.1608,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4334,
"after": 1.0,
"delta": 0.5666,
"percent_delta": 1.3073,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.012,
"after": 0.0,
"delta": -0.012,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0547,
"after": 0.0,
"delta": -0.0547,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2509,
"after": 0.0,
"delta": -0.2509,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7588,
"after": 1.0,
"delta": 0.2412,
"percent_delta": 0.3179,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.4334,
"after": 1.0,
"delta": 0.5666,
"percent_delta": 1.3073,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2509,
"after": 0.0,
"delta": -0.2509,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.2705,
"after": 0.0,
"delta": -0.2705,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.2705,
"after": 0.0,
"delta": -0.2705,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1734,
"after": 0.333,
"delta": 0.1596,
"percent_delta": 0.9204,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_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_OBP",
"before": 0.2233,
"after": 0.333,
"delta": 0.1097,
"percent_delta": 0.4913,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3116,
"after": 0.333,
"delta": 0.0214,
"percent_delta": 0.0687,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.1734,
"after": 0.333,
"delta": 0.1596,
"percent_delta": 0.9204,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_CS",
"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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1734,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2233,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3116,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1734,
"delta": -0.1596,
"percent_delta": -0.4794,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_OBP",
"before": 0.333,
"after": 0.2233,
"delta": -0.1097,
"percent_delta": -0.3294,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3116,
"delta": -0.0214,
"percent_delta": -0.0643,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1734,
"delta": -0.1596,
"percent_delta": -0.4794,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.122,
"after": 0.0,
"delta": -0.122,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.0,
"delta": -0.017,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.35,
"after": 0.1734,
"delta": -0.1766,
"percent_delta": -0.5046,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.157,
"after": 0.0,
"delta": -0.157,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.28,
"after": 0.0,
"delta": -0.28,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.35,
"after": 0.2233,
"delta": -0.1267,
"percent_delta": -0.362,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.28,
"after": 0.0,
"delta": -0.28,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.18,
"after": 0.0,
"delta": -0.18,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.438,
"after": 0.3116,
"delta": -0.1264,
"percent_delta": -0.2886,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.752,
"after": 1.0,
"delta": 0.248,
"percent_delta": 0.3298,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.28,
"after": 0.0,
"delta": -0.28,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.122 | - |
| predicted_3B | 0.017 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.350 | - |
| predicted_BB | 0.157 | - |
| predicted_H | 0.280 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.350 | - |
| predicted_R | 0.280 | - |
| predicted_RBI | 0.180 | - |
| predicted_SLG | 0.438 | - |
| predicted_SO | 0.752 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.105 | -0.017 |
| predicted_3B | 0.038 | 0.021 |
| predicted_AB | 2.500 | 0.000 |
| predicted_AVG | 0.315 | -0.035 |
| predicted_BB | 0.161 | 0.004 |
| predicted_H | 0.432 | 0.152 |
| predicted_HBP | 0.012 | - |
| predicted_HR | 0.054 | 0.014 |
| predicted_OBP | 0.335 | -0.015 |
| predicted_R | 0.269 | -0.011 |
| predicted_RBI | 0.249 | 0.069 |
| predicted_SLG | 0.439 | 0.001 |
| predicted_SO | 0.760 | 0.008 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.105 | 0.000 |
| predicted_3B | 0.038 | 0.000 |
| predicted_AB | 2.500 | 0.000 |
| predicted_AVG | 0.173 | -0.142 |
| predicted_BB | 0.161 | 0.000 |
| predicted_H | 0.433 | 0.001 |
| predicted_HBP | 0.012 | 0.000 |
| predicted_HR | 0.055 | 0.000 |
| predicted_OBP | 0.223 | -0.111 |
| predicted_R | 0.271 | 0.002 |
| predicted_RBI | 0.251 | 0.002 |
| predicted_SLG | 0.312 | -0.128 |
| predicted_SO | 0.759 | -0.001 |
AB rounded to 3 (raw=2.50), rates preserved: AVG=0.173 HR/AB=0.022
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.105 |
| predicted_3B | 0.000 | -0.038 |
| predicted_AB | 3.000 | 0.500 |
| predicted_AVG | 0.333 | 0.160 |
| predicted_BB | 0.000 | -0.161 |
| predicted_H | 1.000 | 0.567 |
| predicted_HR | 0.000 | -0.055 |
| predicted_OBP | 0.333 | 0.110 |
| predicted_R | 0.000 | -0.271 |
| predicted_RBI | 0.000 | -0.251 |
| predicted_SLG | 0.333 | 0.021 |
| predicted_SO | 1.000 | 0.241 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 12.000 | 4.000 | 0.000 | 1.000 | 0.000 | 2.000 | 1.000 | 1.000 | 4.000 | 0.3333 | 0.3846 | 0.5000 | 0.3333 | 0.0000 | 0.1667 | 0.0833 | 0.3333 |
| last_10 | 0.20 | 10 | - | 18.000 | 4.000 | 0.000 | 1.000 | 0.000 | 2.000 | 1.000 | 1.000 | 7.000 | 0.2222 | 0.2632 | 0.3333 | 0.2222 | 0.0000 | 0.1111 | 0.0556 | 0.3889 |
| season | 0.60 | 61 | - | 143.000 | 37.000 | 7.000 | 1.000 | 7.000 | 21.000 | 16.000 | 9.000 | 43.000 | 0.2587 | 0.3052 | 0.4685 | 0.2587 | 0.0490 | 0.1469 | 0.0629 | 0.3007 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0810 |
| predicted_3B | 0.0690 |
| predicted_AB | 2.5000 |
| predicted_AVG | 0.2633 |
| predicted_BB | 0.1660 |
| predicted_H | 0.6580 |
| predicted_HBP | 0.0120 |
| predicted_HR | 0.0760 |
| predicted_OBP | 0.3115 |
| predicted_R | 0.2520 |
| predicted_RBI | 0.3520 |
| predicted_SLG | 0.4414 |
| predicted_SO | 0.7710 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1220 | 0.0810 | 0.1055 | model_form_blend |
| predicted_3B | 0.0170 | 0.0690 | 0.0379 | model_form_blend |
| predicted_AB | 2.5000 | 2.5000 | 2.5000 | model_form_blend |
| predicted_AVG | 0.3500 | 0.2633 | 0.3151 | model_form_blend |
| predicted_BB | 0.1570 | 0.1660 | 0.1606 | model_form_blend |
| predicted_H | 0.2800 | 0.6580 | 0.4321 | model_form_blend |
| predicted_HBP | - | 0.0120 | 0.0120 | form_only |
| predicted_HR | 0.0400 | 0.0760 | 0.0545 | model_form_blend |
| predicted_OBP | 0.3500 | 0.3115 | 0.3345 | model_form_blend |
| predicted_R | 0.2800 | 0.2520 | 0.2687 | model_form_blend |
| predicted_RBI | 0.1800 | 0.3520 | 0.2492 | model_form_blend |
| predicted_SLG | 0.4380 | 0.4414 | 0.4394 | model_form_blend |
| predicted_SO | 0.7520 | 0.7710 | 0.7596 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 146 |
| Season rows before report date | 146 |
| Report year | 2026 |
| Profile rows used | 61 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.259 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 1.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-DH |
| gameID | 20260812_TEX@LAA |
| game_type | ph |
| mlbID | 679822 |
| note | Singled for Pederson in the 8th. |
| playerID | 679822 |
| playerName | Justin Foscue |
| pos | 2B |
| started | False |
| startingPosition | PH |
| team | TEX |
| teamID | 28 |
| game_date | 2026-08-12 |
| sl_k_percent | 27.4 |
| sl_bb_percent | 7.6 |
| sl_woba | 0.339 |
| sl_xwoba | 0.316 |
| sl_xba | 0.235 |
| sl_xslg | 0.416 |
| sl_sweet_spot_percent | 36.0 |
| sl_barrel_batted_rate | 10.0 |
| sl_hard_hit_percent | 42.0 |
| sl_exit_velocity_avg | 89.0 |
| sl_launch_angle_avg | 18.2 |
| sl_whiff_percent | 21.6 |
| sl_swing_percent | 42.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 2.000 | 2.000 | 2.000 | Pitching_BB | 1.364 | 1.000 | 0.636 | 1.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 2.318 | 1.000 | -0.318 | 1.000 |
| predicted_H | 5.000 | 5.000 | 5.000 | Pitching_H | 4.727 | 3.000 | 0.273 | 2.000 |
| predicted_IP | 5.100 | 5.100 | 5.100 | Pitching_InningsPitched | 5.309 | 5.000 | -0.209 | 0.100 |
| predicted_SO | 7.000 | 7.000 | 7.000 | Pitching_SO | 6.545 | 9.000 | 0.455 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 5.3333 -> 5.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 5.3333 -> 5.1000 (deboost -0.2333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "594798",
"player_name": "Jacob deGrom",
"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": 2.0,
"predicted_ER": 2.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 5.3333,
"predicted_SO": 7.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 2.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 5.1,
"predicted_R": 2.0,
"predicted_SO": 7.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0438,
"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": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0437,
"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": 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"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 2.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 5.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 5.333 | - |
| predicted_SO | 7.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 23.000 | 14.000 | 29.000 | 10.000 | 29.000 | 1.000 | 5.4783 | 1.6957 | 0.6087 | 1.2609 | 0.4348 | 1.2609 | 0.0435 |
| last_10 | 0.35 | 10 | 54.000 | 26.000 | 52.000 | 17.000 | 66.000 | 4.000 | 4.3333 | 1.2778 | 0.4815 | 0.9630 | 0.3148 | 1.2222 | 0.0741 |
| season | 0.20 | 22 | 118.200 | 51.000 | 104.000 | 30.000 | 144.000 | 17.000 | 3.8680 | 1.1292 | 0.4298 | 0.8764 | 0.2528 | 1.2135 | 0.1433 |
| Metric | Value |
|---|---|
| predicted_BB | 1.8180 |
| predicted_ER | 2.6590 |
| predicted_ERA | 4.7026 |
| predicted_H | 5.3940 |
| predicted_HR | 0.4470 |
| predicted_IP | 5.0000 |
| predicted_SO | 6.0320 |
| predicted_WHIP | 1.4172 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 1.8180 | 1.8959 | model_form_blend |
| predicted_ER | 2.0000 | 2.6590 | 2.3768 | model_form_blend |
| predicted_ERA | - | 4.7026 | 4.7026 | form_only |
| predicted_H | 5.0000 | 5.3940 | 5.2253 | model_form_blend |
| predicted_HR | 0.0000 | 0.4470 | 0.2556 | model_form_blend |
| predicted_IP | 5.1000 | 5.0000 | 5.1000 | model_form_blend |
| predicted_SO | 7.0000 | 6.0320 | 6.4465 | model_form_blend |
| predicted_WHIP | - | 1.4172 | 1.4172 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 22 |
| Season rows before report date | 22 |
| Report year | 2026 |
| Profile rows used | 22 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 5.1 |
| H | 5 |
| R | 2 |
| ER | 2 |
| BB | 2 |
| SO | 7 |
| HR | 0 |
| BF | 23 |
| Pitches | 102 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 18 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.87 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 2 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.0 |
| Pitching_Pitches | 88 |
| Pitching_R | 1 |
| Pitching_SO | 9 |
| Pitching_Strikes | 55 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260808_BAL@TEX |
| game_type | full |
| mlbID | 594798 |
| playerID | 594798 |
| playerName | Jacob deGrom |
| pos | P |
| started | True |
| startingPosition | P |
| team | TEX |
| teamID | 28 |
| game_date | 2026-08-08 |
| sl_k_percent | 29.6 |
| sl_bb_percent | 6.2 |
| sl_woba | 0.287 |
| sl_xwoba | 0.294 |
| sl_sweet_spot_percent | 39.1 |
| sl_barrel_batted_rate | 9.0 |
| sl_hard_hit_percent | 45.5 |
| sl_whiff_percent | 33.3 |
| sl_swing_percent | 51.6 |
| sl_avg_best_speed | 80.630053742 |
| sl_avg_hyper_speed | 94.840527871 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.326 | 1.000 | -0.326 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.256 | 0.000 | -0.256 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.605 | 0.000 | -0.605 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.191 | 1.000 | -0.091 | 0.100 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.302 | 1.000 | 0.698 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "656641",
"player_name": "Jacob Latz",
"position": "Middle Reliever",
"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": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.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": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 0.0,
"predicted_SO": 2.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.333 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 6.000 | 2.000 | 6.000 | 3.000 | 7.000 | 0.000 | 3.0000 | 1.5000 | 0.3333 | 1.0000 | 0.5000 | 1.1667 | 0.0000 |
| last_10 | 0.35 | 10 | 12.000 | 3.000 | 9.000 | 5.000 | 13.000 | 0.000 | 2.2500 | 1.1667 | 0.2500 | 0.7500 | 0.4167 | 1.0833 | 0.0000 |
| season | 0.20 | 42 | 54.000 | 8.000 | 23.000 | 13.000 | 56.000 | 3.000 | 1.3333 | 0.6667 | 0.1482 | 0.4259 | 0.2407 | 1.0370 | 0.0556 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5340 |
| predicted_ER | 0.4530 |
| predicted_ERA | 3.0580 |
| predicted_H | 1.1380 |
| predicted_HR | 0.0720 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.4160 |
| predicted_WHIP | 1.2537 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5340 | 0.2757 | model_form_blend |
| predicted_ER | 0.0000 | 0.4530 | 0.2339 | model_form_blend |
| predicted_ERA | - | 3.0580 | 3.0580 | form_only |
| predicted_H | 0.0000 | 1.1380 | 0.5875 | model_form_blend |
| predicted_HR | 0.0000 | 0.0720 | 0.0372 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 2.0000 | 1.4160 | 1.6985 | model_form_blend |
| predicted_WHIP | - | 1.2537 | 1.2537 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 43 |
| Season rows before report date | 43 |
| Report year | 2026 |
| Profile rows used | 42 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 4 |
| Pitches | 21 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.83 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 24 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 15 |
| Pitching_Wild Pitch | 1 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 6 |
| allPositionsPlayed | P |
| gameID | 20260810_TEX@LAA |
| game_type | full |
| mlbID | 656641 |
| playerID | 656641 |
| playerName | Jacob Latz |
| pos | P |
| started | False |
| startingPosition | P |
| team | TEX |
| teamID | 28 |
| game_date | 2026-08-10 |
| sl_k_percent | 28.0 |
| sl_bb_percent | 7.0 |
| sl_woba | 0.195 |
| sl_xwoba | 0.245 |
| sl_sweet_spot_percent | 25.4 |
| sl_barrel_batted_rate | 5.4 |
| sl_hard_hit_percent | 38.5 |
| sl_whiff_percent | 29.0 |
| sl_swing_percent | 53.1 |
| sl_avg_best_speed | 78.6339425 |
| sl_avg_hyper_speed | 93.634256929 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.833 | 0.000 | -0.833 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.833 | 0.000 | -0.833 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.750 | 1.000 | 0.250 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.833 | 2.000 | 0.167 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "681217",
"player_name": "Chase Silseth",
"position": "Middle Reliever",
"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": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.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": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1.0,
"after": 1.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": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1.0,
"after": 1.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"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 2.000 | 4.000 | 4.000 | 3.000 | 1.000 | 3.8571 | 1.7143 | 0.4286 | 0.8571 | 0.8571 | 0.6429 | 0.2143 |
| last_10 | 0.35 | 10 | 8.200 | 2.000 | 8.000 | 7.000 | 8.000 | 1.000 | 2.0769 | 1.7308 | 0.2308 | 0.9231 | 0.8077 | 0.9231 | 0.1154 |
| season | 0.20 | 53 | 45.100 | 14.000 | 39.000 | 27.000 | 53.000 | 4.000 | 2.7794 | 1.4559 | 0.3088 | 0.8603 | 0.5956 | 1.1691 | 0.0882 |
| Metric | Value |
|---|---|
| predicted_BB | 0.6360 |
| predicted_ER | 0.3930 |
| predicted_ERA | 3.5345 |
| predicted_H | 0.9140 |
| predicted_HR | 0.1520 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8850 |
| predicted_WHIP | 1.5494 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.6360 | 0.3179 | model_form_blend |
| predicted_ER | 0.0000 | 0.3930 | 0.1964 | model_form_blend |
| predicted_ERA | - | 3.5345 | 3.5345 | form_only |
| predicted_H | 0.0000 | 0.9140 | 0.4568 | model_form_blend |
| predicted_HR | 0.0000 | 0.1520 | 0.0760 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.8850 | 0.9425 | model_form_blend |
| predicted_WHIP | - | 1.5494 | 1.5494 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 6 |
| Season rows before report date | 6 |
| Report year | 2026 |
| Profile rows used | 53 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 3 |
| Pitches | 15 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.78 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 11 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260811_TEX@LAA |
| game_type | full |
| mlbID | 681217 |
| playerID | 681217 |
| playerName | Chase Silseth |
| pos | P |
| started | False |
| startingPosition | P |
| team | TEX |
| teamID | 28 |
| game_date | 2026-08-11 |
| sl_k_percent | 26.4 |
| sl_bb_percent | 13.4 |
| sl_woba | 0.308 |
| sl_xwoba | 0.312 |
| sl_sweet_spot_percent | 42.9 |
| sl_barrel_batted_rate | 9.2 |
| sl_hard_hit_percent | 31.9 |
| sl_whiff_percent | 32.6 |
| sl_swing_percent | 47.4 |
| sl_avg_best_speed | 74.92013431 |
| sl_avg_hyper_speed | 93.4231725 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.350 | 0.000 | -0.350 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.425 | 0.000 | -0.425 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.075 | 1.000 | -1.075 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.018 | 0.200 | -0.018 | 0.800 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.200 | 0.000 | 0.800 | 2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "682608",
"player_name": "Peyton Gray",
"position": "Middle Reliever",
"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": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.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": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 2.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1.0,
"after": 1.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": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1.0,
"after": 1.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"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 1.000 | 4.000 | 2.000 | 3.000 | 1.000 | 1.9286 | 1.2857 | 0.2143 | 0.8571 | 0.4286 | 0.6429 | 0.2143 |
| last_10 | 0.35 | 10 | 10.100 | 3.000 | 10.000 | 2.000 | 9.000 | 2.000 | 2.6129 | 1.1613 | 0.2903 | 0.9677 | 0.1935 | 0.8710 | 0.1935 |
| season | 0.20 | 40 | 47.000 | 17.000 | 43.000 | 14.000 | 48.000 | 5.000 | 3.2553 | 1.2128 | 0.3617 | 0.9149 | 0.2979 | 1.0213 | 0.1064 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3490 |
| predicted_ER | 0.3640 |
| predicted_ERA | 3.1407 |
| predicted_H | 0.9710 |
| predicted_HR | 0.1800 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8900 |
| predicted_WHIP | 1.2645 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3490 | 0.1756 | model_form_blend |
| predicted_ER | 0.0000 | 0.3640 | 0.1832 | model_form_blend |
| predicted_ERA | - | 3.1407 | 3.1407 | form_only |
| predicted_H | 0.0000 | 0.9710 | 0.4887 | model_form_blend |
| predicted_HR | 0.0000 | 0.1800 | 0.0906 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 0.8900 | 1.4414 | model_form_blend |
| predicted_WHIP | - | 1.2645 | 1.2645 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 40 |
| Season rows before report date | 40 |
| Report year | 2026 |
| Profile rows used | 40 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 4 |
| Pitches | 16 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.26 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 3 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 2 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 13 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260812_TEX@LAA |
| game_type | full |
| mlbID | 682608 |
| playerID | 682608 |
| playerName | Peyton Gray |
| pos | P |
| started | False |
| startingPosition | P |
| team | TEX |
| teamID | 28 |
| game_date | 2026-08-12 |
| sl_k_percent | 23.5 |
| sl_bb_percent | 6.9 |
| sl_woba | 0.293 |
| sl_xwoba | 0.274 |
| sl_sweet_spot_percent | 31.7 |
| sl_barrel_batted_rate | 5.1 |
| sl_hard_hit_percent | 32.4 |
| sl_whiff_percent | 26.0 |
| sl_swing_percent | 50.0 |
| sl_avg_best_speed | 74.397816471 |
| sl_avg_hyper_speed | 92.790441185 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.258 | 0.000 | -0.258 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.452 | 3.000 | 0.548 | -2.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 0.774 | 2.000 | 2.226 | 1.000 |
| predicted_IP | 0.100 | 0.100 | 0.100 | Pitching_InningsPitched | 0.729 | 0.100 | -0.629 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.710 | 0.000 | 0.290 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 0.3333 -> 0.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 0.3333 -> 0.1000 (deboost -0.2333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "695239",
"player_name": "Robby Ahlstrom",
"position": "Middle Reliever",
"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": 0.0,
"predicted_ER": 1.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 0.3333,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_R": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 0.3333,
"after": 0.1,
"delta": -0.2333,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.3333,
"after": 0.1,
"delta": -0.2333,
"percent_delta": -0.7,
"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": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.3333,
"after": 0.1,
"delta": -0.2333,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.3333,
"after": 0.1,
"delta": -0.2333,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.333 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 3.000 | 4.000 | 0.000 | 4.000 | 0.000 | 5.7857 | 0.8571 | 0.6429 | 0.8571 | 0.0000 | 0.8571 | 0.0000 |
| last_10 | 0.35 | 10 | 9.000 | 3.000 | 5.000 | 0.000 | 8.000 | 0.000 | 3.0000 | 0.5556 | 0.3333 | 0.5556 | 0.0000 | 0.8889 | 0.0000 |
| season | 0.20 | 30 | 26.100 | 12.000 | 21.000 | 7.000 | 22.000 | 2.000 | 4.1013 | 1.0633 | 0.4557 | 0.7975 | 0.2658 | 0.8354 | 0.0760 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1370 |
| predicted_ER | 0.3360 |
| predicted_ERA | 4.4719 |
| predicted_H | 0.5760 |
| predicted_HR | 0.0540 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.6130 |
| predicted_WHIP | 1.0563 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1370 | 0.0609 | model_form_blend |
| predicted_ER | 1.0000 | 0.3360 | 0.7051 | model_form_blend |
| predicted_ERA | - | 4.4719 | 4.4719 | form_only |
| predicted_H | 3.0000 | 0.5760 | 1.9233 | model_form_blend |
| predicted_HR | 0.0000 | 0.0540 | 0.0240 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 1.0000 | 0.6130 | 0.8281 | model_form_blend |
| predicted_WHIP | - | 1.0563 | 1.0563 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 31 |
| Season rows before report date | 31 |
| Report year | 2026 |
| Profile rows used | 30 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.1 |
| H | 3 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 4 |
| Pitches | 13 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 3 |
| Pitching_ERA | 4.78 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 2 |
| Pitching_HBP | 1 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 14 |
| Pitching_R | 3 |
| Pitching_SO | 0 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L, BS |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260812_TEX@LAA |
| game_type | full |
| mlbID | 695239 |
| playerID | 695239 |
| playerName | Robby Ahlstrom |
| pos | P |
| started | False |
| startingPosition | P |
| team | TEX |
| teamID | 28 |
| game_date | 2026-08-12 |
| sl_k_percent | 20.0 |
| sl_bb_percent | 7.3 |
| sl_woba | 0.295 |
| sl_xwoba | 0.295 |
| sl_sweet_spot_percent | 29.9 |
| sl_barrel_batted_rate | 3.9 |
| sl_hard_hit_percent | 32.5 |
| sl_whiff_percent | 26.3 |
| sl_swing_percent | 48.4 |
| sl_avg_best_speed | 73.628882632 |
| sl_avg_hyper_speed | 92.461760263 |
| Field | Value |
|---|---|
| Pitcher | Walbert Urena |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.4045 |
| ESPN Rank | 41 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2046 |
| Avg Velo | 93.5756 |
| Avg Spin | 2092.4520 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.2000 |
| Pre ER | 3 |
| Pre H | 4 |
| Pre BB | 3 |
| Pre SO | 5 |
| Season ERA | 2.8328 |
| Season WHIP | 1.2885 |
| Role Avg IP | 5.2630 |
| Recent Avg IP | 4.8670 |
| Last Start IP | 2.1000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAA",
"games": 128,
"wins": 52,
"losses": 76,
"win_pct": 0.4062,
"runs_scored": 527.0,
"runs_allowed": 616.0,
"run_differential": -89.0,
"run_differential_per_game": -0.6953,
"avg_runs_scored": 4.1172,
"avg_runs_allowed": 4.8125,
"offense_index": 0.9149,
"defense_index": 0.9351,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 2.6,
"avg_runs_allowed": 3.9,
"run_differential": -13.0
},
"available": true,
"quality_score": -0.1647
},
"opponent": {
"team": "TEX",
"games": 127,
"wins": 64,
"losses": 63,
"win_pct": 0.5039,
"runs_scored": 528.0,
"runs_allowed": 558.0,
"run_differential": -30.0,
"run_differential_per_game": -0.2362,
"avg_runs_scored": 4.1575,
"avg_runs_allowed": 4.3937,
"offense_index": 0.9238,
"defense_index": 1.0243,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 3.7,
"run_differential": -2.0
},
"available": true,
"quality_score": -0.0256
},
"edges": {
"quality_edge": -0.1391,
"offense_edge": -0.0851,
"opponent_offense_edge": -0.0762,
"defense_strength": -0.0649,
"opponent_defense_weakness": -0.0243,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 0.9955,
"run_prevention": 1.0013,
"strikeout": 1.0019
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "700712",
"profile": {
"available": true,
"pitcher_id": "700712",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 377.0,
"k_percent": 22.2,
"bb_percent": 12.6,
"woba": 0.283,
"xwoba": 0.286,
"sweet_spot_percent": 26.4,
"barrel_batted_rate": 4.7,
"hard_hit_percent": 33.3,
"avg_best_speed": 75.1675,
"avg_hyper_speed": 93.406,
"whiff_percent": 28.2,
"swing_percent": 45.1
},
"league_medians": {
"pa": 108.0,
"k_percent": 22.0,
"bb_percent": 8.9,
"woba": 0.3155,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5616,
"avg_hyper_speed": 93.8784,
"whiff_percent": 25.3,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.7211,
"command_and_miss": -0.0271,
"regression_edge": -0.0857,
"xwoba_edge": 0.7429,
"barrel_edge": 0.5333,
"hard_hit_edge": 0.6143,
"whiff_edge": 0.4143,
"bb_edge": -0.925,
"pitch_design_score": 0.2046
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "700712",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 98,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 98,
"pitch_usage": 0.0,
"release_speed": 93.57555202537328,
"release_spin_rate": 2092.4520410097794,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 98,
"pitch_usage": 0.0,
"release_speed": 93.57555202537328,
"release_spin_rate": 2092.4520410097794,
"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.5756,
"release_spin_rate": 2092.452,
"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.2046,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.4618,
"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.4045,
"sample_weight": 1.0,
"run_prevention_factor": 0.9656,
"strikeout_factor": 1.0177,
"walk_factor": 1.074,
"homer_factor": 0.9105,
"woba_minus_xwoba": -0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "700712",
"espn_id": 5197476,
"player_name": "Walbert Urena",
"team": "LAA",
"role": "pitcher",
"espn_rank": 41,
"espn_total_ranked": 806,
"metrics": {
"espn_rank": 41,
"gp_value": 21.0,
"gp_rank": 327,
"gs_value": 19.0,
"gs_rank": 84,
"qs_value": 9.0,
"qs_rank": 52,
"era_value": 2.8327,
"era_rank": null,
"w_value": 7.0,
"w_rank": 58,
"l_value": 8.0,
"l_rank": 31,
"sv_value": 0.0,
"sv_rank": 236,
"hld_value": 1.0,
"hld_rank": 244,
"ip_value": 101.2,
"ip_rank": 96,
"h_value": 76.0,
"h_rank": 126,
"er_value": 32.0,
"er_rank": 152,
"hr_value": 6.0,
"hr_rank": 228,
"bb_value": 55.0,
"bb_rank": 8,
"k_value": 97.0,
"k_rank": 80,
"k_per_9_value": 8.586885,
"k_per_9_rank": 22,
"whip_value": 1.2885,
"whip_rank": null,
"war_value": 2.33,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9656,
"adjusted": 1
},
"predicted_H": {
"original": 3.0,
"factor": 0.9656,
"adjusted": 3
},
"predicted_BB": {
"original": 3.0,
"factor": 1.074,
"adjusted": 3
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9105,
"adjusted": 0
},
"predicted_SO": {
"original": 5.0,
"factor": 1.0177,
"adjusted": 5
}
}
}
}{
"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": 17,
"H": 37,
"BB": 27,
"SO": 49,
"HR": 2,
"ERA": 2.9805194805194803,
"WHIP": 1.2467532467532467,
"K9": 8.59090909090909,
"HR9": 0.35064935064935066,
"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-08-08T00:00:00"
}{
"available": true,
"pitcher_id": "700712",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 98,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 98,
"pitch_usage": 0.0,
"release_speed": 93.57555202537328,
"release_spin_rate": 2092.4520410097794,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 98,
"pitch_usage": 0.0,
"release_speed": 93.57555202537328,
"release_spin_rate": 2092.4520410097794,
"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.5756,
"release_spin_rate": 2092.452,
"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.2046,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.4618,
"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."
}{
"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",
"player_id": "700712",
"report_date": "20260813",
"season_year": 2026,
"rows_used": 21,
"reference_playing_time": 5.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 24.1,
"ER": 6.0,
"R": 6.0,
"H": 16.0,
"BB": 14.0,
"SO": 22.0,
"HR": 1.0,
"BF": 99.0,
"Pitches": 419.0
},
"per_game": {
"IP": 5.0,
"ER": 1.2,
"R": 1.2,
"H": 3.2,
"BB": 2.8,
"SO": 4.4,
"HR": 0.2,
"BF": 19.8,
"Pitches": 83.8
},
"rates": {
"ERA": 2.2192,
"WHIP": 1.2329,
"ER_per_IP": 0.24658,
"H_per_IP": 0.65753,
"BB_per_IP": 0.57534,
"SO_per_IP": 0.90411,
"HR_per_IP": 0.0411
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 51.1,
"ER": 17.0,
"R": 18.0,
"H": 37.0,
"BB": 27.0,
"SO": 49.0,
"HR": 2.0,
"BF": 218.0,
"Pitches": 882.0
},
"per_game": {
"IP": 5.0,
"ER": 1.7,
"R": 1.8,
"H": 3.7,
"BB": 2.7,
"SO": 4.9,
"HR": 0.2,
"BF": 21.8,
"Pitches": 88.2
},
"rates": {
"ERA": 2.9805,
"WHIP": 1.2468,
"ER_per_IP": 0.33117,
"H_per_IP": 0.72078,
"BB_per_IP": 0.52597,
"SO_per_IP": 0.95455,
"HR_per_IP": 0.03896
}
},
"season": {
"games": 21,
"totals": {
"IP": 101.2,
"ER": 32.0,
"R": 39.0,
"H": 76.0,
"BB": 55.0,
"SO": 97.0,
"HR": 6.0,
"BF": 436.0,
"Pitches": 1742.0
},
"per_game": {
"IP": 5.0,
"ER": 1.5238,
"R": 1.8571,
"H": 3.619,
"BB": 2.619,
"SO": 4.619,
"HR": 0.2857,
"BF": 20.7619,
"Pitches": 82.9524
},
"rates": {
"ERA": 2.8328,
"WHIP": 1.2885,
"ER_per_IP": 0.31475,
"H_per_IP": 0.74754,
"BB_per_IP": 0.54098,
"SO_per_IP": 0.9541,
"HR_per_IP": 0.05902
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 5.0,
"predicted_ER": 1.69,
"predicted_H": 3.849,
"predicted_BB": 2.639,
"predicted_SO": 4.8,
"predicted_HR": 0.328,
"predicted_ERA": 2.9663,
"predicted_WHIP": 1.2652
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.4312,
"form_weight": 0.5688,
"form_reliability": 0.8077,
"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.0,
"final": 5.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 1.69,
"final": 2.2549,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 3.849,
"final": 3.9141,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 2.639,
"final": 2.7947,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 4.8,
"final": 4.455,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.328,
"final": 0.6178,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.9663,
"final": 2.9663,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2652,
"final": 1.2652,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Samy Natera Jr. |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.6008 |
| ESPN Rank | 146 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1.1000 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2 |
| Season WHIP | 0.8148 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAA",
"games": 128,
"wins": 52,
"losses": 76,
"win_pct": 0.4062,
"runs_scored": 527.0,
"runs_allowed": 616.0,
"run_differential": -89.0,
"run_differential_per_game": -0.6953,
"avg_runs_scored": 4.1172,
"avg_runs_allowed": 4.8125,
"offense_index": 0.9149,
"defense_index": 0.9351,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 2.6,
"avg_runs_allowed": 3.9,
"run_differential": -13.0
},
"available": true,
"quality_score": -0.1647
},
"opponent": {
"team": "TEX",
"games": 127,
"wins": 64,
"losses": 63,
"win_pct": 0.5039,
"runs_scored": 528.0,
"runs_allowed": 558.0,
"run_differential": -30.0,
"run_differential_per_game": -0.2362,
"avg_runs_scored": 4.1575,
"avg_runs_allowed": 4.3937,
"offense_index": 0.9238,
"defense_index": 1.0243,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 3.7,
"run_differential": -2.0
},
"available": true,
"quality_score": -0.0256
},
"edges": {
"quality_edge": -0.1391,
"offense_edge": -0.0851,
"opponent_offense_edge": -0.0762,
"defense_strength": -0.0649,
"opponent_defense_weakness": -0.0243,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 0.9955,
"run_prevention": 1.0013,
"strikeout": 1.0019
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "696519",
"profile": {
"available": true,
"pitcher_id": "696519",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 73.0,
"k_percent": 40.4,
"bb_percent": 9.6,
"woba": 0.214,
"xwoba": 0.219,
"sweet_spot_percent": 27.5,
"barrel_batted_rate": 5.9,
"hard_hit_percent": 31.4,
"avg_best_speed": 77.7623,
"avg_hyper_speed": 92.9409,
"whiff_percent": 37.3,
"swing_percent": 47.6
},
"league_medians": {
"pa": 108.0,
"k_percent": 22.0,
"bb_percent": 8.9,
"woba": 0.3155,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5616,
"avg_hyper_speed": 93.8784,
"whiff_percent": 25.3,
"swing_percent": 47.6
},
"components": {
"contact_quality": 1.6251,
"command_and_miss": 1.69,
"regression_edge": -0.1429,
"xwoba_edge": 2.5,
"barrel_edge": 0.2667,
"hard_hit_edge": 0.8857,
"whiff_edge": 1.7143,
"bb_edge": -0.175,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "696519",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.6008,
"sample_weight": 0.45,
"run_prevention_factor": 0.9489,
"strikeout_factor": 1.0759,
"walk_factor": 1.0063,
"homer_factor": 0.9407,
"woba_minus_xwoba": -0.005,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "696519",
"espn_id": 5207461,
"player_name": "Samy Natera Jr.",
"team": "LAA",
"role": "pitcher",
"espn_rank": 146,
"espn_total_ranked": 806,
"metrics": {
"espn_rank": 146,
"gp_value": 23.0,
"gp_rank": 272,
"gs_value": 0.0,
"gs_rank": 339,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 2.0,
"era_rank": null,
"w_value": 1.0,
"w_rank": 369,
"l_value": 1.0,
"l_rank": 384,
"sv_value": 3.0,
"sv_rank": 57,
"hld_value": 4.0,
"hld_rank": 168,
"ip_value": 27.0,
"ip_rank": 418,
"h_value": 13.0,
"h_rank": 545,
"er_value": 6.0,
"er_rank": 578,
"hr_value": 1.0,
"hr_rank": 570,
"bb_value": 10.0,
"bb_rank": 442,
"k_value": 42.0,
"k_rank": 293,
"k_per_9_value": 14.0,
"k_per_9_rank": 18,
"whip_value": 0.8518,
"whip_rank": null,
"war_value": 1.08,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.977,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.977,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0028,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9733,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0342,
"adjusted": 3
}
}
}
}{
"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": 11.2,
"ER": 1,
"H": 5,
"BB": 2,
"SO": 20,
"HR": 0,
"ERA": 0.7714285714285715,
"WHIP": 0.6,
"K9": 15.428571428571429,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-11T00:00:00"
}{
"available": false,
"pitcher_id": "696519",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"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": 5.398,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5191,
"prior_weight": 0.4809
},
"role": "pitcher",
"player_id": "696519",
"report_date": "20260813",
"season_year": 2026,
"rows_used": 22,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.2,
"ER": 1.0,
"R": 1.0,
"H": 4.0,
"BB": 1.0,
"SO": 12.0,
"HR": 0.0,
"BF": 24.0,
"Pitches": 113.0
},
"per_game": {
"IP": 1.1,
"ER": 0.2,
"R": 0.2,
"H": 0.8,
"BB": 0.2,
"SO": 2.4,
"HR": 0.0,
"BF": 4.8,
"Pitches": 22.6
},
"rates": {
"ERA": 1.35,
"WHIP": 0.75,
"ER_per_IP": 0.15,
"H_per_IP": 0.6,
"BB_per_IP": 0.15,
"SO_per_IP": 1.8,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.2,
"ER": 1.0,
"R": 1.0,
"H": 5.0,
"BB": 2.0,
"SO": 20.0,
"HR": 0.0,
"BF": 41.0,
"Pitches": 192.0
},
"per_game": {
"IP": 1.1,
"ER": 0.1,
"R": 0.1,
"H": 0.5,
"BB": 0.2,
"SO": 2.0,
"HR": 0.0,
"BF": 4.1,
"Pitches": 19.2
},
"rates": {
"ERA": 0.7714,
"WHIP": 0.6,
"ER_per_IP": 0.08571,
"H_per_IP": 0.42857,
"BB_per_IP": 0.17143,
"SO_per_IP": 1.71429,
"HR_per_IP": 0.0
}
},
"season": {
"games": 22,
"totals": {
"IP": 27.0,
"ER": 6.0,
"R": 6.0,
"H": 13.0,
"BB": 9.0,
"SO": 42.0,
"HR": 1.0,
"BF": 103.0,
"Pitches": 457.0
},
"per_game": {
"IP": 1.1,
"ER": 0.2727,
"R": 0.2727,
"H": 0.5909,
"BB": 0.4091,
"SO": 1.9091,
"HR": 0.0455,
"BF": 4.6818,
"Pitches": 20.7727
},
"rates": {
"ERA": 2.0,
"WHIP": 0.8148,
"ER_per_IP": 0.22222,
"H_per_IP": 0.48148,
"BB_per_IP": 0.33333,
"SO_per_IP": 1.55556,
"HR_per_IP": 0.03704
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.417,
"predicted_H": 0.981,
"predicted_BB": 0.366,
"predicted_SO": 1.803,
"predicted_HR": 0.1,
"predicted_ERA": 2.8127,
"predicted_WHIP": 1.0102
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5532,
"form_weight": 0.4468,
"form_reliability": 0.5191,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.398,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5191,
"prior_weight": 0.4809
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.417,
"final": 0.7395,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.981,
"final": 0.9915,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.366,
"final": 0.1635,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.803,
"final": 0.8056,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.1,
"final": 0.5979,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.8127,
"final": 2.8127,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0102,
"final": 1.0102,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Ben Joyce |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.5671 |
| ESPN Rank | 303 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 2 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 0 |
| Season WHIP | 0.5000 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAA",
"games": 128,
"wins": 52,
"losses": 76,
"win_pct": 0.4062,
"runs_scored": 527.0,
"runs_allowed": 616.0,
"run_differential": -89.0,
"run_differential_per_game": -0.6953,
"avg_runs_scored": 4.1172,
"avg_runs_allowed": 4.8125,
"offense_index": 0.9149,
"defense_index": 0.9351,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 2.6,
"avg_runs_allowed": 3.9,
"run_differential": -13.0
},
"available": true,
"quality_score": -0.1647
},
"opponent": {
"team": "TEX",
"games": 127,
"wins": 64,
"losses": 63,
"win_pct": 0.5039,
"runs_scored": 528.0,
"runs_allowed": 558.0,
"run_differential": -30.0,
"run_differential_per_game": -0.2362,
"avg_runs_scored": 4.1575,
"avg_runs_allowed": 4.3937,
"offense_index": 0.9238,
"defense_index": 1.0243,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 3.7,
"run_differential": -2.0
},
"available": true,
"quality_score": -0.0256
},
"edges": {
"quality_edge": -0.1391,
"offense_edge": -0.0851,
"opponent_offense_edge": -0.0762,
"defense_strength": -0.0649,
"opponent_defense_weakness": -0.0243,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 0.9955,
"run_prevention": 1.0013,
"strikeout": 1.0019
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "690829",
"profile": {
"available": true,
"pitcher_id": "690829",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 0.0,
"k_percent": 30.8,
"bb_percent": 7.7,
"woba": 0.122,
"xwoba": 0.176,
"sweet_spot_percent": 37.5,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 25.0,
"avg_best_speed": 61.3767,
"avg_hyper_speed": 92.4031,
"whiff_percent": 38.5,
"swing_percent": 44.8
},
"league_medians": {
"pa": 108.0,
"k_percent": 22.0,
"bb_percent": 8.9,
"woba": 0.3155,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5616,
"avg_hyper_speed": 93.8784,
"whiff_percent": 25.3,
"swing_percent": 47.6
},
"components": {
"contact_quality": 1.9289,
"command_and_miss": 1.2857,
"regression_edge": -1.5429,
"xwoba_edge": 2.5,
"barrel_edge": 1.5778,
"hard_hit_edge": 1.8,
"whiff_edge": 1.8857,
"bb_edge": 0.3,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "690829",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.5671,
"sample_weight": 0.45,
"run_prevention_factor": 0.9518,
"strikeout_factor": 1.0566,
"walk_factor": 0.9892,
"homer_factor": 0.877,
"woba_minus_xwoba": -0.054,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "690829",
"espn_id": 4867388,
"player_name": "Ben Joyce",
"team": "LAA",
"role": "pitcher",
"espn_rank": 303,
"espn_total_ranked": 806,
"metrics": {
"espn_rank": 303,
"gp_value": 4.0,
"gp_rank": 611,
"gs_value": 0.0,
"gs_rank": 339,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 0.0,
"era_rank": null,
"w_value": 0.0,
"w_rank": 481,
"l_value": 0.0,
"l_rank": 534,
"sv_value": 1.0,
"sv_rank": 117,
"hld_value": 1.0,
"hld_rank": 244,
"ip_value": 4.0,
"ip_rank": 686,
"h_value": 1.0,
"h_rank": 774,
"er_value": 0.0,
"er_rank": 770,
"hr_value": 0.0,
"hr_rank": 693,
"bb_value": 1.0,
"bb_rank": 720,
"k_value": 4.0,
"k_rank": 650,
"k_per_9_value": 9.0,
"k_per_9_rank": 25,
"whip_value": 0.5,
"whip_rank": null,
"war_value": 0.26,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9783,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9783,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9951,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9446,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0255,
"adjusted": 2
}
}
}
}{
"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": 1,
"BB": 1,
"SO": 4,
"HR": 0,
"ERA": 0.0,
"WHIP": 0.5,
"K9": 9.0,
"HR9": 0.0,
"games_pitched": 4,
"quality_starts": 0,
"dominant_form": true,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 4,
"error_prone": false
},
"games_count": 4,
"latest_game_date": "2026-08-12T00:00:00"
}{
"available": false,
"pitcher_id": "690829",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"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.8,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.1379,
"prior_weight": 0.8621
},
"role": "pitcher",
"player_id": "690829",
"report_date": "20260813",
"season_year": 2026,
"rows_used": 4,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 4,
"totals": {
"IP": 4.0,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 1.0,
"SO": 4.0,
"HR": 0.0,
"BF": 13.0,
"Pitches": 58.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.25,
"BB": 0.25,
"SO": 1.0,
"HR": 0.0,
"BF": 3.25,
"Pitches": 14.5
},
"rates": {
"ERA": 0.0,
"WHIP": 0.5,
"ER_per_IP": 0.0,
"H_per_IP": 0.25,
"BB_per_IP": 0.25,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 4,
"totals": {
"IP": 4.0,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 1.0,
"SO": 4.0,
"HR": 0.0,
"BF": 13.0,
"Pitches": 58.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.25,
"BB": 0.25,
"SO": 1.0,
"HR": 0.0,
"BF": 3.25,
"Pitches": 14.5
},
"rates": {
"ERA": 0.0,
"WHIP": 0.5,
"ER_per_IP": 0.0,
"H_per_IP": 0.25,
"BB_per_IP": 0.25,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"season": {
"games": 4,
"totals": {
"IP": 4.0,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 1.0,
"SO": 4.0,
"HR": 0.0,
"BF": 13.0,
"Pitches": 58.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.25,
"BB": 0.25,
"SO": 1.0,
"HR": 0.0,
"BF": 3.25,
"Pitches": 14.5
},
"rates": {
"ERA": 0.0,
"WHIP": 0.5,
"ER_per_IP": 0.0,
"H_per_IP": 0.25,
"BB_per_IP": 0.25,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.428,
"predicted_H": 0.873,
"predicted_BB": 0.346,
"predicted_SO": 0.96,
"predicted_HR": 0.127,
"predicted_ERA": 3.8535,
"predicted_WHIP": 1.2188
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.7142,
"form_weight": 0.2858,
"form_reliability": 0.1379,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.8,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.1379,
"prior_weight": 0.8621
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.428,
"final": 0.1223,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.873,
"final": 1.6779,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.346,
"final": 0.0989,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.96,
"final": 0.2743,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.127,
"final": 0.0363,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.8535,
"final": 3.8535,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2188,
"final": 1.2188,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | José Fermin |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0172 |
| ESPN Rank | 251 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 3.1240 |
| Season WHIP | 1.2645 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAA",
"games": 128,
"wins": 52,
"losses": 76,
"win_pct": 0.4062,
"runs_scored": 527.0,
"runs_allowed": 616.0,
"run_differential": -89.0,
"run_differential_per_game": -0.6953,
"avg_runs_scored": 4.1172,
"avg_runs_allowed": 4.8125,
"offense_index": 0.9149,
"defense_index": 0.9351,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 2.6,
"avg_runs_allowed": 3.9,
"run_differential": -13.0
},
"available": true,
"quality_score": -0.1647
},
"opponent": {
"team": "TEX",
"games": 127,
"wins": 64,
"losses": 63,
"win_pct": 0.5039,
"runs_scored": 528.0,
"runs_allowed": 558.0,
"run_differential": -30.0,
"run_differential_per_game": -0.2362,
"avg_runs_scored": 4.1575,
"avg_runs_allowed": 4.3937,
"offense_index": 0.9238,
"defense_index": 1.0243,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 3.7,
"run_differential": -2.0
},
"available": true,
"quality_score": -0.0256
},
"edges": {
"quality_edge": -0.1391,
"offense_edge": -0.0851,
"opponent_offense_edge": -0.0762,
"defense_strength": -0.0649,
"opponent_defense_weakness": -0.0243,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 0.9955,
"run_prevention": 1.0013,
"strikeout": 1.0019
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "820862",
"profile": {
"available": true,
"pitcher_id": "820862",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 132.0,
"k_percent": 27.6,
"bb_percent": 11.5,
"woba": 0.301,
"xwoba": 0.314,
"sweet_spot_percent": 28.4,
"barrel_batted_rate": 8.8,
"hard_hit_percent": 43.1,
"avg_best_speed": 81.3625,
"avg_hyper_speed": 94.403,
"whiff_percent": 31.4,
"swing_percent": 49.2
},
"league_medians": {
"pa": 108.0,
"k_percent": 22.0,
"bb_percent": 8.9,
"woba": 0.3155,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5616,
"avg_hyper_speed": 93.8784,
"whiff_percent": 25.3,
"swing_percent": 47.6
},
"components": {
"contact_quality": -0.124,
"command_and_miss": 0.535,
"regression_edge": -0.3714,
"xwoba_edge": -0.0571,
"barrel_edge": -0.3778,
"hard_hit_edge": -0.7857,
"whiff_edge": 0.8714,
"bb_edge": -0.65,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "820862",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0172,
"sample_weight": 0.528,
"run_prevention_factor": 0.9985,
"strikeout_factor": 1.0353,
"walk_factor": 1.0275,
"homer_factor": 1.0335,
"woba_minus_xwoba": -0.013,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "820862",
"espn_id": 5265417,
"player_name": "Jose Fermin",
"team": "LAA",
"role": "pitcher",
"espn_rank": 251,
"espn_total_ranked": 806,
"metrics": {
"espn_rank": 251,
"gp_value": 37.0,
"gp_rank": 143,
"gs_value": 0.0,
"gs_rank": 339,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 3.1239,
"era_rank": null,
"w_value": 4.0,
"w_rank": 149,
"l_value": 2.0,
"l_rank": 285,
"sv_value": 1.0,
"sv_rank": 117,
"hld_value": 5.0,
"hld_rank": 148,
"ip_value": 40.1,
"ip_rank": 318,
"h_value": 31.0,
"h_rank": 354,
"er_value": 14.0,
"er_rank": 370,
"hr_value": 5.0,
"hr_rank": 274,
"bb_value": 20.0,
"bb_rank": 236,
"k_value": 48.0,
"k_rank": 248,
"k_per_9_value": 10.710744,
"k_per_9_rank": 21,
"whip_value": 1.2644,
"whip_rank": null,
"war_value": 0.45,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9992,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9992,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0145,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0177,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0186,
"adjusted": 3
}
}
}
}{
"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": 10.1,
"ER": 4,
"H": 10,
"BB": 4,
"SO": 16,
"HR": 2,
"ERA": 3.483870967741936,
"WHIP": 1.3548387096774195,
"K9": 13.935483870967744,
"HR9": 1.741935483870968,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-08-11T00:00:00"
}{
"available": false,
"pitcher_id": "820862",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"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": 8.063,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6173,
"prior_weight": 0.3827
},
"role": "pitcher",
"player_id": "820862",
"report_date": "20260813",
"season_year": 2026,
"rows_used": 37,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.2,
"ER": 4.0,
"R": 4.0,
"H": 8.0,
"BB": 2.0,
"SO": 10.0,
"HR": 2.0,
"BF": 30.0,
"Pitches": 111.0
},
"per_game": {
"IP": 1.1,
"ER": 0.8,
"R": 0.8,
"H": 1.6,
"BB": 0.4,
"SO": 2.0,
"HR": 0.4,
"BF": 6.0,
"Pitches": 22.2
},
"rates": {
"ERA": 5.4,
"WHIP": 1.5,
"ER_per_IP": 0.6,
"H_per_IP": 1.2,
"BB_per_IP": 0.3,
"SO_per_IP": 1.5,
"HR_per_IP": 0.3
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 4.0,
"R": 7.0,
"H": 10.0,
"BB": 4.0,
"SO": 16.0,
"HR": 2.0,
"BF": 47.0,
"Pitches": 188.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.7,
"H": 1.0,
"BB": 0.4,
"SO": 1.6,
"HR": 0.2,
"BF": 4.7,
"Pitches": 18.8
},
"rates": {
"ERA": 3.4839,
"WHIP": 1.3548,
"ER_per_IP": 0.3871,
"H_per_IP": 0.96774,
"BB_per_IP": 0.3871,
"SO_per_IP": 1.54839,
"HR_per_IP": 0.19355
}
},
"season": {
"games": 37,
"totals": {
"IP": 40.1,
"ER": 14.0,
"R": 17.0,
"H": 31.0,
"BB": 20.0,
"SO": 48.0,
"HR": 5.0,
"BF": 174.0,
"Pitches": 720.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3784,
"R": 0.4595,
"H": 0.8378,
"BB": 0.5405,
"SO": 1.2973,
"HR": 0.1351,
"BF": 4.7027,
"Pitches": 19.4595
},
"rates": {
"ERA": 3.124,
"WHIP": 1.2645,
"ER_per_IP": 0.34711,
"H_per_IP": 0.7686,
"BB_per_IP": 0.49587,
"SO_per_IP": 1.19008,
"HR_per_IP": 0.12397
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.528,
"predicted_H": 1.103,
"predicted_BB": 0.4,
"predicted_SO": 1.38,
"predicted_HR": 0.215,
"predicted_ERA": 4.3491,
"predicted_WHIP": 1.3759
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5117,
"form_weight": 0.4883,
"form_reliability": 0.6173,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 8.063,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6173,
"prior_weight": 0.3827
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.528,
"final": 0.2578,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.103,
"final": 0.5386,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.4,
"final": 0.1953,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.38,
"final": 1.6972,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.215,
"final": 0.105,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.3491,
"final": 4.3491,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3759,
"final": 1.3759,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Luke Murphy |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0254 |
| ESPN Rank | 391 |
| Movement Available | False |
| Primary Pitch | - |
| Movement Score | - |
| Avg Velo | - |
| Avg Spin | - |
| HB Inches | - |
| IVB Inches | - |
| Release Extension | - |
| Pre IP | 0 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 3.3750 |
| Season WHIP | 1.6875 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAA",
"games": 128,
"wins": 52,
"losses": 76,
"win_pct": 0.4062,
"runs_scored": 527.0,
"runs_allowed": 616.0,
"run_differential": -89.0,
"run_differential_per_game": -0.6953,
"avg_runs_scored": 4.1172,
"avg_runs_allowed": 4.8125,
"offense_index": 0.9149,
"defense_index": 0.9351,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 2.6,
"avg_runs_allowed": 3.9,
"run_differential": -13.0
},
"available": true,
"quality_score": -0.1647
},
"opponent": {
"team": "TEX",
"games": 127,
"wins": 64,
"losses": 63,
"win_pct": 0.5039,
"runs_scored": 528.0,
"runs_allowed": 558.0,
"run_differential": -30.0,
"run_differential_per_game": -0.2362,
"avg_runs_scored": 4.1575,
"avg_runs_allowed": 4.3937,
"offense_index": 0.9238,
"defense_index": 1.0243,
"current_streak": "L2",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 3.5,
"avg_runs_allowed": 3.7,
"run_differential": -2.0
},
"available": true,
"quality_score": -0.0256
},
"edges": {
"quality_edge": -0.1391,
"offense_edge": -0.0851,
"opponent_offense_edge": -0.0762,
"defense_strength": -0.0649,
"opponent_defense_weakness": -0.0243,
"recent_win_pct_edge": 0.0
},
"player_factors": {
"ip": 0.9955,
"run_prevention": 1.0013,
"strikeout": 1.0019
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "684665",
"profile": {
"available": true,
"pitcher_id": "684665",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 0.0,
"k_percent": 16.7,
"bb_percent": 25.0,
"woba": 0.286,
"xwoba": 0.291,
"sweet_spot_percent": 42.9,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 28.6,
"avg_best_speed": 77.4051,
"avg_hyper_speed": 92.2952,
"whiff_percent": 21.1,
"swing_percent": 38.0
},
"league_medians": {
"pa": 108.0,
"k_percent": 22.0,
"bb_percent": 8.9,
"woba": 0.3155,
"xwoba": 0.312,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 37.6,
"avg_best_speed": 77.5616,
"avg_hyper_speed": 93.8784,
"whiff_percent": 25.3,
"swing_percent": 47.6
},
"components": {
"contact_quality": 0.614,
"command_and_miss": -1.0507,
"regression_edge": -0.1429,
"xwoba_edge": 0.6,
"barrel_edge": 1.5778,
"hard_hit_edge": 1.2857,
"whiff_edge": -0.6,
"bb_edge": -2.5,
"pitch_design_score": 0.0
},
"pitch_movement_profile": {
"available": false,
"pitcher_id": "684665",
"reason": "pitcher_movement_profile_has_no_pitches"
},
"quality_score": 0.0254,
"sample_weight": 0.45,
"run_prevention_factor": 0.9978,
"strikeout_factor": 0.9756,
"walk_factor": 1.09,
"homer_factor": 0.912,
"woba_minus_xwoba": -0.005,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "684665",
"espn_id": 4424061,
"player_name": "Luke Murphy",
"team": "LAA",
"role": "pitcher",
"espn_rank": 391,
"espn_total_ranked": 806,
"metrics": {
"espn_rank": 391,
"gp_value": 5.0,
"gp_rank": 584,
"gs_value": 0.0,
"gs_rank": 339,
"qs_value": 0.0,
"qs_rank": 203,
"era_value": 3.375,
"era_rank": null,
"w_value": 0.0,
"w_rank": 481,
"l_value": 1.0,
"l_rank": 384,
"sv_value": 0.0,
"sv_rank": 236,
"hld_value": 3.0,
"hld_rank": 189,
"ip_value": 5.1,
"ip_rank": 657,
"h_value": 3.0,
"h_rank": 728,
"er_value": 2.0,
"er_rank": 694,
"hr_value": 0.0,
"hr_rank": 693,
"bb_value": 6.0,
"bb_rank": 538,
"k_value": 4.0,
"k_rank": 650,
"k_per_9_value": 6.75,
"k_per_9_rank": 26,
"whip_value": 1.6875,
"whip_rank": null,
"war_value": 0.07,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.999,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.999,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0405,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9604,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.989,
"adjusted": 2
}
}
}
}{
"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": 5.1,
"ER": 2,
"H": 3,
"BB": 6,
"SO": 4,
"HR": 0,
"ERA": 3.375,
"WHIP": 1.6875,
"K9": 6.75,
"HR9": 0.0,
"games_pitched": 5,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 5,
"error_prone": false
},
"games_count": 5,
"latest_game_date": "2026-08-11T00:00:00"
}{
"available": false,
"pitcher_id": "684665",
"reason": "pitcher_movement_profile_has_no_pitches"
}{
"form_version": "player_form_v3_5_10_season",
"method": "weighted_recent_form",
"description": "Legacy 5/10/season recent form with Bayesian league-prior shrinkage",
"weights": {
"last_5": 0.45,
"last_10": 0.35,
"season": 0.2
},
"effective_weights": {
"last_5": 1.0
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 1.066,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.1758,
"prior_weight": 0.8242
},
"role": "pitcher",
"player_id": "684665",
"report_date": "20260813",
"season_year": 2026,
"rows_used": 5,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 2.0,
"R": 3.0,
"H": 3.0,
"BB": 6.0,
"SO": 4.0,
"HR": 0.0,
"BF": 24.0,
"Pitches": 100.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.6,
"H": 0.6,
"BB": 1.2,
"SO": 0.8,
"HR": 0.0,
"BF": 4.8,
"Pitches": 20.0
},
"rates": {
"ERA": 3.375,
"WHIP": 1.6875,
"ER_per_IP": 0.375,
"H_per_IP": 0.5625,
"BB_per_IP": 1.125,
"SO_per_IP": 0.75,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 2.0,
"R": 3.0,
"H": 3.0,
"BB": 6.0,
"SO": 4.0,
"HR": 0.0,
"BF": 24.0,
"Pitches": 100.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.6,
"H": 0.6,
"BB": 1.2,
"SO": 0.8,
"HR": 0.0,
"BF": 4.8,
"Pitches": 20.0
},
"rates": {
"ERA": 3.375,
"WHIP": 1.6875,
"ER_per_IP": 0.375,
"H_per_IP": 0.5625,
"BB_per_IP": 1.125,
"SO_per_IP": 0.75,
"HR_per_IP": 0.0
}
},
"season": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 2.0,
"R": 3.0,
"H": 3.0,
"BB": 6.0,
"SO": 4.0,
"HR": 0.0,
"BF": 24.0,
"Pitches": 100.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.6,
"H": 0.6,
"BB": 1.2,
"SO": 0.8,
"HR": 0.0,
"BF": 4.8,
"Pitches": 20.0
},
"rates": {
"ERA": 3.375,
"WHIP": 1.6875,
"ER_per_IP": 0.375,
"H_per_IP": 0.5625,
"BB_per_IP": 1.125,
"SO_per_IP": 0.75,
"HR_per_IP": 0.0
}
}
},
"blend_segments": {},
"weighted_prediction": {
"predicted_IP": 0.1,
"predicted_ER": 0.214,
"predicted_H": 0.406,
"predicted_BB": 0.223,
"predicted_SO": 0.414,
"predicted_HR": 0.055,
"predicted_ERA": 4.2774,
"predicted_WHIP": 1.396
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6982,
"form_weight": 0.3018,
"form_reliability": 0.1758,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 1.066,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.1758,
"prior_weight": 0.8242
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.1,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.214,
"final": 0.0646,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.406,
"final": 0.1225,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.223,
"final": 0.0673,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.414,
"final": 0.8232,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.055,
"final": 0.0166,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.2774,
"final": 4.2774,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.396,
"final": 1.396,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.172 | 1.000 | 0.000 | Hitting_2B | 0.229 | 0.000 | 0.771 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.121 | 5.000 | 3.000 | Hitting_AB | 3.277 | 4.000 | 1.723 | 1.000 |
| predicted_AVG | 0.304 | 0.200 | 0.333 | Hitting_AVG | 0.318 | 0.250 | -0.118 | -0.050 |
| predicted_BB | 0.293 | 0.000 | 0.000 | Hitting_BB | 0.392 | 1.000 | -0.392 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.948 | 1.000 | 1.000 | Hitting_H | 1.042 | 1.000 | -0.042 | 0.000 |
| predicted_HR | 0.052 | 0.000 | 0.000 | Hitting_HR | 0.054 | 0.000 | -0.054 | 0.000 |
| predicted_OBP | 0.364 | 0.200 | 0.333 | Hitting_OBP | 0.392 | 0.400 | -0.192 | -0.200 |
| predicted_R | 0.414 | 1.000 | 0.000 | Hitting_R | 0.524 | 0.000 | 0.476 | 1.000 |
| predicted_RBI | 0.345 | 0.000 | 0.000 | Hitting_RBI | 0.434 | 0.000 | -0.434 | 0.000 |
| predicted_SLG | 0.409 | 0.400 | 0.333 | Hitting_SLG | 0.438 | 0.250 | -0.037 | 0.150 |
| predicted_SO | 0.741 | 1.000 | 1.000 | Hitting_SO | 0.765 | 1.000 | 0.235 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | boosted |
| Changed Metrics | 8 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 3 |
| Better Metrics | 4 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_AB: 3.1210 -> 5.0000 (boost 1.8790, better) |
| Biggest Deboost | predicted_RBI: 0.3450 -> 0.0000 (deboost -0.3450, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 1 | 1 | 0 | 1 | 0 | predicted_AB: 3.1210 -> 3.2194 (boost 0.0984, better) | - | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4109 -> 0.4050 (deboost -0.0059, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 1 | 5 | 0 | 6 | predicted_SO: 0.7682 -> 1.0000 (boost 0.2318, worse) | predicted_RBI: 0.3175 -> 0.0000 (deboost -0.3175, worse) | AB rounded to 3 (raw=3.22), rates preserved: AVG=0.301 HR/AB=0.017 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4122 -> 0.0000 (deboost -0.4122, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.3008 -> 0.3330 (boost 0.0322, better) | predicted_SLG: 0.4050 -> 0.3330 (deboost -0.0720, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 3 | 0 | 3 | 0 | predicted_AB: 3.0000 -> 5.0000 (boost 2.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.3330 -> 0.4050 (boost 0.0720, better) | predicted_AVG: 0.3330 -> 0.3008 (deboost -0.0322, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "685133",
"player_name": "Wade Meckler",
"position": "DH",
"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": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.172,
"predicted_3B": 0.0,
"predicted_AB": 3.121,
"predicted_AVG": 0.304,
"predicted_BB": 0.293,
"predicted_H": 0.948,
"predicted_HR": 0.052,
"predicted_OBP": 0.364,
"predicted_R": 0.414,
"predicted_RBI": 0.345,
"predicted_SLG": 0.409,
"predicted_SO": 0.741
},
"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": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1699,
"predicted_3B": 0.0008,
"predicted_AB": 3.2194,
"predicted_AVG": 0.3058,
"predicted_BB": 0.3,
"predicted_H": 0.9842,
"predicted_HBP": 0.004,
"predicted_HR": 0.0557,
"predicted_OBP": 0.3655,
"predicted_R": 0.4239,
"predicted_RBI": 0.3265,
"predicted_SLG": 0.4109,
"predicted_SO": 0.7624
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.172,
"after": 0.1699,
"delta": -0.0021,
"percent_delta": -0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0008,
"delta": 0.0008,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.121,
"after": 3.2194,
"delta": 0.0984,
"percent_delta": 0.0315,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.304,
"after": 0.3058,
"delta": 0.0018,
"percent_delta": 0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.293,
"after": 0.3,
"delta": 0.007,
"percent_delta": 0.0239,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.948,
"after": 0.9842,
"delta": 0.0362,
"percent_delta": 0.0382,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.052,
"after": 0.0557,
"delta": 0.0037,
"percent_delta": 0.0712,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.364,
"after": 0.3655,
"delta": 0.0015,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.414,
"after": 0.4239,
"delta": 0.0099,
"percent_delta": 0.0239,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.345,
"after": 0.3265,
"delta": -0.0185,
"percent_delta": -0.0536,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.409,
"after": 0.4109,
"delta": 0.0019,
"percent_delta": 0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.741,
"after": 0.7624,
"delta": 0.0214,
"percent_delta": 0.0289,
"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_AB",
"before": 3.121,
"after": 3.2194,
"delta": 0.0984,
"percent_delta": 0.0315,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 58
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1699,
"predicted_3B": 0.0008,
"predicted_AB": 3.2194,
"predicted_AVG": 0.3008,
"predicted_BB": 0.2977,
"predicted_H": 0.9685,
"predicted_HBP": 0.004,
"predicted_HR": 0.0546,
"predicted_OBP": 0.36,
"predicted_R": 0.4122,
"predicted_RBI": 0.3175,
"predicted_SLG": 0.405,
"predicted_SO": 0.7682
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1699,
"after": 0.1699,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2194,
"after": 3.2194,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3058,
"after": 0.3008,
"delta": -0.005,
"percent_delta": -0.0164,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3,
"after": 0.2977,
"delta": -0.0023,
"percent_delta": -0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9842,
"after": 0.9685,
"delta": -0.0157,
"percent_delta": -0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.004,
"after": 0.004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0557,
"after": 0.0546,
"delta": -0.0011,
"percent_delta": -0.0197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3655,
"after": 0.36,
"delta": -0.0055,
"percent_delta": -0.015,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4239,
"after": 0.4122,
"delta": -0.0117,
"percent_delta": -0.0276,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3265,
"after": 0.3175,
"delta": -0.009,
"percent_delta": -0.0276,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4109,
"after": 0.405,
"delta": -0.0059,
"percent_delta": -0.0144,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7624,
"after": 0.7682,
"delta": 0.0058,
"percent_delta": 0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4109,
"after": 0.405,
"delta": -0.0059,
"percent_delta": -0.0144,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.22), rates preserved: AVG=0.301 HR/AB=0.017",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1699,
"after": 0.0,
"delta": -0.1699,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0,
"delta": -0.0008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.2194,
"after": 3.0,
"delta": -0.2194,
"percent_delta": -0.0681,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2977,
"after": 0.0,
"delta": -0.2977,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9685,
"after": 1.0,
"delta": 0.0315,
"percent_delta": 0.0325,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.004,
"after": 0.0,
"delta": -0.004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0546,
"after": 0.0,
"delta": -0.0546,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3175,
"after": 0.0,
"delta": -0.3175,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7682,
"after": 1.0,
"delta": 0.2318,
"percent_delta": 0.3017,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.7682,
"after": 1.0,
"delta": 0.2318,
"percent_delta": 0.3017,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3175,
"after": 0.0,
"delta": -0.3175,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.4122,
"after": 0.0,
"delta": -0.4122,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4122,
"after": 0.0,
"delta": -0.4122,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3008,
"after": 0.333,
"delta": 0.0322,
"percent_delta": 0.107,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_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_OBP",
"before": 0.36,
"after": 0.333,
"delta": -0.027,
"percent_delta": -0.075,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.405,
"after": 0.333,
"delta": -0.072,
"percent_delta": -0.1778,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.3008,
"after": 0.333,
"delta": 0.0322,
"percent_delta": 0.107,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.405,
"after": 0.333,
"delta": -0.072,
"percent_delta": -0.1778,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_CS",
"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_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 5.0,
"delta": 2.0,
"percent_delta": 0.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.3008,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.36,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.405,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.3008,
"delta": -0.0322,
"percent_delta": -0.0966,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_CS",
"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_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_OBP",
"before": 0.333,
"after": 0.36,
"delta": 0.027,
"percent_delta": 0.0811,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.405,
"delta": 0.072,
"percent_delta": 0.2161,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.405,
"delta": 0.072,
"percent_delta": 0.2161,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.3008,
"delta": -0.0322,
"percent_delta": -0.0966,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.172,
"after": 1.0,
"delta": 0.828,
"percent_delta": 4.814,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.121,
"after": 5.0,
"delta": 1.879,
"percent_delta": 0.6021,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.304,
"after": 0.3008,
"delta": -0.0032,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.293,
"after": 0.0,
"delta": -0.293,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.948,
"after": 1.0,
"delta": 0.052,
"percent_delta": 0.0549,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.052,
"after": 0.0,
"delta": -0.052,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.364,
"after": 0.36,
"delta": -0.004,
"percent_delta": -0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.414,
"after": 1.0,
"delta": 0.586,
"percent_delta": 1.4155,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.345,
"after": 0.0,
"delta": -0.345,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.409,
"after": 0.405,
"delta": -0.004,
"percent_delta": -0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.741,
"after": 1.0,
"delta": 0.259,
"percent_delta": 0.3495,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 5,
"deboosted_metrics": 3,
"better_metrics": 4,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.121,
"after": 5.0,
"delta": 1.879,
"percent_delta": 0.6021,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.345,
"after": 0.0,
"delta": -0.345,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "boosted"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.172 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.121 | - |
| predicted_AVG | 0.304 | - |
| predicted_BB | 0.293 | - |
| predicted_H | 0.948 | - |
| predicted_HR | 0.052 | - |
| predicted_OBP | 0.364 | - |
| predicted_R | 0.414 | - |
| predicted_RBI | 0.345 | - |
| predicted_SLG | 0.409 | - |
| predicted_SO | 0.741 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.170 | -0.002 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.219 | 0.098 |
| predicted_AVG | 0.306 | 0.002 |
| predicted_BB | 0.300 | 0.007 |
| predicted_H | 0.984 | 0.036 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.056 | 0.004 |
| predicted_OBP | 0.365 | 0.002 |
| predicted_R | 0.424 | 0.010 |
| predicted_RBI | 0.327 | -0.018 |
| predicted_SLG | 0.411 | 0.002 |
| predicted_SO | 0.762 | 0.021 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.170 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.219 | 0.000 |
| predicted_AVG | 0.301 | -0.005 |
| predicted_BB | 0.298 | -0.002 |
| predicted_H | 0.969 | -0.016 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.055 | -0.001 |
| predicted_OBP | 0.360 | -0.006 |
| predicted_R | 0.412 | -0.012 |
| predicted_RBI | 0.318 | -0.009 |
| predicted_SLG | 0.405 | -0.006 |
| predicted_SO | 0.768 | 0.006 |
AB rounded to 3 (raw=3.22), rates preserved: AVG=0.301 HR/AB=0.017
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.170 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.219 |
| predicted_AVG | 0.333 | 0.032 |
| predicted_BB | 0.000 | -0.298 |
| predicted_H | 1.000 | 0.031 |
| predicted_HR | 0.000 | -0.055 |
| predicted_OBP | 0.333 | -0.027 |
| predicted_R | 0.000 | -0.412 |
| predicted_RBI | 0.000 | -0.318 |
| predicted_SLG | 0.333 | -0.072 |
| predicted_SO | 1.000 | 0.232 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 2.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 18.000 | 6.000 | 1.000 | 0.000 | 0.000 | 0.000 | 2.000 | 2.000 | 5.000 | 0.3333 | 0.4000 | 0.3889 | 0.3333 | 0.0000 | 0.0000 | 0.1111 | 0.2778 |
| last_10 | 0.20 | 10 | - | 35.000 | 12.000 | 1.000 | 0.000 | 1.000 | 3.000 | 5.000 | 3.000 | 7.000 | 0.3429 | 0.3947 | 0.4571 | 0.3429 | 0.0286 | 0.0857 | 0.0857 | 0.2000 |
| season | 0.60 | 58 | - | 181.000 | 55.000 | 10.000 | 0.000 | 3.000 | 20.000 | 24.000 | 17.000 | 43.000 | 0.3039 | 0.3636 | 0.4088 | 0.3039 | 0.0166 | 0.1105 | 0.0939 | 0.2376 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1670 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.3600 |
| predicted_AVG | 0.3084 |
| predicted_BB | 0.3100 |
| predicted_H | 1.0360 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.0610 |
| predicted_OBP | 0.3677 |
| predicted_R | 0.4380 |
| predicted_RBI | 0.3000 |
| predicted_SLG | 0.4137 |
| predicted_SO | 0.7930 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1720 | 0.1670 | 0.1699 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.1210 | 3.3600 | 3.2194 | model_form_blend |
| predicted_AVG | 0.3040 | 0.3084 | 0.3058 | model_form_blend |
| predicted_BB | 0.2930 | 0.3100 | 0.3000 | model_form_blend |
| predicted_H | 0.9480 | 1.0360 | 0.9842 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.0520 | 0.0610 | 0.0557 | model_form_blend |
| predicted_OBP | 0.3640 | 0.3677 | 0.3655 | model_form_blend |
| predicted_R | 0.4140 | 0.4380 | 0.4239 | model_form_blend |
| predicted_RBI | 0.3450 | 0.3000 | 0.3265 | model_form_blend |
| predicted_SLG | 0.4090 | 0.4137 | 0.4109 | model_form_blend |
| predicted_SO | 0.7410 | 0.7930 | 0.7624 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 166 |
| Season rows before report date | 166 |
| Report year | 2026 |
| Profile rows used | 58 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.304 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.25 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF-RF |
| gameID | 20260812_TEX@LAA |
| game_type | full |
| mlbID | 685133 |
| playerID | 685133 |
| playerName | Wade Meckler |
| pos | OF |
| started | True |
| startingPosition | LF |
| team | LAA |
| teamID | 13 |
| game_date | 2026-08-12 |
| sl_k_percent | 21.4 |
| sl_bb_percent | 8.7 |
| sl_woba | 0.348 |
| sl_xwoba | 0.308 |
| sl_xba | 0.257 |
| sl_xslg | 0.363 |
| sl_sweet_spot_percent | 37.5 |
| sl_barrel_batted_rate | 3.7 |
| sl_hard_hit_percent | 29.4 |
| sl_exit_velocity_avg | 86.0 |
| sl_launch_angle_avg | 6.3 |
| sl_whiff_percent | 23.4 |
| sl_swing_percent | 45.8 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.211 | 0.000 | 0.000 | Hitting_2B | 0.229 | 0.000 | -0.229 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.579 | 4.000 | 4.000 | Hitting_AB | 3.743 | 4.000 | 0.257 | 0.000 |
| predicted_AVG | 0.250 | 0.250 | 0.250 | Hitting_AVG | 0.260 | 0.000 | -0.010 | 0.250 |
| predicted_BB | 0.250 | 0.000 | 0.000 | Hitting_BB | 0.293 | 0.000 | -0.293 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.895 | 1.000 | 1.000 | Hitting_H | 0.972 | 0.000 | 0.028 | 1.000 |
| predicted_HR | 0.092 | 0.000 | 0.000 | Hitting_HR | 0.096 | 0.000 | -0.096 | 0.000 |
| predicted_OBP | 0.299 | 0.250 | 0.250 | Hitting_OBP | 0.317 | 0.000 | -0.067 | 0.250 |
| predicted_R | 0.382 | 0.000 | 0.000 | Hitting_R | 0.430 | 1.000 | -0.430 | -1.000 |
| predicted_RBI | 0.605 | 0.000 | 1.000 | Hitting_RBI | 0.731 | 0.000 | -0.731 | 0.000 |
| predicted_SLG | 0.386 | 0.250 | 0.250 | Hitting_SLG | 0.398 | 0.000 | -0.148 | 0.250 |
| predicted_SO | 0.671 | 2.000 | 1.000 | Hitting_SO | 0.618 | 0.000 | 1.382 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 0.6710 -> 2.0000 (boost 1.3290, worse) |
| Biggest Deboost | predicted_RBI: 0.6050 -> 0.0000 (deboost -0.6050, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 0 | 4 | 0 | 4 | - | predicted_RBI: 0.6050 -> 0.5322 (deboost -0.0728, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.2816 -> 0.2761 (deboost -0.0055, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 4 | 3 | 3 | 4 | predicted_RBI: 0.5175 -> 1.0000 (boost 0.4825, better) | predicted_BB: 0.2191 -> 0.0000 (deboost -0.2191, worse) | AB rounded to 4 (raw=3.61), rates preserved: AVG=0.232 HR/AB=0.022 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3492 -> 0.0000 (deboost -0.3492, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2322 -> 0.2500 (boost 0.0178, better) | predicted_SLG: 0.3548 -> 0.2500 (deboost -0.1048, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 1 | 1 | 0 | 2 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | predicted_RBI: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3548 (boost 0.1048, better) | predicted_AVG: 0.2500 -> 0.2322 (deboost -0.0178, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "687093",
"player_name": "Vaughn Grissom",
"position": "3B",
"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": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.211,
"predicted_3B": 0.0,
"predicted_AB": 3.579,
"predicted_AVG": 0.25,
"predicted_BB": 0.25,
"predicted_H": 0.895,
"predicted_HR": 0.092,
"predicted_OBP": 0.299,
"predicted_R": 0.382,
"predicted_RBI": 0.605,
"predicted_SLG": 0.386,
"predicted_SO": 0.671
},
"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": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.208,
"predicted_3B": 0.0004,
"predicted_AB": 3.6137,
"predicted_AVG": 0.2361,
"predicted_BB": 0.2208,
"predicted_H": 0.8527,
"predicted_HBP": 0.04,
"predicted_HR": 0.0797,
"predicted_OBP": 0.2816,
"predicted_R": 0.3591,
"predicted_RBI": 0.5322,
"predicted_SLG": 0.3603,
"predicted_SO": 0.7197
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.211,
"after": 0.208,
"delta": -0.003,
"percent_delta": -0.0142,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.579,
"after": 3.6137,
"delta": 0.0347,
"percent_delta": 0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2361,
"delta": -0.0139,
"percent_delta": -0.0556,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.25,
"after": 0.2208,
"delta": -0.0292,
"percent_delta": -0.1168,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.895,
"after": 0.8527,
"delta": -0.0423,
"percent_delta": -0.0473,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.092,
"after": 0.0797,
"delta": -0.0123,
"percent_delta": -0.1337,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.299,
"after": 0.2816,
"delta": -0.0174,
"percent_delta": -0.0582,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.382,
"after": 0.3591,
"delta": -0.0229,
"percent_delta": -0.0599,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.605,
"after": 0.5322,
"delta": -0.0728,
"percent_delta": -0.1203,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.386,
"after": 0.3603,
"delta": -0.0257,
"percent_delta": -0.0666,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.671,
"after": 0.7197,
"delta": 0.0487,
"percent_delta": 0.0726,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 0,
"deboosted_metrics": 4,
"better_metrics": 0,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.605,
"after": 0.5322,
"delta": -0.0728,
"percent_delta": -0.1203,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 76
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.208,
"predicted_3B": 0.0004,
"predicted_AB": 3.6137,
"predicted_AVG": 0.2322,
"predicted_BB": 0.2191,
"predicted_H": 0.8391,
"predicted_HBP": 0.04,
"predicted_HR": 0.0781,
"predicted_OBP": 0.2761,
"predicted_R": 0.3492,
"predicted_RBI": 0.5175,
"predicted_SLG": 0.3548,
"predicted_SO": 0.7252
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.208,
"after": 0.208,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6137,
"after": 3.6137,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2361,
"after": 0.2322,
"delta": -0.0039,
"percent_delta": -0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2208,
"after": 0.2191,
"delta": -0.0017,
"percent_delta": -0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8527,
"after": 0.8391,
"delta": -0.0136,
"percent_delta": -0.0159,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.04,
"after": 0.04,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0797,
"after": 0.0781,
"delta": -0.0016,
"percent_delta": -0.0201,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2816,
"after": 0.2761,
"delta": -0.0055,
"percent_delta": -0.0195,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3591,
"after": 0.3492,
"delta": -0.0099,
"percent_delta": -0.0276,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5322,
"after": 0.5175,
"delta": -0.0147,
"percent_delta": -0.0276,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3603,
"after": 0.3548,
"delta": -0.0055,
"percent_delta": -0.0153,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7197,
"after": 0.7252,
"delta": 0.0055,
"percent_delta": 0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2816,
"after": 0.2761,
"delta": -0.0055,
"percent_delta": -0.0195,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.61), rates preserved: AVG=0.232 HR/AB=0.022",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.208,
"after": 0.0,
"delta": -0.208,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6137,
"after": 4.0,
"delta": 0.3863,
"percent_delta": 0.1069,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2191,
"after": 0.0,
"delta": -0.2191,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8391,
"after": 1.0,
"delta": 0.1609,
"percent_delta": 0.1918,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0781,
"after": 0.0,
"delta": -0.0781,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5175,
"after": 1.0,
"delta": 0.4825,
"percent_delta": 0.9324,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7252,
"after": 1.0,
"delta": 0.2748,
"percent_delta": 0.3789,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5175,
"after": 1.0,
"delta": 0.4825,
"percent_delta": 0.9324,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2191,
"after": 0.0,
"delta": -0.2191,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.3492,
"after": 0.0,
"delta": -0.3492,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3492,
"after": 0.0,
"delta": -0.3492,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2322,
"after": 0.25,
"delta": 0.0178,
"percent_delta": 0.0767,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_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_OBP",
"before": 0.2761,
"after": 0.25,
"delta": -0.0261,
"percent_delta": -0.0945,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3548,
"after": 0.25,
"delta": -0.1048,
"percent_delta": -0.2954,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2322,
"after": 0.25,
"delta": 0.0178,
"percent_delta": 0.0767,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3548,
"after": 0.25,
"delta": -0.1048,
"percent_delta": -0.2954,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_CS",
"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_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2322,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2761,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3548,
"predicted_SO": 2.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2322,
"delta": -0.0178,
"percent_delta": -0.0712,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_CS",
"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_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_OBP",
"before": 0.25,
"after": 0.2761,
"delta": 0.0261,
"percent_delta": 0.1043,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3548,
"delta": 0.1048,
"percent_delta": 0.4193,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3548,
"delta": 0.1048,
"percent_delta": 0.4193,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2322,
"delta": -0.0178,
"percent_delta": -0.0712,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.211,
"after": 0.0,
"delta": -0.211,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.579,
"after": 4.0,
"delta": 0.421,
"percent_delta": 0.1176,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2322,
"delta": -0.0178,
"percent_delta": -0.0712,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.25,
"after": 0.0,
"delta": -0.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.895,
"after": 1.0,
"delta": 0.105,
"percent_delta": 0.1173,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.092,
"after": 0.0,
"delta": -0.092,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.299,
"after": 0.2761,
"delta": -0.0229,
"percent_delta": -0.0766,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.382,
"after": 0.0,
"delta": -0.382,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.605,
"after": 0.0,
"delta": -0.605,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.386,
"after": 0.3548,
"delta": -0.0312,
"percent_delta": -0.0808,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.671,
"after": 2.0,
"delta": 1.329,
"percent_delta": 1.9806,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.671,
"after": 2.0,
"delta": 1.329,
"percent_delta": 1.9806,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.605,
"after": 0.0,
"delta": -0.605,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.211 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.579 | - |
| predicted_AVG | 0.250 | - |
| predicted_BB | 0.250 | - |
| predicted_H | 0.895 | - |
| predicted_HR | 0.092 | - |
| predicted_OBP | 0.299 | - |
| predicted_R | 0.382 | - |
| predicted_RBI | 0.605 | - |
| predicted_SLG | 0.386 | - |
| predicted_SO | 0.671 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.208 | -0.003 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.614 | 0.035 |
| predicted_AVG | 0.236 | -0.014 |
| predicted_BB | 0.221 | -0.029 |
| predicted_H | 0.853 | -0.042 |
| predicted_HBP | 0.040 | - |
| predicted_HR | 0.080 | -0.012 |
| predicted_OBP | 0.282 | -0.017 |
| predicted_R | 0.359 | -0.023 |
| predicted_RBI | 0.532 | -0.073 |
| predicted_SLG | 0.360 | -0.026 |
| predicted_SO | 0.720 | 0.049 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.208 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.614 | 0.000 |
| predicted_AVG | 0.232 | -0.004 |
| predicted_BB | 0.219 | -0.002 |
| predicted_H | 0.839 | -0.014 |
| predicted_HBP | 0.040 | 0.000 |
| predicted_HR | 0.078 | -0.002 |
| predicted_OBP | 0.276 | -0.006 |
| predicted_R | 0.349 | -0.010 |
| predicted_RBI | 0.517 | -0.015 |
| predicted_SLG | 0.355 | -0.006 |
| predicted_SO | 0.725 | 0.005 |
AB rounded to 4 (raw=3.61), rates preserved: AVG=0.232 HR/AB=0.022
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.208 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.386 |
| predicted_AVG | 0.250 | 0.018 |
| predicted_BB | 0.000 | -0.219 |
| predicted_H | 1.000 | 0.161 |
| predicted_HR | 0.000 | -0.078 |
| predicted_OBP | 0.250 | -0.026 |
| predicted_R | 0.000 | -0.349 |
| predicted_RBI | 1.000 | 0.483 |
| predicted_SLG | 0.250 | -0.105 |
| predicted_SO | 1.000 | 0.275 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 19.000 | 3.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 0.000 | 5.000 | 0.1579 | 0.1579 | 0.2105 | 0.1579 | 0.0000 | 0.0526 | 0.0000 | 0.2632 |
| last_10 | 0.20 | 10 | - | 37.000 | 6.000 | 2.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 9.000 | 0.1622 | 0.1842 | 0.2162 | 0.1622 | 0.0000 | 0.0270 | 0.0270 | 0.2432 |
| season | 0.60 | 76 | - | 272.000 | 68.000 | 16.000 | 0.000 | 7.000 | 46.000 | 29.000 | 19.000 | 51.000 | 0.2500 | 0.3077 | 0.3860 | 0.2500 | 0.0257 | 0.1691 | 0.0698 | 0.1875 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2040 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.6610 |
| predicted_AVG | 0.2171 |
| predicted_BB | 0.1810 |
| predicted_H | 0.7950 |
| predicted_HBP | 0.0400 |
| predicted_HR | 0.0630 |
| predicted_OBP | 0.2578 |
| predicted_R | 0.3280 |
| predicted_RBI | 0.4330 |
| predicted_SLG | 0.3253 |
| predicted_SO | 0.7860 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2110 | 0.2040 | 0.2080 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.5790 | 3.6610 | 3.6137 | model_form_blend |
| predicted_AVG | 0.2500 | 0.2171 | 0.2361 | model_form_blend |
| predicted_BB | 0.2500 | 0.1810 | 0.2208 | model_form_blend |
| predicted_H | 0.8950 | 0.7950 | 0.8527 | model_form_blend |
| predicted_HBP | - | 0.0400 | 0.0400 | form_only |
| predicted_HR | 0.0920 | 0.0630 | 0.0797 | model_form_blend |
| predicted_OBP | 0.2990 | 0.2578 | 0.2816 | model_form_blend |
| predicted_R | 0.3820 | 0.3280 | 0.3591 | model_form_blend |
| predicted_RBI | 0.6050 | 0.4330 | 0.5322 | model_form_blend |
| predicted_SLG | 0.3860 | 0.3253 | 0.3603 | model_form_blend |
| predicted_SO | 0.6710 | 0.7860 | 0.7197 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 249 |
| Season rows before report date | 249 |
| Report year | 2026 |
| Profile rows used | 76 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.25 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B-3B |
| gameID | 20260812_TEX@LAA |
| game_type | full |
| mlbID | 687093 |
| playerID | 687093 |
| playerName | Vaughn Grissom |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | LAA |
| teamID | 13 |
| game_date | 2026-08-12 |
| sl_k_percent | 17.1 |
| sl_bb_percent | 7.0 |
| sl_woba | 0.311 |
| sl_xwoba | 0.32 |
| sl_xba | 0.257 |
| sl_xslg | 0.398 |
| sl_sweet_spot_percent | 33.5 |
| sl_barrel_batted_rate | 6.8 |
| sl_hard_hit_percent | 39.4 |
| sl_exit_velocity_avg | 88.4 |
| sl_launch_angle_avg | 12.6 |
| sl_whiff_percent | 22.3 |
| sl_swing_percent | 49.2 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.093 | 0.000 | 0.000 | Hitting_2B | 0.116 | 0.000 | -0.116 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.674 | 4.000 | 4.000 | Hitting_AB | 3.719 | 3.000 | 0.281 | 1.000 |
| predicted_AVG | 0.228 | 0.250 | 0.250 | Hitting_AVG | 0.236 | 0.333 | 0.014 | -0.083 |
| predicted_BB | 0.233 | 0.000 | 0.000 | Hitting_BB | 0.247 | 0.000 | -0.247 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.027 | 0.000 | -0.027 | 0.000 |
| predicted_H | 0.837 | 1.000 | 1.000 | Hitting_H | 0.877 | 1.000 | 0.123 | 0.000 |
| predicted_HR | 0.116 | 0.000 | 0.000 | Hitting_HR | 0.130 | 0.000 | -0.130 | 0.000 |
| predicted_OBP | 0.274 | 0.250 | 0.250 | Hitting_OBP | 0.284 | 0.333 | -0.034 | -0.083 |
| predicted_R | 0.349 | 0.000 | 0.000 | Hitting_R | 0.356 | 1.000 | -0.356 | -1.000 |
| predicted_RBI | 0.395 | 0.000 | 0.000 | Hitting_RBI | 0.432 | 1.000 | -0.432 | -1.000 |
| predicted_SLG | 0.348 | 0.250 | 0.250 | Hitting_SLG | 0.372 | 0.333 | -0.122 | -0.083 |
| predicted_SO | 0.977 | 2.000 | 1.000 | Hitting_SO | 1.041 | 0.000 | 0.959 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 0.9770 -> 2.0000 (boost 1.0230, worse) |
| Biggest Deboost | predicted_RBI: 0.3950 -> 0.0000 (deboost -0.3950, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 0 | 5 | 1 | 4 | - | predicted_AB: 3.6740 -> 3.5685 (deboost -0.1055, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 1 | 0 | 1 | 0 | 1 | - | predicted_OBP: 0.2700 -> 0.2635 (deboost -0.0065, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_AB: 3.5685 -> 4.0000 (boost 0.4315, better) | predicted_RBI: 0.3679 -> 0.0000 (deboost -0.3679, worse) | AB rounded to 4 (raw=3.67), rates preserved: AVG=0.210 HR/AB=0.028 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3334 -> 0.0000 (deboost -0.3334, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2162 -> 0.2500 (boost 0.0338, better) | predicted_SLG: 0.3279 -> 0.2500 (deboost -0.0779, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 1 | 1 | 0 | 0 | 1 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2500 -> 0.3279 (boost 0.0779, better) | predicted_AVG: 0.2500 -> 0.2162 (deboost -0.0338, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694203",
"player_name": "Denzer Guzman",
"position": "SS",
"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": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.093,
"predicted_3B": 0.0,
"predicted_AB": 3.674,
"predicted_AVG": 0.228,
"predicted_BB": 0.233,
"predicted_H": 0.837,
"predicted_HR": 0.116,
"predicted_OBP": 0.274,
"predicted_R": 0.349,
"predicted_RBI": 0.395,
"predicted_SLG": 0.348,
"predicted_SO": 0.977
},
"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": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0829,
"predicted_3B": 0.0008,
"predicted_AB": 3.5685,
"predicted_AVG": 0.2195,
"predicted_BB": 0.2306,
"predicted_H": 0.7842,
"predicted_HBP": 0.035,
"predicted_HR": 0.1067,
"predicted_OBP": 0.27,
"predicted_R": 0.3429,
"predicted_RBI": 0.3784,
"predicted_SLG": 0.3326,
"predicted_SO": 0.9137
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.093,
"after": 0.0829,
"delta": -0.0101,
"percent_delta": -0.1086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0008,
"delta": 0.0008,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.674,
"after": 3.5685,
"delta": -0.1055,
"percent_delta": -0.0287,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.2195,
"delta": -0.0085,
"percent_delta": -0.0373,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.233,
"after": 0.2306,
"delta": -0.0024,
"percent_delta": -0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.837,
"after": 0.7842,
"delta": -0.0528,
"percent_delta": -0.0631,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.116,
"after": 0.1067,
"delta": -0.0093,
"percent_delta": -0.0802,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.274,
"after": 0.27,
"delta": -0.004,
"percent_delta": -0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.349,
"after": 0.3429,
"delta": -0.0061,
"percent_delta": -0.0175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.395,
"after": 0.3784,
"delta": -0.0166,
"percent_delta": -0.042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.348,
"after": 0.3326,
"delta": -0.0154,
"percent_delta": -0.0443,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.977,
"after": 0.9137,
"delta": -0.0633,
"percent_delta": -0.0648,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.674,
"after": 3.5685,
"delta": -0.1055,
"percent_delta": -0.0287,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 43
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0829,
"predicted_3B": 0.0008,
"predicted_AB": 3.5685,
"predicted_AVG": 0.2162,
"predicted_BB": 0.2288,
"predicted_H": 0.7717,
"predicted_HBP": 0.035,
"predicted_HR": 0.1046,
"predicted_OBP": 0.2635,
"predicted_R": 0.3334,
"predicted_RBI": 0.3679,
"predicted_SLG": 0.3279,
"predicted_SO": 0.9206
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0829,
"after": 0.0829,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5685,
"after": 3.5685,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2195,
"after": 0.2162,
"delta": -0.0033,
"percent_delta": -0.015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2306,
"after": 0.2288,
"delta": -0.0018,
"percent_delta": -0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7842,
"after": 0.7717,
"delta": -0.0125,
"percent_delta": -0.0159,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.035,
"after": 0.035,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1067,
"after": 0.1046,
"delta": -0.0021,
"percent_delta": -0.0197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.27,
"after": 0.2635,
"delta": -0.0065,
"percent_delta": -0.0241,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3429,
"after": 0.3334,
"delta": -0.0095,
"percent_delta": -0.0277,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3784,
"after": 0.3679,
"delta": -0.0105,
"percent_delta": -0.0277,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3326,
"after": 0.3279,
"delta": -0.0047,
"percent_delta": -0.0141,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.9137,
"after": 0.9206,
"delta": 0.0069,
"percent_delta": 0.0076,
"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_OBP",
"before": 0.27,
"after": 0.2635,
"delta": -0.0065,
"percent_delta": -0.0241,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.67), rates preserved: AVG=0.210 HR/AB=0.028",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0829,
"after": 0.0,
"delta": -0.0829,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0,
"delta": -0.0008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5685,
"after": 4.0,
"delta": 0.4315,
"percent_delta": 0.1209,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2288,
"after": 0.0,
"delta": -0.2288,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7717,
"after": 1.0,
"delta": 0.2283,
"percent_delta": 0.2958,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.035,
"after": 0.0,
"delta": -0.035,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1046,
"after": 0.0,
"delta": -0.1046,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3679,
"after": 0.0,
"delta": -0.3679,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9206,
"after": 1.0,
"delta": 0.0794,
"percent_delta": 0.0862,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.5685,
"after": 4.0,
"delta": 0.4315,
"percent_delta": 0.1209,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3679,
"after": 0.0,
"delta": -0.3679,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.3334,
"after": 0.0,
"delta": -0.3334,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3334,
"after": 0.0,
"delta": -0.3334,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2162,
"after": 0.25,
"delta": 0.0338,
"percent_delta": 0.1563,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_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_OBP",
"before": 0.2635,
"after": 0.25,
"delta": -0.0135,
"percent_delta": -0.0512,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3279,
"after": 0.25,
"delta": -0.0779,
"percent_delta": -0.2376,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2162,
"after": 0.25,
"delta": 0.0338,
"percent_delta": 0.1563,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3279,
"after": 0.25,
"delta": -0.0779,
"percent_delta": -0.2376,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_CS",
"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_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2162,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2635,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3279,
"predicted_SO": 2.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2162,
"delta": -0.0338,
"percent_delta": -0.135,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_CS",
"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_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_OBP",
"before": 0.25,
"after": 0.2635,
"delta": 0.0135,
"percent_delta": 0.0539,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3279,
"delta": 0.0779,
"percent_delta": 0.3115,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3279,
"delta": 0.0779,
"percent_delta": 0.3115,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2162,
"delta": -0.0338,
"percent_delta": -0.135,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.093,
"after": 0.0,
"delta": -0.093,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.674,
"after": 4.0,
"delta": 0.326,
"percent_delta": 0.0887,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.2162,
"delta": -0.0118,
"percent_delta": -0.0518,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.233,
"after": 0.0,
"delta": -0.233,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.837,
"after": 1.0,
"delta": 0.163,
"percent_delta": 0.1947,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.116,
"after": 0.0,
"delta": -0.116,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.274,
"after": 0.2635,
"delta": -0.0105,
"percent_delta": -0.0383,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.349,
"after": 0.0,
"delta": -0.349,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.395,
"after": 0.0,
"delta": -0.395,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.348,
"after": 0.3279,
"delta": -0.0201,
"percent_delta": -0.0578,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.977,
"after": 2.0,
"delta": 1.023,
"percent_delta": 1.0471,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.977,
"after": 2.0,
"delta": 1.023,
"percent_delta": 1.0471,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.395,
"after": 0.0,
"delta": -0.395,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.093 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.674 | - |
| predicted_AVG | 0.228 | - |
| predicted_BB | 0.233 | - |
| predicted_H | 0.837 | - |
| predicted_HR | 0.116 | - |
| predicted_OBP | 0.274 | - |
| predicted_R | 0.349 | - |
| predicted_RBI | 0.395 | - |
| predicted_SLG | 0.348 | - |
| predicted_SO | 0.977 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.083 | -0.010 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.568 | -0.106 |
| predicted_AVG | 0.220 | -0.009 |
| predicted_BB | 0.231 | -0.002 |
| predicted_H | 0.784 | -0.053 |
| predicted_HBP | 0.035 | - |
| predicted_HR | 0.107 | -0.009 |
| predicted_OBP | 0.270 | -0.004 |
| predicted_R | 0.343 | -0.006 |
| predicted_RBI | 0.378 | -0.017 |
| predicted_SLG | 0.333 | -0.015 |
| predicted_SO | 0.914 | -0.063 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.083 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.568 | 0.000 |
| predicted_AVG | 0.216 | -0.003 |
| predicted_BB | 0.229 | -0.002 |
| predicted_H | 0.772 | -0.012 |
| predicted_HBP | 0.035 | 0.000 |
| predicted_HR | 0.105 | -0.002 |
| predicted_OBP | 0.264 | -0.007 |
| predicted_R | 0.333 | -0.010 |
| predicted_RBI | 0.368 | -0.011 |
| predicted_SLG | 0.328 | -0.005 |
| predicted_SO | 0.921 | 0.007 |
AB rounded to 4 (raw=3.67), rates preserved: AVG=0.210 HR/AB=0.028
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.083 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 4.000 | 0.432 |
| predicted_AVG | 0.250 | 0.034 |
| predicted_BB | 0.000 | -0.229 |
| predicted_H | 1.000 | 0.228 |
| predicted_HR | 0.000 | -0.105 |
| predicted_OBP | 0.250 | -0.014 |
| predicted_R | 0.000 | -0.333 |
| predicted_RBI | 0.000 | -0.368 |
| predicted_SLG | 0.250 | -0.078 |
| predicted_SO | 1.000 | 0.079 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 2.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 3.000 | 0.1429 | 0.2000 | 0.1429 | 0.1429 | 0.0000 | 0.0714 | 0.0714 | 0.2143 |
| last_10 | 0.20 | 10 | - | 29.000 | 5.000 | 0.000 | 0.000 | 1.000 | 3.000 | 3.000 | 2.000 | 6.000 | 0.1724 | 0.2500 | 0.2759 | 0.1724 | 0.0345 | 0.1035 | 0.0690 | 0.2069 |
| season | 0.60 | 43 | - | 158.000 | 36.000 | 4.000 | 0.000 | 5.000 | 17.000 | 15.000 | 10.000 | 42.000 | 0.2278 | 0.2781 | 0.3481 | 0.2278 | 0.0316 | 0.1076 | 0.0633 | 0.2658 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0680 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.4140 |
| predicted_AVG | 0.2070 |
| predicted_BB | 0.2270 |
| predicted_H | 0.7070 |
| predicted_HBP | 0.0350 |
| predicted_HR | 0.0930 |
| predicted_OBP | 0.2642 |
| predicted_R | 0.3340 |
| predicted_RBI | 0.3540 |
| predicted_SLG | 0.3101 |
| predicted_SO | 0.8210 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0930 | 0.0680 | 0.0829 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 3.6740 | 3.4140 | 3.5685 | model_form_blend |
| predicted_AVG | 0.2280 | 0.2070 | 0.2195 | model_form_blend |
| predicted_BB | 0.2330 | 0.2270 | 0.2306 | model_form_blend |
| predicted_H | 0.8370 | 0.7070 | 0.7842 | model_form_blend |
| predicted_HBP | - | 0.0350 | 0.0350 | form_only |
| predicted_HR | 0.1160 | 0.0930 | 0.1067 | model_form_blend |
| predicted_OBP | 0.2740 | 0.2642 | 0.2700 | model_form_blend |
| predicted_R | 0.3490 | 0.3340 | 0.3429 | model_form_blend |
| predicted_RBI | 0.3950 | 0.3540 | 0.3784 | model_form_blend |
| predicted_SLG | 0.3480 | 0.3101 | 0.3326 | model_form_blend |
| predicted_SO | 0.9770 | 0.8210 | 0.9137 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 146 |
| Season rows before report date | 146 |
| Report year | 2026 |
| Profile rows used | 43 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.228 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 1 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B-SS |
| gameID | 20260812_TEX@LAA |
| game_type | full |
| mlbID | 694203 |
| playerID | 694203 |
| playerName | Denzer Guzman |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | LAA |
| teamID | 13 |
| game_date | 2026-08-12 |
| sl_k_percent | 25.1 |
| sl_bb_percent | 6.0 |
| sl_woba | 0.278 |
| sl_xwoba | 0.274 |
| sl_xba | 0.23 |
| sl_xslg | 0.337 |
| sl_sweet_spot_percent | 33.6 |
| sl_barrel_batted_rate | 5.3 |
| sl_hard_hit_percent | 32.7 |
| sl_exit_velocity_avg | 87.5 |
| sl_launch_angle_avg | 10.2 |
| sl_whiff_percent | 23.5 |
| sl_swing_percent | 52.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.069 | 0.000 | 0.000 | Hitting_2B | 0.061 | 0.000 | -0.061 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.917 | 3.000 | 3.000 | Hitting_AB | 3.160 | 2.000 | -0.160 | 1.000 |
| predicted_AVG | 0.200 | 0.333 | 0.333 | Hitting_AVG | 0.202 | 0.000 | 0.131 | 0.333 |
| predicted_BB | 0.222 | 0.000 | 0.000 | Hitting_BB | 0.225 | 0.000 | -0.225 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.583 | 1.000 | 1.000 | Hitting_H | 0.638 | 0.000 | 0.362 | 1.000 |
| predicted_HR | 0.111 | 0.000 | 0.000 | Hitting_HR | 0.127 | 0.000 | -0.127 | 0.000 |
| predicted_OBP | 0.257 | 0.500 | 0.333 | Hitting_OBP | 0.258 | 0.000 | 0.242 | 0.500 |
| predicted_R | 0.264 | 0.000 | 0.000 | Hitting_R | 0.300 | 0.000 | -0.300 | 0.000 |
| predicted_RBI | 0.306 | 0.000 | 0.000 | Hitting_RBI | 0.338 | 0.000 | -0.338 | 0.000 |
| predicted_SLG | 0.338 | 0.333 | 0.333 | Hitting_SLG | 0.342 | 0.000 | -0.008 | 0.333 |
| predicted_SO | 0.903 | 1.000 | 1.000 | Hitting_SO | 0.930 | 1.000 | 0.070 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 6 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_H: 0.5830 -> 1.0000 (boost 0.4170, better) |
| Biggest Deboost | predicted_RBI: 0.3060 -> 0.0000 (deboost -0.3060, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.2570 -> 0.2681 (boost 0.0111, better) | predicted_AB: 2.9170 -> 2.8471 (deboost -0.0699, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 0 | 0 | 0 | 0 | 0 | - | - | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 2 | 4 | predicted_H: 0.5610 -> 1.0000 (boost 0.4390, better) | predicted_BB: 0.2583 -> 0.0000 (deboost -0.2583, worse) | AB rounded to 3 (raw=2.92), rates preserved: AVG=0.192 HR/AB=0.031 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2474 -> 0.0000 (deboost -0.2474, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1970 -> 0.3330 (boost 0.1360, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 1 | 1 | 0 | 1 | 0 | predicted_HBP: 0.0000 -> 1.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1970 (deboost -0.1360, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "666139",
"player_name": "Josh Lowe",
"position": "RF",
"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": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.069,
"predicted_3B": 0.0,
"predicted_AB": 2.917,
"predicted_AVG": 0.2,
"predicted_BB": 0.222,
"predicted_H": 0.583,
"predicted_HR": 0.111,
"predicted_OBP": 0.257,
"predicted_R": 0.264,
"predicted_RBI": 0.306,
"predicted_SLG": 0.338,
"predicted_SO": 0.903
},
"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": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0707,
"predicted_3B": 0.0004,
"predicted_AB": 2.8471,
"predicted_AVG": 0.2003,
"predicted_BB": 0.2603,
"predicted_H": 0.5701,
"predicted_HBP": 0.01,
"predicted_HR": 0.0927,
"predicted_OBP": 0.2681,
"predicted_R": 0.2544,
"predicted_RBI": 0.259,
"predicted_SLG": 0.3226,
"predicted_SO": 0.9513
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.069,
"after": 0.0707,
"delta": 0.0017,
"percent_delta": 0.0246,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.917,
"after": 2.8471,
"delta": -0.0699,
"percent_delta": -0.024,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2,
"after": 0.2003,
"delta": 0.0003,
"percent_delta": 0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.222,
"after": 0.2603,
"delta": 0.0383,
"percent_delta": 0.1725,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.583,
"after": 0.5701,
"delta": -0.0129,
"percent_delta": -0.0221,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.111,
"after": 0.0927,
"delta": -0.0183,
"percent_delta": -0.1649,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.257,
"after": 0.2681,
"delta": 0.0111,
"percent_delta": 0.0432,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.264,
"after": 0.2544,
"delta": -0.0096,
"percent_delta": -0.0364,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.306,
"after": 0.259,
"delta": -0.047,
"percent_delta": -0.1536,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.338,
"after": 0.3226,
"delta": -0.0154,
"percent_delta": -0.0456,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.903,
"after": 0.9513,
"delta": 0.0483,
"percent_delta": 0.0535,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.257,
"after": 0.2681,
"delta": 0.0111,
"percent_delta": 0.0432,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 2.917,
"after": 2.8471,
"delta": -0.0699,
"percent_delta": -0.024,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 72
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0707,
"predicted_3B": 0.0004,
"predicted_AB": 2.8471,
"predicted_AVG": 0.197,
"predicted_BB": 0.2583,
"predicted_H": 0.561,
"predicted_HBP": 0.01,
"predicted_HR": 0.0909,
"predicted_OBP": 0.2638,
"predicted_R": 0.2474,
"predicted_RBI": 0.2518,
"predicted_SLG": 0.3179,
"predicted_SO": 0.9585
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0707,
"after": 0.0707,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8471,
"after": 2.8471,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2003,
"after": 0.197,
"delta": -0.0033,
"percent_delta": -0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2603,
"after": 0.2583,
"delta": -0.002,
"percent_delta": -0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5701,
"after": 0.561,
"delta": -0.0091,
"percent_delta": -0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.01,
"after": 0.01,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0927,
"after": 0.0909,
"delta": -0.0018,
"percent_delta": -0.0194,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2681,
"after": 0.2638,
"delta": -0.0043,
"percent_delta": -0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.2544,
"after": 0.2474,
"delta": -0.007,
"percent_delta": -0.0275,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.259,
"after": 0.2518,
"delta": -0.0072,
"percent_delta": -0.0278,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3226,
"after": 0.3179,
"delta": -0.0047,
"percent_delta": -0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.9513,
"after": 0.9585,
"delta": 0.0072,
"percent_delta": 0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.92), rates preserved: AVG=0.192 HR/AB=0.031",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0707,
"after": 0.0,
"delta": -0.0707,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.8471,
"after": 3.0,
"delta": 0.1529,
"percent_delta": 0.0537,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2583,
"after": 0.0,
"delta": -0.2583,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.561,
"after": 1.0,
"delta": 0.439,
"percent_delta": 0.7825,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.01,
"after": 0.0,
"delta": -0.01,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0909,
"after": 0.0,
"delta": -0.0909,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2518,
"after": 0.0,
"delta": -0.2518,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9585,
"after": 1.0,
"delta": 0.0415,
"percent_delta": 0.0433,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.561,
"after": 1.0,
"delta": 0.439,
"percent_delta": 0.7825,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2583,
"after": 0.0,
"delta": -0.2583,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.2474,
"after": 0.0,
"delta": -0.2474,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.2474,
"after": 0.0,
"delta": -0.2474,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.197,
"after": 0.333,
"delta": 0.136,
"percent_delta": 0.6904,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_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_OBP",
"before": 0.2638,
"after": 0.333,
"delta": 0.0692,
"percent_delta": 0.2623,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3179,
"after": 0.333,
"delta": 0.0151,
"percent_delta": 0.0475,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.197,
"after": 0.333,
"delta": 0.136,
"percent_delta": 0.6904,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_CS",
"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_HBP",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"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_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_HBP",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.197,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2638,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3179,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.197,
"delta": -0.136,
"percent_delta": -0.4083,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_CS",
"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_HBP",
"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_OBP",
"before": 0.333,
"after": 0.2638,
"delta": -0.0692,
"percent_delta": -0.2077,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.3179,
"delta": -0.0151,
"percent_delta": -0.0453,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.197,
"delta": -0.136,
"percent_delta": -0.4083,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.069,
"after": 0.0,
"delta": -0.069,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.917,
"after": 3.0,
"delta": 0.083,
"percent_delta": 0.0285,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.2,
"after": 0.197,
"delta": -0.003,
"percent_delta": -0.015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.222,
"after": 0.0,
"delta": -0.222,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.583,
"after": 1.0,
"delta": 0.417,
"percent_delta": 0.7153,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.111,
"after": 0.0,
"delta": -0.111,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.257,
"after": 0.2638,
"delta": 0.0068,
"percent_delta": 0.0265,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.264,
"after": 0.0,
"delta": -0.264,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.306,
"after": 0.0,
"delta": -0.306,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.338,
"after": 0.3179,
"delta": -0.0201,
"percent_delta": -0.0595,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.903,
"after": 1.0,
"delta": 0.097,
"percent_delta": 0.1074,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 4,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.583,
"after": 1.0,
"delta": 0.417,
"percent_delta": 0.7153,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.306,
"after": 0.0,
"delta": -0.306,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.069 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.917 | - |
| predicted_AVG | 0.200 | - |
| predicted_BB | 0.222 | - |
| predicted_H | 0.583 | - |
| predicted_HR | 0.111 | - |
| predicted_OBP | 0.257 | - |
| predicted_R | 0.264 | - |
| predicted_RBI | 0.306 | - |
| predicted_SLG | 0.338 | - |
| predicted_SO | 0.903 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.071 | 0.002 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.847 | -0.070 |
| predicted_AVG | 0.200 | 0.000 |
| predicted_BB | 0.260 | 0.038 |
| predicted_H | 0.570 | -0.013 |
| predicted_HBP | 0.010 | - |
| predicted_HR | 0.093 | -0.018 |
| predicted_OBP | 0.268 | 0.011 |
| predicted_R | 0.254 | -0.010 |
| predicted_RBI | 0.259 | -0.047 |
| predicted_SLG | 0.323 | -0.015 |
| predicted_SO | 0.951 | 0.048 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.071 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 2.847 | 0.000 |
| predicted_AVG | 0.197 | -0.003 |
| predicted_BB | 0.258 | -0.002 |
| predicted_H | 0.561 | -0.009 |
| predicted_HBP | 0.010 | 0.000 |
| predicted_HR | 0.091 | -0.002 |
| predicted_OBP | 0.264 | -0.004 |
| predicted_R | 0.247 | -0.007 |
| predicted_RBI | 0.252 | -0.007 |
| predicted_SLG | 0.318 | -0.005 |
| predicted_SO | 0.959 | 0.007 |
AB rounded to 3 (raw=2.92), rates preserved: AVG=0.192 HR/AB=0.031
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.071 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 3.000 | 0.153 |
| predicted_AVG | 0.333 | 0.136 |
| predicted_BB | 0.000 | -0.258 |
| predicted_H | 1.000 | 0.439 |
| predicted_HR | 0.000 | -0.091 |
| predicted_OBP | 0.333 | 0.069 |
| predicted_R | 0.000 | -0.247 |
| predicted_RBI | 0.000 | -0.252 |
| predicted_SLG | 0.333 | 0.015 |
| predicted_SO | 1.000 | 0.041 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 1.000 | 1.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 11.000 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 2.000 | 6.000 | 0.1818 | 0.3077 | 0.1818 | 0.1818 | 0.0000 | 0.0000 | 0.1818 | 0.5454 |
| last_10 | 0.20 | 10 | - | 21.000 | 4.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 4.000 | 10.000 | 0.1905 | 0.3200 | 0.2381 | 0.1905 | 0.0000 | 0.0000 | 0.1905 | 0.4762 |
| season | 0.60 | 72 | - | 210.000 | 42.000 | 5.000 | 0.000 | 8.000 | 22.000 | 19.000 | 16.000 | 65.000 | 0.2000 | 0.2588 | 0.3381 | 0.2000 | 0.0381 | 0.1048 | 0.0762 | 0.3095 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0730 |
| predicted_3B | 0.0010 |
| predicted_AB | 2.7490 |
| predicted_AVG | 0.2007 |
| predicted_BB | 0.3140 |
| predicted_H | 0.5520 |
| predicted_HBP | 0.0100 |
| predicted_HR | 0.0670 |
| predicted_OBP | 0.2837 |
| predicted_R | 0.2410 |
| predicted_RBI | 0.1930 |
| predicted_SLG | 0.3010 |
| predicted_SO | 1.0190 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0690 | 0.0730 | 0.0707 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 2.9170 | 2.7490 | 2.8471 | model_form_blend |
| predicted_AVG | 0.2000 | 0.2007 | 0.2003 | model_form_blend |
| predicted_BB | 0.2220 | 0.3140 | 0.2603 | model_form_blend |
| predicted_H | 0.5830 | 0.5520 | 0.5701 | model_form_blend |
| predicted_HBP | - | 0.0100 | 0.0100 | form_only |
| predicted_HR | 0.1110 | 0.0670 | 0.0927 | model_form_blend |
| predicted_OBP | 0.2570 | 0.2837 | 0.2681 | model_form_blend |
| predicted_R | 0.2640 | 0.2410 | 0.2544 | model_form_blend |
| predicted_RBI | 0.3060 | 0.1930 | 0.2590 | model_form_blend |
| predicted_SLG | 0.3380 | 0.3010 | 0.3226 | model_form_blend |
| predicted_SO | 0.9030 | 1.0190 | 0.9513 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 213 |
| Season rows before report date | 213 |
| Report year | 2026 |
| Profile rows used | 72 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 1 |
| season_avg | 0.2 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260812_TEX@LAA |
| game_type | full |
| mlbID | 666139 |
| playerID | 666139 |
| playerName | Josh Lowe |
| pos | LF |
| started | True |
| startingPosition | RF |
| team | LAA |
| teamID | 13 |
| game_date | 2026-08-12 |
| sl_k_percent | 27.9 |
| sl_bb_percent | 7.4 |
| sl_woba | 0.267 |
| sl_xwoba | 0.294 |
| sl_xba | 0.219 |
| sl_xslg | 0.395 |
| sl_sweet_spot_percent | 29.9 |
| sl_barrel_batted_rate | 8.8 |
| sl_hard_hit_percent | 38.1 |
| sl_exit_velocity_avg | 89.1 |
| sl_launch_angle_avg | 19.2 |
| sl_whiff_percent | 31.2 |
| sl_swing_percent | 56.9 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.154 | 0.000 | 0.000 | Hitting_2B | 0.138 | 1.000 | -0.138 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.500 | 4.000 | 3.000 | Hitting_AB | 2.677 | 2.000 | 1.323 | 2.000 |
| predicted_AVG | 0.262 | 0.250 | 0.333 | Hitting_AVG | 0.279 | 0.500 | -0.029 | -0.250 |
| predicted_BB | 0.154 | 0.000 | 0.000 | Hitting_BB | 0.169 | 0.000 | -0.169 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.008 | 0.000 | -0.008 | 0.000 |
| predicted_H | 0.654 | 1.000 | 1.000 | Hitting_H | 0.746 | 1.000 | 0.254 | 0.000 |
| predicted_HR | 0.135 | 0.000 | 0.000 | Hitting_HR | 0.138 | 0.000 | -0.138 | 0.000 |
| predicted_OBP | 0.304 | 0.250 | 0.333 | Hitting_OBP | 0.325 | 0.500 | -0.075 | -0.250 |
| predicted_R | 0.423 | 1.000 | 0.000 | Hitting_R | 0.508 | 1.000 | 0.492 | 0.000 |
| predicted_RBI | 0.404 | 1.000 | 0.000 | Hitting_RBI | 0.569 | 1.000 | 0.431 | 0.000 |
| predicted_SLG | 0.485 | 0.250 | 0.333 | Hitting_SLG | 0.486 | 1.000 | -0.236 | -0.750 |
| predicted_SO | 0.865 | 2.000 | 1.000 | Hitting_SO | 0.746 | 1.000 | 1.254 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 4 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_AB: 2.5000 -> 4.0000 (boost 1.5000, better) |
| Biggest Deboost | predicted_2B: 0.1540 -> 0.0000 (deboost -0.1540, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 3 | 1 | 2 | 2 | predicted_AB: 2.5000 -> 2.5996 (boost 0.0996, better) | predicted_OBP: 0.3040 -> 0.2983 (deboost -0.0057, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4938 -> 0.4870 (deboost -0.0068, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 2 | 4 | predicted_AB: 2.5996 -> 3.0000 (boost 0.4004, better) | predicted_RBI: 0.3905 -> 0.0000 (deboost -0.3905, worse) | AB rounded to 3 (raw=2.60), rates preserved: AVG=0.254 HR/AB=0.054 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4066 -> 0.0000 (deboost -0.4066, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2537 -> 0.3330 (boost 0.0793, better) | predicted_SLG: 0.4870 -> 0.3330 (deboost -0.1540, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 4 | 0 | 3 | 1 | predicted_AB: 3.0000 -> 4.0000 (boost 1.0000, better) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4870 (boost 0.1540, better) | predicted_AVG: 0.3330 -> 0.2537 (deboost -0.0793, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "642350",
"player_name": "Jose Siri",
"position": "LF",
"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": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.154,
"predicted_3B": 0.0,
"predicted_AB": 2.5,
"predicted_AVG": 0.262,
"predicted_BB": 0.154,
"predicted_H": 0.654,
"predicted_HR": 0.135,
"predicted_OBP": 0.304,
"predicted_R": 0.423,
"predicted_RBI": 0.404,
"predicted_SLG": 0.485,
"predicted_SO": 0.865
},
"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": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1819,
"predicted_3B": 0.0008,
"predicted_AB": 2.5996,
"predicted_AVG": 0.2583,
"predicted_BB": 0.1464,
"predicted_H": 0.6703,
"predicted_HBP": 0.015,
"predicted_HR": 0.1438,
"predicted_OBP": 0.2983,
"predicted_R": 0.4182,
"predicted_RBI": 0.4016,
"predicted_SLG": 0.4938,
"predicted_SO": 0.951
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.154,
"after": 0.1819,
"delta": 0.0279,
"percent_delta": 0.1812,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0008,
"delta": 0.0008,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.5996,
"delta": 0.0996,
"percent_delta": 0.0398,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.262,
"after": 0.2583,
"delta": -0.0037,
"percent_delta": -0.0141,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.154,
"after": 0.1464,
"delta": -0.0076,
"percent_delta": -0.0494,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.654,
"after": 0.6703,
"delta": 0.0163,
"percent_delta": 0.0249,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.135,
"after": 0.1438,
"delta": 0.0088,
"percent_delta": 0.0652,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.304,
"after": 0.2983,
"delta": -0.0057,
"percent_delta": -0.0187,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.423,
"after": 0.4182,
"delta": -0.0048,
"percent_delta": -0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.404,
"after": 0.4016,
"delta": -0.0024,
"percent_delta": -0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.485,
"after": 0.4938,
"delta": 0.0088,
"percent_delta": 0.0181,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.865,
"after": 0.951,
"delta": 0.086,
"percent_delta": 0.0994,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 2.5996,
"delta": 0.0996,
"percent_delta": 0.0398,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.304,
"after": 0.2983,
"delta": -0.0057,
"percent_delta": -0.0187,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 54
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1819,
"predicted_3B": 0.0008,
"predicted_AB": 2.5996,
"predicted_AVG": 0.2537,
"predicted_BB": 0.1453,
"predicted_H": 0.6596,
"predicted_HBP": 0.015,
"predicted_HR": 0.141,
"predicted_OBP": 0.2932,
"predicted_R": 0.4066,
"predicted_RBI": 0.3905,
"predicted_SLG": 0.487,
"predicted_SO": 0.9582
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1819,
"after": 0.1819,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5996,
"after": 2.5996,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2583,
"after": 0.2537,
"delta": -0.0046,
"percent_delta": -0.0178,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1464,
"after": 0.1453,
"delta": -0.0011,
"percent_delta": -0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6703,
"after": 0.6596,
"delta": -0.0107,
"percent_delta": -0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.015,
"after": 0.015,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1438,
"after": 0.141,
"delta": -0.0028,
"percent_delta": -0.0195,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2983,
"after": 0.2932,
"delta": -0.0051,
"percent_delta": -0.0171,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4182,
"after": 0.4066,
"delta": -0.0116,
"percent_delta": -0.0277,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4016,
"after": 0.3905,
"delta": -0.0111,
"percent_delta": -0.0276,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4938,
"after": 0.487,
"delta": -0.0068,
"percent_delta": -0.0138,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.951,
"after": 0.9582,
"delta": 0.0072,
"percent_delta": 0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4938,
"after": 0.487,
"delta": -0.0068,
"percent_delta": -0.0138,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.60), rates preserved: AVG=0.254 HR/AB=0.054",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1819,
"after": 0.0,
"delta": -0.1819,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0,
"delta": -0.0008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5996,
"after": 3.0,
"delta": 0.4004,
"percent_delta": 0.154,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1453,
"after": 0.0,
"delta": -0.1453,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6596,
"after": 1.0,
"delta": 0.3404,
"percent_delta": 0.5161,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.015,
"after": 0.0,
"delta": -0.015,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.141,
"after": 0.0,
"delta": -0.141,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3905,
"after": 0.0,
"delta": -0.3905,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9582,
"after": 1.0,
"delta": 0.0418,
"percent_delta": 0.0436,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5996,
"after": 3.0,
"delta": 0.4004,
"percent_delta": 0.154,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3905,
"after": 0.0,
"delta": -0.3905,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.4066,
"after": 0.0,
"delta": -0.4066,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.4066,
"after": 0.0,
"delta": -0.4066,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2537,
"after": 0.333,
"delta": 0.0793,
"percent_delta": 0.3126,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_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_OBP",
"before": 0.2932,
"after": 0.333,
"delta": 0.0398,
"percent_delta": 0.1357,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.487,
"after": 0.333,
"delta": -0.154,
"percent_delta": -0.3162,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2537,
"after": 0.333,
"delta": 0.0793,
"percent_delta": 0.3126,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.487,
"after": 0.333,
"delta": -0.154,
"percent_delta": -0.3162,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_CS",
"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_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2537,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.2932,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.487,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2537,
"delta": -0.0793,
"percent_delta": -0.2381,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_CS",
"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_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_OBP",
"before": 0.333,
"after": 0.2932,
"delta": -0.0398,
"percent_delta": -0.1195,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.487,
"delta": 0.154,
"percent_delta": 0.4625,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.487,
"delta": 0.154,
"percent_delta": 0.4625,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2537,
"delta": -0.0793,
"percent_delta": -0.2381,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.154,
"after": 0.0,
"delta": -0.154,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.262,
"after": 0.2537,
"delta": -0.0083,
"percent_delta": -0.0317,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.154,
"after": 0.0,
"delta": -0.154,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.654,
"after": 1.0,
"delta": 0.346,
"percent_delta": 0.5291,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.135,
"after": 0.0,
"delta": -0.135,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.304,
"after": 0.2932,
"delta": -0.0108,
"percent_delta": -0.0355,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.423,
"after": 1.0,
"delta": 0.577,
"percent_delta": 1.3641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.404,
"after": 1.0,
"delta": 0.596,
"percent_delta": 1.4752,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.485,
"after": 0.487,
"delta": 0.002,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.865,
"after": 2.0,
"delta": 1.135,
"percent_delta": 1.3121,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 4,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5,
"after": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.154,
"after": 0.0,
"delta": -0.154,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.154 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.262 | - |
| predicted_BB | 0.154 | - |
| predicted_H | 0.654 | - |
| predicted_HR | 0.135 | - |
| predicted_OBP | 0.304 | - |
| predicted_R | 0.423 | - |
| predicted_RBI | 0.404 | - |
| predicted_SLG | 0.485 | - |
| predicted_SO | 0.865 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.182 | 0.028 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.600 | 0.100 |
| predicted_AVG | 0.258 | -0.004 |
| predicted_BB | 0.146 | -0.008 |
| predicted_H | 0.670 | 0.016 |
| predicted_HBP | 0.015 | - |
| predicted_HR | 0.144 | 0.009 |
| predicted_OBP | 0.298 | -0.006 |
| predicted_R | 0.418 | -0.005 |
| predicted_RBI | 0.402 | -0.002 |
| predicted_SLG | 0.494 | 0.009 |
| predicted_SO | 0.951 | 0.086 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.182 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.600 | 0.000 |
| predicted_AVG | 0.254 | -0.005 |
| predicted_BB | 0.145 | -0.001 |
| predicted_H | 0.660 | -0.011 |
| predicted_HBP | 0.015 | 0.000 |
| predicted_HR | 0.141 | -0.003 |
| predicted_OBP | 0.293 | -0.005 |
| predicted_R | 0.407 | -0.012 |
| predicted_RBI | 0.391 | -0.011 |
| predicted_SLG | 0.487 | -0.007 |
| predicted_SO | 0.958 | 0.007 |
AB rounded to 3 (raw=2.60), rates preserved: AVG=0.254 HR/AB=0.054
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.182 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.400 |
| predicted_AVG | 0.333 | 0.079 |
| predicted_BB | 0.000 | -0.145 |
| predicted_H | 1.000 | 0.340 |
| predicted_HR | 0.000 | -0.141 |
| predicted_OBP | 0.333 | 0.040 |
| predicted_R | 0.000 | -0.407 |
| predicted_RBI | 0.000 | -0.391 |
| predicted_SLG | 0.333 | -0.154 |
| predicted_SO | 1.000 | 0.042 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 1.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | 1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 14.000 | 3.000 | 2.000 | 0.000 | 1.000 | 2.000 | 2.000 | 0.000 | 8.000 | 0.2143 | 0.2143 | 0.5714 | 0.2143 | 0.0714 | 0.1429 | 0.0000 | 0.5714 |
| last_10 | 0.20 | 10 | - | 26.000 | 7.000 | 3.000 | 0.000 | 2.000 | 3.000 | 3.000 | 1.000 | 14.000 | 0.2692 | 0.2963 | 0.6154 | 0.2692 | 0.0769 | 0.1154 | 0.0385 | 0.5385 |
| season | 0.60 | 54 | - | 130.000 | 34.000 | 8.000 | 0.000 | 7.000 | 21.000 | 22.000 | 8.000 | 45.000 | 0.2615 | 0.3071 | 0.4846 | 0.2615 | 0.0539 | 0.1615 | 0.0615 | 0.3462 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2240 |
| predicted_3B | 0.0020 |
| predicted_AB | 2.7500 |
| predicted_AVG | 0.2526 |
| predicted_BB | 0.1350 |
| predicted_H | 0.6950 |
| predicted_HBP | 0.0150 |
| predicted_HR | 0.1570 |
| predicted_OBP | 0.2897 |
| predicted_R | 0.4110 |
| predicted_RBI | 0.3980 |
| predicted_SLG | 0.5071 |
| predicted_SO | 1.0810 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1540 | 0.2240 | 0.1819 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.5000 | 2.7500 | 2.5996 | model_form_blend |
| predicted_AVG | 0.2620 | 0.2526 | 0.2583 | model_form_blend |
| predicted_BB | 0.1540 | 0.1350 | 0.1464 | model_form_blend |
| predicted_H | 0.6540 | 0.6950 | 0.6703 | model_form_blend |
| predicted_HBP | - | 0.0150 | 0.0150 | form_only |
| predicted_HR | 0.1350 | 0.1570 | 0.1438 | model_form_blend |
| predicted_OBP | 0.3040 | 0.2897 | 0.2983 | model_form_blend |
| predicted_R | 0.4230 | 0.4110 | 0.4182 | model_form_blend |
| predicted_RBI | 0.4040 | 0.3980 | 0.4016 | model_form_blend |
| predicted_SLG | 0.4850 | 0.5071 | 0.4938 | model_form_blend |
| predicted_SO | 0.8650 | 1.0810 | 0.9510 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 130 |
| Season rows before report date | 130 |
| Report year | 2026 |
| Profile rows used | 54 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.262 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-LF |
| gameID | 20260812_TEX@LAA |
| game_type | ph |
| mlbID | 642350 |
| note | Doubled for Lowe, J in the 6th. |
| playerID | 642350 |
| playerName | Jose Siri |
| pos | CF |
| started | False |
| startingPosition | PH |
| team | LAA |
| teamID | 13 |
| game_date | 2026-08-12 |
| sl_k_percent | 31.0 |
| sl_bb_percent | 6.3 |
| sl_woba | 0.341 |
| sl_xwoba | 0.32 |
| sl_xba | 0.232 |
| sl_xslg | 0.449 |
| sl_sweet_spot_percent | 32.2 |
| sl_barrel_batted_rate | 14.0 |
| sl_hard_hit_percent | 43.0 |
| sl_exit_velocity_avg | 88.8 |
| sl_launch_angle_avg | 17.2 |
| sl_whiff_percent | 34.8 |
| sl_swing_percent | 55.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.137 | 0.000 | 0.000 | Hitting_2B | 0.183 | 0.000 | -0.183 | 0.000 |
| predicted_3B | 0.027 | 0.000 | 0.000 | Hitting_3B | 0.038 | 0.000 | -0.038 | 0.000 |
| predicted_AB | 2.500 | 4.000 | 3.000 | Hitting_AB | 2.587 | 1.000 | 1.413 | 3.000 |
| predicted_AVG | 0.327 | 0.250 | 0.333 | Hitting_AVG | 0.249 | 1.000 | 0.001 | -0.750 |
| predicted_BB | 0.220 | 0.000 | 0.000 | Hitting_BB | 0.308 | 0.000 | -0.308 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.230 | 1.000 | 1.000 | Hitting_H | 0.644 | 1.000 | 0.356 | 0.000 |
| predicted_HR | 0.010 | 0.000 | 0.000 | Hitting_HR | 0.029 | 0.000 | -0.029 | 0.000 |
| predicted_OBP | 0.327 | 0.250 | 0.333 | Hitting_OBP | 0.333 | 1.000 | -0.083 | -0.750 |
| predicted_R | 0.357 | 0.000 | 0.000 | Hitting_R | 0.510 | 0.000 | -0.510 | 0.000 |
| predicted_RBI | 0.180 | 0.000 | 0.000 | Hitting_RBI | 0.231 | 1.000 | -0.231 | -1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.327 | 0.250 | 0.333 | Hitting_SLG | 0.383 | 1.000 | -0.133 | -0.750 |
| predicted_SO | 0.824 | 3.000 | 1.000 | Hitting_SO | 0.788 | 0.000 | 2.212 | 3.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_SO: 0.8240 -> 3.0000 (boost 2.1760, worse) |
| Biggest Deboost | predicted_R: 0.3570 -> 0.0000 (deboost -0.3570, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 1 | 3 | 1 | 3 | predicted_H: 0.2300 -> 0.3390 (boost 0.1090, better) | predicted_AVG: 0.3270 -> 0.2780 (deboost -0.0490, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.2780 -> 0.1317 (deboost -0.1463, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 1 | 5 | predicted_AB: 2.5325 -> 3.0000 (boost 0.4675, better) | predicted_H: 0.3336 -> 0.0000 (deboost -0.3336, worse) | AB rounded to 3 (raw=2.53), rates preserved: AVG=0.132 HR/AB=0.007 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.417) |
| 6 | consistency_constraints | 2 | 1 | 1 | 1 | 1 | predicted_H: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_R: 0.3141 -> 0.0000 (deboost -0.3141, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1317 -> 0.3330 (boost 0.2013, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 2 | 0 | 1 | 1 | predicted_SO: 1.0000 -> 3.0000 (boost 2.0000, worse) | - | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1317 (deboost -0.2013, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "624428",
"player_name": "Adam Frazier",
"position": "2B",
"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": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.137,
"predicted_3B": 0.027,
"predicted_AB": 2.5,
"predicted_AVG": 0.327,
"predicted_BB": 0.22,
"predicted_H": 0.23,
"predicted_HR": 0.01,
"predicted_OBP": 0.327,
"predicted_R": 0.357,
"predicted_RBI": 0.18,
"predicted_SLG": 0.327,
"predicted_SO": 0.824
},
"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": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1206,
"predicted_3B": 0.0228,
"predicted_AB": 2.5325,
"predicted_AVG": 0.278,
"predicted_BB": 0.2062,
"predicted_H": 0.339,
"predicted_HBP": 0.018,
"predicted_HR": 0.0192,
"predicted_OBP": 0.3003,
"predicted_R": 0.323,
"predicted_RBI": 0.1976,
"predicted_SLG": 0.3116,
"predicted_SO": 0.7915
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.137,
"after": 0.1206,
"delta": -0.0164,
"percent_delta": -0.1197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.0228,
"delta": -0.0042,
"percent_delta": -0.1556,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.5325,
"delta": 0.0325,
"percent_delta": 0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.327,
"after": 0.278,
"delta": -0.049,
"percent_delta": -0.1498,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.22,
"after": 0.2062,
"delta": -0.0138,
"percent_delta": -0.0627,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.23,
"after": 0.339,
"delta": 0.109,
"percent_delta": 0.4739,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.01,
"after": 0.0192,
"delta": 0.0092,
"percent_delta": 0.92,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.327,
"after": 0.3003,
"delta": -0.0267,
"percent_delta": -0.0817,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.357,
"after": 0.323,
"delta": -0.034,
"percent_delta": -0.0952,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.18,
"after": 0.1976,
"delta": 0.0176,
"percent_delta": 0.0978,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.327,
"after": 0.3116,
"delta": -0.0154,
"percent_delta": -0.0471,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.824,
"after": 0.7915,
"delta": -0.0325,
"percent_delta": -0.0394,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.23,
"after": 0.339,
"delta": 0.109,
"percent_delta": 0.4739,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.327,
"after": 0.278,
"delta": -0.049,
"percent_delta": -0.1498,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 39
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1206,
"predicted_3B": 0.0228,
"predicted_AB": 2.5325,
"predicted_AVG": 0.1317,
"predicted_BB": 0.2046,
"predicted_H": 0.3336,
"predicted_HBP": 0.018,
"predicted_HR": 0.0188,
"predicted_OBP": 0.1966,
"predicted_R": 0.3141,
"predicted_RBI": 0.1921,
"predicted_SLG": 0.2196,
"predicted_SO": 0.7975
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1206,
"after": 0.1206,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0228,
"after": 0.0228,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5325,
"after": 2.5325,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.278,
"after": 0.1317,
"delta": -0.1463,
"percent_delta": -0.5263,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2062,
"after": 0.2046,
"delta": -0.0016,
"percent_delta": -0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.339,
"after": 0.3336,
"delta": -0.0054,
"percent_delta": -0.0159,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.018,
"after": 0.018,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0192,
"after": 0.0188,
"delta": -0.0004,
"percent_delta": -0.0208,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3003,
"after": 0.1966,
"delta": -0.1037,
"percent_delta": -0.3453,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.323,
"after": 0.3141,
"delta": -0.0089,
"percent_delta": -0.0276,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1976,
"after": 0.1921,
"delta": -0.0055,
"percent_delta": -0.0278,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3116,
"after": 0.2196,
"delta": -0.092,
"percent_delta": -0.2953,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7915,
"after": 0.7975,
"delta": 0.006,
"percent_delta": 0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.278,
"after": 0.1317,
"delta": -0.1463,
"percent_delta": -0.5263,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.53), rates preserved: AVG=0.132 HR/AB=0.007",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1206,
"after": 0.0,
"delta": -0.1206,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0228,
"after": 0.0,
"delta": -0.0228,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5325,
"after": 3.0,
"delta": 0.4675,
"percent_delta": 0.1846,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2046,
"after": 0.0,
"delta": -0.2046,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.3336,
"after": 0.0,
"delta": -0.3336,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.018,
"after": 0.0,
"delta": -0.018,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0188,
"after": 0.0,
"delta": -0.0188,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1921,
"after": 0.0,
"delta": -0.1921,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7975,
"after": 1.0,
"delta": 0.2025,
"percent_delta": 0.2539,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.5325,
"after": 3.0,
"delta": 0.4675,
"percent_delta": 0.1846,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.3336,
"after": 0.0,
"delta": -0.3336,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.417)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": {
"model_expectation": 0.8857,
"bvp": 0.1143
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.3141,
"after": 0.0,
"delta": -0.3141,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.3141,
"after": 0.0,
"delta": -0.3141,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1317,
"after": 0.333,
"delta": 0.2013,
"percent_delta": 1.5285,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_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_OBP",
"before": 0.1966,
"after": 0.333,
"delta": 0.1364,
"percent_delta": 0.6938,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2196,
"after": 0.333,
"delta": 0.1134,
"percent_delta": 0.5164,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.1317,
"after": 0.333,
"delta": 0.2013,
"percent_delta": 1.5285,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_CS",
"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_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1317,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.1966,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2196,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1317,
"delta": -0.2013,
"percent_delta": -0.6045,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_CS",
"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_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_OBP",
"before": 0.333,
"after": 0.1966,
"delta": -0.1364,
"percent_delta": -0.4095,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.2196,
"delta": -0.1134,
"percent_delta": -0.3404,
"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": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1317,
"delta": -0.2013,
"percent_delta": -0.6045,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.137,
"after": 0.0,
"delta": -0.137,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.0,
"delta": -0.027,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 4.0,
"delta": 1.5,
"percent_delta": 0.6,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.327,
"after": 0.1317,
"delta": -0.1953,
"percent_delta": -0.5972,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.22,
"after": 0.0,
"delta": -0.22,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.23,
"after": 1.0,
"delta": 0.77,
"percent_delta": 3.3478,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.01,
"after": 0.0,
"delta": -0.01,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.327,
"after": 0.1966,
"delta": -0.1304,
"percent_delta": -0.3988,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.357,
"after": 0.0,
"delta": -0.357,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.18,
"after": 0.0,
"delta": -0.18,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.327,
"after": 0.2196,
"delta": -0.1074,
"percent_delta": -0.3284,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.824,
"after": 3.0,
"delta": 2.176,
"percent_delta": 2.6408,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 3,
"deboosted_metrics": 7,
"better_metrics": 2,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.824,
"after": 3.0,
"delta": 2.176,
"percent_delta": 2.6408,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.357,
"after": 0.0,
"delta": -0.357,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.137 | - |
| predicted_3B | 0.027 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.327 | - |
| predicted_BB | 0.220 | - |
| predicted_H | 0.230 | - |
| predicted_HR | 0.010 | - |
| predicted_OBP | 0.327 | - |
| predicted_R | 0.357 | - |
| predicted_RBI | 0.180 | - |
| predicted_SLG | 0.327 | - |
| predicted_SO | 0.824 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.121 | -0.016 |
| predicted_3B | 0.023 | -0.004 |
| predicted_AB | 2.533 | 0.033 |
| predicted_AVG | 0.278 | -0.049 |
| predicted_BB | 0.206 | -0.014 |
| predicted_H | 0.339 | 0.109 |
| predicted_HBP | 0.018 | - |
| predicted_HR | 0.019 | 0.009 |
| predicted_OBP | 0.300 | -0.027 |
| predicted_R | 0.323 | -0.034 |
| predicted_RBI | 0.198 | 0.018 |
| predicted_SLG | 0.312 | -0.015 |
| predicted_SO | 0.791 | -0.032 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.121 | 0.000 |
| predicted_3B | 0.023 | 0.000 |
| predicted_AB | 2.533 | 0.000 |
| predicted_AVG | 0.132 | -0.146 |
| predicted_BB | 0.205 | -0.002 |
| predicted_H | 0.334 | -0.005 |
| predicted_HBP | 0.018 | 0.000 |
| predicted_HR | 0.019 | -0.000 |
| predicted_OBP | 0.197 | -0.104 |
| predicted_R | 0.314 | -0.009 |
| predicted_RBI | 0.192 | -0.006 |
| predicted_SLG | 0.220 | -0.092 |
| predicted_SO | 0.797 | 0.006 |
AB rounded to 3 (raw=2.53), rates preserved: AVG=0.132 HR/AB=0.007
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 0.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.417)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.121 |
| predicted_3B | 0.000 | -0.023 |
| predicted_AB | 3.000 | 0.467 |
| predicted_AVG | 0.333 | 0.201 |
| predicted_BB | 0.000 | -0.205 |
| predicted_H | 1.000 | 0.666 |
| predicted_HR | 0.000 | -0.019 |
| predicted_OBP | 0.333 | 0.136 |
| predicted_R | 0.000 | -0.314 |
| predicted_RBI | 0.000 | -0.192 |
| predicted_SLG | 0.333 | 0.113 |
| predicted_SO | 1.000 | 0.203 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 3.000 | 2.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 10.000 | 2.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 0.000 | 2.000 | 0.2000 | 0.2000 | 0.2000 | 0.2000 | 0.0000 | 0.1000 | 0.0000 | 0.2000 |
| last_10 | 0.20 | 10 | - | 21.000 | 2.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 2.000 | 7.000 | 0.0952 | 0.1739 | 0.0952 | 0.0952 | 0.0000 | 0.0476 | 0.0952 | 0.3333 |
| season | 0.60 | 39 | - | 91.000 | 19.000 | 5.000 | 1.000 | 1.000 | 7.000 | 13.000 | 8.000 | 30.000 | 0.2088 | 0.2800 | 0.3187 | 0.2088 | 0.0110 | 0.0769 | 0.0879 | 0.3297 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0940 |
| predicted_3B | 0.0160 |
| predicted_AB | 2.5850 |
| predicted_AVG | 0.1990 |
| predicted_BB | 0.1840 |
| predicted_H | 0.5150 |
| predicted_HBP | 0.0180 |
| predicted_HR | 0.0340 |
| predicted_OBP | 0.2572 |
| predicted_R | 0.2680 |
| predicted_RBI | 0.2260 |
| predicted_SLG | 0.2868 |
| predicted_SO | 0.7390 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1370 | 0.0940 | 0.1206 | model_form_blend |
| predicted_3B | 0.0270 | 0.0160 | 0.0228 | model_form_blend |
| predicted_AB | 2.5000 | 2.5850 | 2.5325 | model_form_blend |
| predicted_AVG | 0.3270 | 0.1990 | 0.2780 | model_form_blend |
| predicted_BB | 0.2200 | 0.1840 | 0.2062 | model_form_blend |
| predicted_H | 0.2300 | 0.5150 | 0.3390 | model_form_blend |
| predicted_HBP | - | 0.0180 | 0.0180 | form_only |
| predicted_HR | 0.0100 | 0.0340 | 0.0192 | model_form_blend |
| predicted_OBP | 0.3270 | 0.2572 | 0.3003 | model_form_blend |
| predicted_R | 0.3570 | 0.2680 | 0.3230 | model_form_blend |
| predicted_RBI | 0.1800 | 0.2260 | 0.1976 | model_form_blend |
| predicted_SLG | 0.3270 | 0.2868 | 0.3116 | model_form_blend |
| predicted_SO | 0.8240 | 0.7390 | 0.7915 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 104 |
| Season rows before report date | 104 |
| Report year | 2026 |
| Profile rows used | 39 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 3 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.209 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 1 |
| Hitting_AVG | 1.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 2B |
| gameID | 20260812_TEX@LAA |
| game_type | short |
| mlbID | 624428 |
| playerID | 624428 |
| playerName | Adam Frazier |
| pos | 2B |
| started | False |
| startingPosition | 2B |
| team | LAA |
| teamID | 13 |
| game_date | 2026-08-12 |
| sl_k_percent | 29.4 |
| sl_bb_percent | 8.8 |
| sl_woba | 0.267 |
| sl_xwoba | 0.233 |
| sl_xba | 0.178 |
| sl_xslg | 0.241 |
| sl_sweet_spot_percent | 29.0 |
| sl_barrel_batted_rate | 1.6 |
| sl_hard_hit_percent | 14.5 |
| sl_exit_velocity_avg | 84.0 |
| sl_launch_angle_avg | 14.6 |
| sl_whiff_percent | 26.4 |
| sl_swing_percent | 53.0 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.090 | 0.000 | 0.000 | Hitting_2B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.791 | 3.000 | 3.000 | Hitting_AB | 3.444 | 2.000 | -0.444 | 1.000 |
| predicted_AVG | 0.221 | 0.000 | 0.333 | Hitting_AVG | 0.161 | 0.500 | -0.161 | -0.500 |
| predicted_BB | 0.284 | 1.000 | 0.000 | Hitting_BB | 0.333 | 2.000 | 0.667 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.570 | 0.000 | 1.000 | Hitting_H | 0.556 | 1.000 | -0.556 | -1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.281 | 0.250 | 0.333 | Hitting_OBP | 0.235 | 0.750 | 0.015 | -0.500 |
| predicted_R | 0.239 | 0.000 | 0.000 | Hitting_R | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_RBI | 0.250 | 0.000 | 0.000 | Hitting_RBI | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.303 | 0.000 | 0.333 | Hitting_SLG | 0.161 | 0.500 | -0.161 | -0.500 |
| predicted_SO | 0.657 | 0.000 | 1.000 | Hitting_SO | 0.889 | 1.000 | -0.889 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_BB: 0.2840 -> 1.0000 (boost 0.7160, better) |
| Biggest Deboost | predicted_SO: 0.6570 -> 0.0000 (deboost -0.6570, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 4 | 1 | 3 | 1 | 3 | predicted_AB: 2.7910 -> 2.9170 (boost 0.1260, better) | predicted_AVG: 0.2210 -> 0.2099 (deboost -0.0111, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.2099 -> 0.1966 (deboost -0.0133, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_H: 0.5735 -> 1.0000 (boost 0.4265, better) | predicted_BB: 0.2913 -> 0.0000 (deboost -0.2913, worse) | AB rounded to 3 (raw=2.92), rates preserved: AVG=0.197 HR/AB=0.023 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2127 -> 0.0000 (deboost -0.2127, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1966 -> 0.3330 (boost 0.1364, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 3 | 1 | 2 | 2 | 1 | predicted_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_H: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.3330 -> 0.1966 (deboost -0.1364, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694208",
"player_name": "Moisés Ballesteros",
"position": "C",
"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": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.09,
"predicted_3B": 0.0,
"predicted_AB": 2.791,
"predicted_AVG": 0.221,
"predicted_BB": 0.284,
"predicted_H": 0.57,
"predicted_HR": 0.07,
"predicted_OBP": 0.281,
"predicted_R": 0.239,
"predicted_RBI": 0.25,
"predicted_SLG": 0.303,
"predicted_SO": 0.657
},
"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": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0822,
"predicted_3B": 0.0008,
"predicted_AB": 2.917,
"predicted_AVG": 0.2099,
"predicted_BB": 0.2935,
"predicted_H": 0.5828,
"predicted_HBP": 0.003,
"predicted_HR": 0.0683,
"predicted_OBP": 0.275,
"predicted_R": 0.2188,
"predicted_RBI": 0.2463,
"predicted_SLG": 0.2942,
"predicted_SO": 0.7012
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.09,
"after": 0.0822,
"delta": -0.0078,
"percent_delta": -0.0867,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0008,
"delta": 0.0008,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.791,
"after": 2.917,
"delta": 0.126,
"percent_delta": 0.0451,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.221,
"after": 0.2099,
"delta": -0.0111,
"percent_delta": -0.0502,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.284,
"after": 0.2935,
"delta": 0.0095,
"percent_delta": 0.0335,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.57,
"after": 0.5828,
"delta": 0.0128,
"percent_delta": 0.0225,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0683,
"delta": -0.0017,
"percent_delta": -0.0243,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.281,
"after": 0.275,
"delta": -0.006,
"percent_delta": -0.0214,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.239,
"after": 0.2188,
"delta": -0.0202,
"percent_delta": -0.0845,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.25,
"after": 0.2463,
"delta": -0.0037,
"percent_delta": -0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.303,
"after": 0.2942,
"delta": -0.0088,
"percent_delta": -0.029,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.657,
"after": 0.7012,
"delta": 0.0442,
"percent_delta": 0.0673,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.791,
"after": 2.917,
"delta": 0.126,
"percent_delta": 0.0451,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.221,
"after": 0.2099,
"delta": -0.0111,
"percent_delta": -0.0502,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 67
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.0822,
"predicted_3B": 0.0008,
"predicted_AB": 2.917,
"predicted_AVG": 0.1966,
"predicted_BB": 0.2913,
"predicted_H": 0.5735,
"predicted_HBP": 0.003,
"predicted_HR": 0.067,
"predicted_OBP": 0.2695,
"predicted_R": 0.2127,
"predicted_RBI": 0.2395,
"predicted_SLG": 0.2942,
"predicted_SO": 0.7065
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0822,
"after": 0.0822,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0008,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.917,
"after": 2.917,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2099,
"after": 0.1966,
"delta": -0.0133,
"percent_delta": -0.0634,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2935,
"after": 0.2913,
"delta": -0.0022,
"percent_delta": -0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5828,
"after": 0.5735,
"delta": -0.0093,
"percent_delta": -0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.003,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0683,
"after": 0.067,
"delta": -0.0013,
"percent_delta": -0.019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.275,
"after": 0.2695,
"delta": -0.0055,
"percent_delta": -0.02,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2188,
"after": 0.2127,
"delta": -0.0061,
"percent_delta": -0.0279,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2463,
"after": 0.2395,
"delta": -0.0068,
"percent_delta": -0.0276,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2942,
"after": 0.2942,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.7012,
"after": 0.7065,
"delta": 0.0053,
"percent_delta": 0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2099,
"after": 0.1966,
"delta": -0.0133,
"percent_delta": -0.0634,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.92), rates preserved: AVG=0.197 HR/AB=0.023",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0822,
"after": 0.0,
"delta": -0.0822,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0008,
"after": 0.0,
"delta": -0.0008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.917,
"after": 3.0,
"delta": 0.083,
"percent_delta": 0.0285,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2913,
"after": 0.0,
"delta": -0.2913,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.5735,
"after": 1.0,
"delta": 0.4265,
"percent_delta": 0.7437,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.003,
"after": 0.0,
"delta": -0.003,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.067,
"after": 0.0,
"delta": -0.067,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2395,
"after": 0.0,
"delta": -0.2395,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7065,
"after": 1.0,
"delta": 0.2935,
"percent_delta": 0.4154,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.5735,
"after": 1.0,
"delta": 0.4265,
"percent_delta": 0.7437,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.2913,
"after": 0.0,
"delta": -0.2913,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.2127,
"after": 0.0,
"delta": -0.2127,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.2127,
"after": 0.0,
"delta": -0.2127,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 6,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.333,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.333,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1966,
"after": 0.333,
"delta": 0.1364,
"percent_delta": 0.6938,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_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_OBP",
"before": 0.2695,
"after": 0.333,
"delta": 0.0635,
"percent_delta": 0.2356,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2942,
"after": 0.333,
"delta": 0.0388,
"percent_delta": 0.1319,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.1966,
"after": 0.333,
"delta": 0.1364,
"percent_delta": 0.6938,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"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_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.1966,
"predicted_BB": 1.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2695,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2942,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1966,
"delta": -0.1364,
"percent_delta": -0.4096,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_OBP",
"before": 0.333,
"after": 0.2695,
"delta": -0.0635,
"percent_delta": -0.1906,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.2942,
"delta": -0.0388,
"percent_delta": -0.1165,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1966,
"delta": -0.1364,
"percent_delta": -0.4096,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.791,
"after": 3.0,
"delta": 0.209,
"percent_delta": 0.0749,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.221,
"after": 0.1966,
"delta": -0.0244,
"percent_delta": -0.1104,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.284,
"after": 1.0,
"delta": 0.716,
"percent_delta": 2.5211,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.57,
"after": 0.0,
"delta": -0.57,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.281,
"after": 0.2695,
"delta": -0.0115,
"percent_delta": -0.0409,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.239,
"after": 0.0,
"delta": -0.239,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.25,
"after": 0.0,
"delta": -0.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.303,
"after": 0.2942,
"delta": -0.0088,
"percent_delta": -0.029,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.657,
"after": 0.0,
"delta": -0.657,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 2,
"deboosted_metrics": 9,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.284,
"after": 1.0,
"delta": 0.716,
"percent_delta": 2.5211,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.657,
"after": 0.0,
"delta": -0.657,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.090 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.791 | - |
| predicted_AVG | 0.221 | - |
| predicted_BB | 0.284 | - |
| predicted_H | 0.570 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.281 | - |
| predicted_R | 0.239 | - |
| predicted_RBI | 0.250 | - |
| predicted_SLG | 0.303 | - |
| predicted_SO | 0.657 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.082 | -0.008 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 2.917 | 0.126 |
| predicted_AVG | 0.210 | -0.011 |
| predicted_BB | 0.293 | 0.010 |
| predicted_H | 0.583 | 0.013 |
| predicted_HBP | 0.003 | - |
| predicted_HR | 0.068 | -0.002 |
| predicted_OBP | 0.275 | -0.006 |
| predicted_R | 0.219 | -0.020 |
| predicted_RBI | 0.246 | -0.004 |
| predicted_SLG | 0.294 | -0.009 |
| predicted_SO | 0.701 | 0.044 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.082 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 2.917 | 0.000 |
| predicted_AVG | 0.197 | -0.013 |
| predicted_BB | 0.291 | -0.002 |
| predicted_H | 0.574 | -0.009 |
| predicted_HBP | 0.003 | 0.000 |
| predicted_HR | 0.067 | -0.001 |
| predicted_OBP | 0.270 | -0.006 |
| predicted_R | 0.213 | -0.006 |
| predicted_RBI | 0.239 | -0.007 |
| predicted_SLG | 0.294 | 0.000 |
| predicted_SO | 0.707 | 0.005 |
AB rounded to 3 (raw=2.92), rates preserved: AVG=0.197 HR/AB=0.023
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 3.000 | - |
| BB | 0.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.082 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | 0.083 |
| predicted_AVG | 0.333 | 0.136 |
| predicted_BB | 0.000 | -0.291 |
| predicted_H | 1.000 | 0.426 |
| predicted_HR | 0.000 | -0.067 |
| predicted_OBP | 0.333 | 0.064 |
| predicted_R | 0.000 | -0.213 |
| predicted_RBI | 0.000 | -0.239 |
| predicted_SLG | 0.333 | 0.039 |
| predicted_SO | 1.000 | 0.293 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | 0.000 |
| BB | 1.000 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 5.000 | 0.1176 | 0.2105 | 0.1176 | 0.1177 | 0.0000 | 0.0000 | 0.1177 | 0.2941 |
| last_10 | 0.20 | 10 | - | 32.000 | 5.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 8.000 | 0.1562 | 0.2286 | 0.1562 | 0.1562 | 0.0000 | 0.0000 | 0.0938 | 0.2500 |
| season | 0.60 | 67 | - | 187.000 | 41.000 | 6.000 | 0.000 | 6.000 | 22.000 | 16.000 | 19.000 | 44.000 | 0.2193 | 0.2885 | 0.3476 | 0.2193 | 0.0321 | 0.1177 | 0.1016 | 0.2353 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0710 |
| predicted_3B | 0.0020 |
| predicted_AB | 3.0960 |
| predicted_AVG | 0.1941 |
| predicted_BB | 0.3070 |
| predicted_H | 0.6010 |
| predicted_HBP | 0.0030 |
| predicted_HR | 0.0660 |
| predicted_OBP | 0.2665 |
| predicted_R | 0.1900 |
| predicted_RBI | 0.2410 |
| predicted_SLG | 0.2817 |
| predicted_SO | 0.7640 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0900 | 0.0710 | 0.0822 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0008 | model_form_blend |
| predicted_AB | 2.7910 | 3.0960 | 2.9170 | model_form_blend |
| predicted_AVG | 0.2210 | 0.1941 | 0.2099 | model_form_blend |
| predicted_BB | 0.2840 | 0.3070 | 0.2935 | model_form_blend |
| predicted_H | 0.5700 | 0.6010 | 0.5828 | model_form_blend |
| predicted_HBP | - | 0.0030 | 0.0030 | form_only |
| predicted_HR | 0.0700 | 0.0660 | 0.0683 | model_form_blend |
| predicted_OBP | 0.2810 | 0.2665 | 0.2750 | model_form_blend |
| predicted_R | 0.2390 | 0.1900 | 0.2188 | model_form_blend |
| predicted_RBI | 0.2500 | 0.2410 | 0.2463 | model_form_blend |
| predicted_SLG | 0.3030 | 0.2817 | 0.2942 | model_form_blend |
| predicted_SO | 0.6570 | 0.7640 | 0.7012 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 9 |
| Season rows before report date | 9 |
| Report year | 2026 |
| Profile rows used | 67 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.219 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 2 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260812_TEX@LAA |
| game_type | full |
| mlbID | 694208 |
| playerID | 694208 |
| playerName | Moisés Ballesteros |
| pos | C |
| started | True |
| startingPosition | C |
| team | LAA |
| teamID | 13 |
| game_date | 2026-08-12 |
| sl_k_percent | 21.0 |
| sl_bb_percent | 8.8 |
| sl_woba | 0.28 |
| sl_xwoba | 0.31 |
| sl_xba | 0.243 |
| sl_xslg | 0.393 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 9.1 |
| sl_hard_hit_percent | 47.2 |
| sl_exit_velocity_avg | 90.4 |
| sl_launch_angle_avg | 10.0 |
| sl_whiff_percent | 27.1 |
| sl_swing_percent | 49.1 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.157 | 0.000 | 0.000 | Hitting_2B | 0.180 | 0.000 | -0.180 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.890 | 4.000 | 5.000 | Hitting_AB | 3.638 | 5.000 | 0.362 | -1.000 |
| predicted_AVG | 0.255 | 0.500 | 0.200 | Hitting_AVG | 0.241 | 0.600 | 0.259 | -0.100 |
| predicted_BB | 0.804 | 1.000 | 1.000 | Hitting_BB | 0.876 | 0.000 | 0.124 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.240 | 2.000 | 1.000 | Hitting_H | 0.878 | 3.000 | 1.122 | -1.000 |
| predicted_HR | 0.240 | 0.000 | 0.000 | Hitting_HR | 0.220 | 0.000 | -0.220 | 0.000 |
| predicted_OBP | 0.385 | 0.600 | 0.333 | Hitting_OBP | 0.396 | 0.600 | 0.204 | 0.000 |
| predicted_R | 0.667 | 1.000 | 1.000 | Hitting_R | 0.724 | 0.000 | 0.276 | 1.000 |
| predicted_RBI | 0.670 | 2.000 | 1.000 | Hitting_RBI | 0.494 | 2.000 | 1.506 | 0.000 |
| predicted_SLG | 0.460 | 0.500 | 0.200 | Hitting_SLG | 0.473 | 0.600 | 0.027 | -0.100 |
| predicted_SO | 1.137 | 1.000 | 1.000 | Hitting_SO | 1.122 | 0.000 | -0.122 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 7 |
| Better Metrics | 5 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_RBI: 0.6700 -> 2.0000 (boost 1.3300, better) |
| Biggest Deboost | predicted_AB: 4.8900 -> 4.0000 (deboost -0.8900, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 0 | 5 | 0 | 5 | - | predicted_AB: 4.8900 -> 4.3216 (deboost -0.5684, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.3802 -> 0.3560 (deboost -0.0242, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 4 | 3 | predicted_AB: 4.3216 -> 5.0000 (boost 0.6784, better) | predicted_HR: 0.2158 -> 0.0000 (deboost -0.2158, worse) | AB rounded to 5 (raw=4.89), rates preserved: AVG=0.213 HR/AB=0.044 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6015 -> 1.0000 (boost 0.3985, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4219 -> 0.2000 (deboost -0.2219, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 3 | 2 | 1 | 2 | 1 | predicted_H: 1.0000 -> 2.0000 (boost 1.0000, better) | predicted_AB: 5.0000 -> 4.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2000 -> 0.4219 (boost 0.2219, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "545361",
"player_name": "Mike Trout",
"position": "CF",
"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": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.157,
"predicted_3B": 0.0,
"predicted_AB": 4.89,
"predicted_AVG": 0.255,
"predicted_BB": 0.804,
"predicted_H": 1.24,
"predicted_HR": 0.24,
"predicted_OBP": 0.385,
"predicted_R": 0.667,
"predicted_RBI": 0.67,
"predicted_SLG": 0.46,
"predicted_SO": 1.137
},
"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": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1315,
"predicted_3B": 0.0004,
"predicted_AB": 4.3216,
"predicted_AVG": 0.2446,
"predicted_BB": 0.7738,
"predicted_H": 1.0607,
"predicted_HBP": 0.093,
"predicted_HR": 0.2201,
"predicted_OBP": 0.3802,
"predicted_R": 0.6186,
"predicted_RBI": 0.5802,
"predicted_SLG": 0.4435,
"predicted_SO": 1.1478
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.157,
"after": 0.1315,
"delta": -0.0255,
"percent_delta": -0.1624,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.89,
"after": 4.3216,
"delta": -0.5684,
"percent_delta": -0.1162,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.2446,
"delta": -0.0104,
"percent_delta": -0.0408,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.804,
"after": 0.7738,
"delta": -0.0302,
"percent_delta": -0.0376,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.24,
"after": 1.0607,
"delta": -0.1793,
"percent_delta": -0.1446,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.24,
"after": 0.2201,
"delta": -0.0199,
"percent_delta": -0.0829,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.385,
"after": 0.3802,
"delta": -0.0048,
"percent_delta": -0.0125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.667,
"after": 0.6186,
"delta": -0.0484,
"percent_delta": -0.0726,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.67,
"after": 0.5802,
"delta": -0.0898,
"percent_delta": -0.134,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.46,
"after": 0.4435,
"delta": -0.0165,
"percent_delta": -0.0359,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.137,
"after": 1.1478,
"delta": 0.0108,
"percent_delta": 0.0095,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 0,
"deboosted_metrics": 5,
"better_metrics": 0,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.89,
"after": 4.3216,
"delta": -0.5684,
"percent_delta": -0.1162,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 102
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1315,
"predicted_3B": 0.0004,
"predicted_AB": 4.3216,
"predicted_AVG": 0.2415,
"predicted_BB": 0.7679,
"predicted_H": 1.0437,
"predicted_HBP": 0.093,
"predicted_HR": 0.2158,
"predicted_OBP": 0.356,
"predicted_R": 0.6015,
"predicted_RBI": 0.5641,
"predicted_SLG": 0.4219,
"predicted_SO": 1.1565
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1315,
"after": 0.1315,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.3216,
"after": 4.3216,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2446,
"after": 0.2415,
"delta": -0.0031,
"percent_delta": -0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.7738,
"after": 0.7679,
"delta": -0.0059,
"percent_delta": -0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0607,
"after": 1.0437,
"delta": -0.017,
"percent_delta": -0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.093,
"after": 0.093,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2201,
"after": 0.2158,
"delta": -0.0043,
"percent_delta": -0.0195,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3802,
"after": 0.356,
"delta": -0.0242,
"percent_delta": -0.0637,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6186,
"after": 0.6015,
"delta": -0.0171,
"percent_delta": -0.0276,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5802,
"after": 0.5641,
"delta": -0.0161,
"percent_delta": -0.0277,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4435,
"after": 0.4219,
"delta": -0.0216,
"percent_delta": -0.0487,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1478,
"after": 1.1565,
"delta": 0.0087,
"percent_delta": 0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3802,
"after": 0.356,
"delta": -0.0242,
"percent_delta": -0.0637,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.89), rates preserved: AVG=0.213 HR/AB=0.044",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1315,
"after": 0.0,
"delta": -0.1315,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.3216,
"after": 5.0,
"delta": 0.6784,
"percent_delta": 0.157,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7679,
"after": 1.0,
"delta": 0.2321,
"percent_delta": 0.3023,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0437,
"after": 1.0,
"delta": -0.0437,
"percent_delta": -0.0419,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.093,
"after": 0.0,
"delta": -0.093,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2158,
"after": 0.0,
"delta": -0.2158,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5641,
"after": 1.0,
"delta": 0.4359,
"percent_delta": 0.7727,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1565,
"after": 1.0,
"delta": -0.1565,
"percent_delta": -0.1353,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 4,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.3216,
"after": 5.0,
"delta": 0.6784,
"percent_delta": 0.157,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.2158,
"after": 0.0,
"delta": -0.2158,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_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_RBI",
"before": 1.0,
"after": 1.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": {
"model_expectation": 0.9333,
"bvp": 0.0667
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.6015,
"after": 1.0,
"delta": 0.3985,
"percent_delta": 0.6625,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.6015,
"after": 1.0,
"delta": 0.3985,
"percent_delta": 0.6625,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.2,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2415,
"after": 0.2,
"delta": -0.0415,
"percent_delta": -0.1718,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_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_OBP",
"before": 0.356,
"after": 0.333,
"delta": -0.023,
"percent_delta": -0.0646,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4219,
"after": 0.2,
"delta": -0.2219,
"percent_delta": -0.526,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4219,
"after": 0.2,
"delta": -0.2219,
"percent_delta": -0.526,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_CS",
"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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2415,
"predicted_BB": 1.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.356,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4219,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2,
"after": 0.2415,
"delta": 0.0415,
"percent_delta": 0.2076,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_CS",
"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_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_OBP",
"before": 0.333,
"after": 0.356,
"delta": 0.023,
"percent_delta": 0.0689,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.4219,
"delta": 0.2219,
"percent_delta": 1.1096,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.2,
"after": 0.4219,
"delta": 0.2219,
"percent_delta": 1.1096,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.157,
"after": 0.0,
"delta": -0.157,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.89,
"after": 4.0,
"delta": -0.89,
"percent_delta": -0.182,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.2415,
"delta": -0.0135,
"percent_delta": -0.0529,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.804,
"after": 1.0,
"delta": 0.196,
"percent_delta": 0.2438,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.24,
"after": 2.0,
"delta": 0.76,
"percent_delta": 0.6129,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.24,
"after": 0.0,
"delta": -0.24,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.385,
"after": 0.356,
"delta": -0.029,
"percent_delta": -0.0753,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.667,
"after": 1.0,
"delta": 0.333,
"percent_delta": 0.4993,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.67,
"after": 2.0,
"delta": 1.33,
"percent_delta": 1.9851,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.46,
"after": 0.4219,
"delta": -0.0381,
"percent_delta": -0.0828,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.137,
"after": 1.0,
"delta": -0.137,
"percent_delta": -0.1205,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.67,
"after": 2.0,
"delta": 1.33,
"percent_delta": 1.9851,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.89,
"after": 4.0,
"delta": -0.89,
"percent_delta": -0.182,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.157 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.890 | - |
| predicted_AVG | 0.255 | - |
| predicted_BB | 0.804 | - |
| predicted_H | 1.240 | - |
| predicted_HR | 0.240 | - |
| predicted_OBP | 0.385 | - |
| predicted_R | 0.667 | - |
| predicted_RBI | 0.670 | - |
| predicted_SLG | 0.460 | - |
| predicted_SO | 1.137 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.132 | -0.025 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.322 | -0.568 |
| predicted_AVG | 0.245 | -0.010 |
| predicted_BB | 0.774 | -0.030 |
| predicted_H | 1.061 | -0.179 |
| predicted_HBP | 0.093 | - |
| predicted_HR | 0.220 | -0.020 |
| predicted_OBP | 0.380 | -0.005 |
| predicted_R | 0.619 | -0.048 |
| predicted_RBI | 0.580 | -0.090 |
| predicted_SLG | 0.444 | -0.017 |
| predicted_SO | 1.148 | 0.011 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.132 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 4.322 | 0.000 |
| predicted_AVG | 0.241 | -0.003 |
| predicted_BB | 0.768 | -0.006 |
| predicted_H | 1.044 | -0.017 |
| predicted_HBP | 0.093 | 0.000 |
| predicted_HR | 0.216 | -0.004 |
| predicted_OBP | 0.356 | -0.024 |
| predicted_R | 0.602 | -0.017 |
| predicted_RBI | 0.564 | -0.016 |
| predicted_SLG | 0.422 | -0.022 |
| predicted_SO | 1.157 | 0.009 |
AB rounded to 5 (raw=4.89), rates preserved: AVG=0.213 HR/AB=0.044
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.333)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.132 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 5.000 | 0.678 |
| predicted_AVG | 0.200 | -0.041 |
| predicted_BB | 1.000 | 0.232 |
| predicted_H | 1.000 | -0.044 |
| predicted_HR | 0.000 | -0.216 |
| predicted_OBP | 0.333 | -0.023 |
| predicted_R | 1.000 | 0.398 |
| predicted_RBI | 1.000 | 0.436 |
| predicted_SLG | 0.200 | -0.222 |
| predicted_SO | 1.000 | -0.157 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -1.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 2.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 17.000 | 4.000 | 0.000 | 0.000 | 1.000 | 3.000 | 2.000 | 4.000 | 5.000 | 0.2353 | 0.4091 | 0.4118 | 0.2353 | 0.0588 | 0.1765 | 0.2353 | 0.2941 |
| last_10 | 0.20 | 10 | - | 36.000 | 7.000 | 0.000 | 0.000 | 2.000 | 4.000 | 4.000 | 6.000 | 15.000 | 0.1944 | 0.3256 | 0.3611 | 0.1944 | 0.0556 | 0.1111 | 0.1667 | 0.4167 |
| season | 0.60 | 102 | - | 367.000 | 88.000 | 16.000 | 0.000 | 20.000 | 44.000 | 68.000 | 82.000 | 116.000 | 0.2398 | 0.3860 | 0.4469 | 0.2398 | 0.0545 | 0.1199 | 0.2234 | 0.3161 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0980 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.5740 |
| predicted_AVG | 0.2309 |
| predicted_BB | 0.7340 |
| predicted_H | 0.8250 |
| predicted_HBP | 0.0930 |
| predicted_HR | 0.1940 |
| predicted_OBP | 0.3740 |
| predicted_R | 0.5550 |
| predicted_RBI | 0.4620 |
| predicted_SLG | 0.4219 |
| predicted_SO | 1.1620 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1570 | 0.0980 | 0.1315 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 4.8900 | 3.5740 | 4.3216 | model_form_blend |
| predicted_AVG | 0.2550 | 0.2309 | 0.2446 | model_form_blend |
| predicted_BB | 0.8040 | 0.7340 | 0.7738 | model_form_blend |
| predicted_H | 1.2400 | 0.8250 | 1.0607 | model_form_blend |
| predicted_HBP | - | 0.0930 | 0.0930 | form_only |
| predicted_HR | 0.2400 | 0.1940 | 0.2201 | model_form_blend |
| predicted_OBP | 0.3850 | 0.3740 | 0.3802 | model_form_blend |
| predicted_R | 0.6670 | 0.5550 | 0.6186 | model_form_blend |
| predicted_RBI | 0.6700 | 0.4620 | 0.5802 | model_form_blend |
| predicted_SLG | 0.4600 | 0.4219 | 0.4435 | model_form_blend |
| predicted_SO | 1.1370 | 1.1620 | 1.1478 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 395 |
| Season rows before report date | 395 |
| Report year | 2026 |
| Profile rows used | 102 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.24 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.6 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 3 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 2 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260812_TEX@LAA |
| game_type | full |
| mlbID | 545361 |
| playerID | 545361 |
| playerName | Mike Trout |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | LAA |
| teamID | 13 |
| game_date | 2026-08-12 |
| sl_k_percent | 25.7 |
| sl_bb_percent | 18.2 |
| sl_woba | 0.361 |
| sl_xwoba | 0.391 |
| sl_xba | 0.256 |
| sl_xslg | 0.512 |
| sl_sweet_spot_percent | 36.8 |
| sl_barrel_batted_rate | 17.1 |
| sl_hard_hit_percent | 47.8 |
| sl_exit_velocity_avg | 90.3 |
| sl_launch_angle_avg | 17.5 |
| sl_whiff_percent | 23.7 |
| sl_swing_percent | 39.4 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_2B | 0.210 | 0.000 | 0.000 | Hitting_2B | 0.206 | 0.000 | -0.206 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.700 | 4.000 | 4.000 | Hitting_AB | 3.847 | 3.000 | 0.153 | 1.000 |
| predicted_AVG | 0.243 | 0.000 | 0.250 | Hitting_AVG | 0.282 | 0.000 | -0.282 | 0.000 |
| predicted_BB | 0.400 | 0.000 | 1.000 | Hitting_BB | 0.411 | 1.000 | -0.411 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.011 | 0.000 | -0.011 | 0.000 |
| predicted_H | 0.740 | 0.000 | 1.000 | Hitting_H | 1.083 | 0.000 | -1.083 | 0.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.078 | 0.000 | -0.078 | 0.000 |
| predicted_OBP | 0.335 | 0.000 | 0.400 | Hitting_OBP | 0.357 | 0.250 | -0.357 | -0.250 |
| predicted_R | 0.390 | 0.000 | 0.000 | Hitting_R | 0.428 | 0.000 | -0.428 | 0.000 |
| predicted_RBI | 0.330 | 0.000 | 0.000 | Hitting_RBI | 0.464 | 0.000 | -0.464 | 0.000 |
| predicted_SLG | 0.334 | 0.000 | 0.250 | Hitting_SLG | 0.396 | 0.000 | -0.396 | 0.000 |
| predicted_SO | 0.570 | 1.000 | 1.000 | Hitting_SO | 0.619 | 1.000 | 0.381 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 0.5700 -> 1.0000 (boost 0.4300, worse) |
| Biggest Deboost | predicted_H: 0.7400 -> 0.0000 (deboost -0.7400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 5 | 4 | 1 | 4 | 1 | predicted_BB: 0.4000 -> 0.4797 (boost 0.0797, better) | predicted_AB: 3.7000 -> 3.6143 (deboost -0.0857, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.3406 -> 0.3065 (deboost -0.0341, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 4 | 2 | 3 | 3 | predicted_BB: 0.4761 -> 1.0000 (boost 0.5239, better) | predicted_RBI: 0.3661 -> 0.0000 (deboost -0.3661, worse) | AB rounded to 4 (raw=3.70), rates preserved: AVG=0.210 HR/AB=0.013 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.100) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3750 -> 0.0000 (deboost -0.3750, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3065 -> 0.4000 (boost 0.0935, better) | predicted_SLG: 0.3091 -> 0.2500 (deboost -0.0591, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 0 | 2 | 0 | 2 | - | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.3091 (boost 0.0591, better) | predicted_OBP: 0.4000 -> 0.3065 (deboost -0.0935, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694384",
"player_name": "Nolan Schanuel",
"position": "1B",
"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": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.21,
"predicted_3B": 0.0,
"predicted_AB": 3.7,
"predicted_AVG": 0.243,
"predicted_BB": 0.4,
"predicted_H": 0.74,
"predicted_HR": 0.04,
"predicted_OBP": 0.335,
"predicted_R": 0.39,
"predicted_RBI": 0.33,
"predicted_SLG": 0.334,
"predicted_SO": 0.57
},
"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": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1893,
"predicted_3B": 0.0004,
"predicted_AB": 3.6143,
"predicted_AVG": 0.2438,
"predicted_BB": 0.4797,
"predicted_H": 0.7904,
"predicted_HBP": 0.034,
"predicted_HR": 0.0508,
"predicted_OBP": 0.3406,
"predicted_R": 0.3857,
"predicted_RBI": 0.3765,
"predicted_SLG": 0.3398,
"predicted_SO": 0.5485
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.21,
"after": 0.1893,
"delta": -0.0207,
"percent_delta": -0.0986,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0004,
"delta": 0.0004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7,
"after": 3.6143,
"delta": -0.0857,
"percent_delta": -0.0232,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2438,
"delta": 0.0008,
"percent_delta": 0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.4,
"after": 0.4797,
"delta": 0.0797,
"percent_delta": 0.1992,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.74,
"after": 0.7904,
"delta": 0.0504,
"percent_delta": 0.0681,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0508,
"delta": 0.0108,
"percent_delta": 0.27,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.335,
"after": 0.3406,
"delta": 0.0056,
"percent_delta": 0.0167,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.39,
"after": 0.3857,
"delta": -0.0043,
"percent_delta": -0.011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.33,
"after": 0.3765,
"delta": 0.0465,
"percent_delta": 0.1409,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.334,
"after": 0.3398,
"delta": 0.0058,
"percent_delta": 0.0174,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.57,
"after": 0.5485,
"delta": -0.0215,
"percent_delta": -0.0377,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.4,
"after": 0.4797,
"delta": 0.0797,
"percent_delta": 0.1992,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.7,
"after": 3.6143,
"delta": -0.0857,
"percent_delta": -0.0232,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 5,
"last_10": 10,
"season": 100
}
},
{
"index": 3,
"step": "team_form_snapshot",
"description": "Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)",
"stats": {
"predicted_2B": 0.1893,
"predicted_3B": 0.0004,
"predicted_AB": 3.6143,
"predicted_AVG": 0.2152,
"predicted_BB": 0.4761,
"predicted_H": 0.7778,
"predicted_HBP": 0.034,
"predicted_HR": 0.0498,
"predicted_OBP": 0.3065,
"predicted_R": 0.375,
"predicted_RBI": 0.3661,
"predicted_SLG": 0.3091,
"predicted_SO": 0.5527
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1893,
"after": 0.1893,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6143,
"after": 3.6143,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2438,
"after": 0.2152,
"delta": -0.0286,
"percent_delta": -0.1173,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4797,
"after": 0.4761,
"delta": -0.0036,
"percent_delta": -0.0075,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7904,
"after": 0.7778,
"delta": -0.0126,
"percent_delta": -0.0159,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.034,
"after": 0.034,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0508,
"after": 0.0498,
"delta": -0.001,
"percent_delta": -0.0197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3406,
"after": 0.3065,
"delta": -0.0341,
"percent_delta": -0.1001,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3857,
"after": 0.375,
"delta": -0.0107,
"percent_delta": -0.0277,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3765,
"after": 0.3661,
"delta": -0.0104,
"percent_delta": -0.0276,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3398,
"after": 0.3091,
"delta": -0.0307,
"percent_delta": -0.0903,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5485,
"after": 0.5527,
"delta": 0.0042,
"percent_delta": 0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3406,
"after": 0.3065,
"delta": -0.0341,
"percent_delta": -0.1001,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.70), rates preserved: AVG=0.210 HR/AB=0.013",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1893,
"after": 0.0,
"delta": -0.1893,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0004,
"after": 0.0,
"delta": -0.0004,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.6143,
"after": 4.0,
"delta": 0.3857,
"percent_delta": 0.1067,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4761,
"after": 1.0,
"delta": 0.5239,
"percent_delta": 1.1004,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7778,
"after": 1.0,
"delta": 0.2222,
"percent_delta": 0.2857,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.034,
"after": 0.0,
"delta": -0.034,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0498,
"after": 0.0,
"delta": -0.0498,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3661,
"after": 0.0,
"delta": -0.3661,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5527,
"after": 1.0,
"delta": 0.4473,
"percent_delta": 0.8093,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.4761,
"after": 1.0,
"delta": 0.5239,
"percent_delta": 1.1004,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3661,
"after": 0.0,
"delta": -0.3661,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.100)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_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_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": {
"model_expectation": 0.9,
"bvp": 0.1
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.375,
"after": 0.0,
"delta": -0.375,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.375,
"after": 0.0,
"delta": -0.375,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "embedded_savant_player_context",
"description": "Player Savant profile contributed to the team run-environment adjustment against the opposing starter",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.25,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SLG": 0.25,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2152,
"after": 0.25,
"delta": 0.0348,
"percent_delta": 0.1617,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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_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_OBP",
"before": 0.3065,
"after": 0.4,
"delta": 0.0935,
"percent_delta": 0.3051,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3091,
"after": 0.25,
"delta": -0.0591,
"percent_delta": -0.1912,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3065,
"after": 0.4,
"delta": 0.0935,
"percent_delta": 0.3051,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3091,
"after": 0.25,
"delta": -0.0591,
"percent_delta": -0.1912,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 9,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2152,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3065,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3091,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2152,
"delta": -0.0348,
"percent_delta": -0.1392,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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_OBP",
"before": 0.4,
"after": 0.3065,
"delta": -0.0935,
"percent_delta": -0.2337,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3091,
"delta": 0.0591,
"percent_delta": 0.2365,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3091,
"delta": 0.0591,
"percent_delta": 0.2365,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3065,
"delta": -0.0935,
"percent_delta": -0.2337,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.21,
"after": 0.0,
"delta": -0.21,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.7,
"after": 4.0,
"delta": 0.3,
"percent_delta": 0.0811,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2152,
"delta": -0.0278,
"percent_delta": -0.1144,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4,
"after": 0.0,
"delta": -0.4,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.74,
"after": 0.0,
"delta": -0.74,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.335,
"after": 0.3065,
"delta": -0.0285,
"percent_delta": -0.0851,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.39,
"after": 0.0,
"delta": -0.39,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.33,
"after": 0.0,
"delta": -0.33,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.334,
"after": 0.3091,
"delta": -0.0249,
"percent_delta": -0.0746,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.57,
"after": 1.0,
"delta": 0.43,
"percent_delta": 0.7544,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.57,
"after": 1.0,
"delta": 0.43,
"percent_delta": 0.7544,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.74,
"after": 0.0,
"delta": -0.74,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.210 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.700 | - |
| predicted_AVG | 0.243 | - |
| predicted_BB | 0.400 | - |
| predicted_H | 0.740 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.335 | - |
| predicted_R | 0.390 | - |
| predicted_RBI | 0.330 | - |
| predicted_SLG | 0.334 | - |
| predicted_SO | 0.570 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.189 | -0.021 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.614 | -0.086 |
| predicted_AVG | 0.244 | 0.001 |
| predicted_BB | 0.480 | 0.080 |
| predicted_H | 0.790 | 0.050 |
| predicted_HBP | 0.034 | - |
| predicted_HR | 0.051 | 0.011 |
| predicted_OBP | 0.341 | 0.006 |
| predicted_R | 0.386 | -0.004 |
| predicted_RBI | 0.377 | 0.046 |
| predicted_SLG | 0.340 | 0.006 |
| predicted_SO | 0.548 | -0.021 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.189 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 3.614 | 0.000 |
| predicted_AVG | 0.215 | -0.029 |
| predicted_BB | 0.476 | -0.004 |
| predicted_H | 0.778 | -0.013 |
| predicted_HBP | 0.034 | 0.000 |
| predicted_HR | 0.050 | -0.001 |
| predicted_OBP | 0.306 | -0.034 |
| predicted_R | 0.375 | -0.011 |
| predicted_RBI | 0.366 | -0.010 |
| predicted_SLG | 0.309 | -0.031 |
| predicted_SO | 0.553 | 0.004 |
AB rounded to 4 (raw=3.70), rates preserved: AVG=0.210 HR/AB=0.013
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 4.000 | - |
| BB | 1.000 | - |
| H | 1.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 0.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.100)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 0.000 | - |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | - |
| SO | 1.000 | 0.000 |
Player Savant profile contributed to the team run-environment adjustment against the opposing starter
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | -0.189 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 4.000 | 0.386 |
| predicted_AVG | 0.250 | 0.035 |
| predicted_BB | 1.000 | 0.524 |
| predicted_H | 1.000 | 0.222 |
| predicted_HR | 0.000 | -0.050 |
| predicted_OBP | 0.400 | 0.094 |
| predicted_R | 0.000 | -0.375 |
| predicted_RBI | 0.000 | -0.366 |
| predicted_SLG | 0.250 | -0.059 |
| predicted_SO | 1.000 | 0.447 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 5 | - | 15.000 | 3.000 | 0.000 | 0.000 | 0.000 | 2.000 | 1.000 | 5.000 | 2.000 | 0.2000 | 0.3810 | 0.2000 | 0.2000 | 0.0000 | 0.1333 | 0.3333 | 0.1333 |
| last_10 | 0.20 | 10 | - | 33.000 | 7.000 | 2.000 | 0.000 | 1.000 | 5.000 | 5.000 | 7.000 | 4.000 | 0.2121 | 0.3333 | 0.3636 | 0.2121 | 0.0303 | 0.1515 | 0.2121 | 0.1212 |
| season | 0.60 | 100 | - | 370.000 | 100.000 | 21.000 | 0.000 | 7.000 | 42.000 | 39.000 | 40.000 | 57.000 | 0.2703 | 0.3468 | 0.3838 | 0.2703 | 0.0189 | 0.1135 | 0.1081 | 0.1540 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1620 |
| predicted_3B | 0.0010 |
| predicted_AB | 3.5010 |
| predicted_AVG | 0.2448 |
| predicted_BB | 0.5850 |
| predicted_H | 0.8570 |
| predicted_HBP | 0.0340 |
| predicted_HR | 0.0650 |
| predicted_OBP | 0.3479 |
| predicted_R | 0.3800 |
| predicted_RBI | 0.4380 |
| predicted_SLG | 0.3474 |
| predicted_SO | 0.5200 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2100 | 0.1620 | 0.1893 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.7000 | 3.5010 | 3.6143 | model_form_blend |
| predicted_AVG | 0.2430 | 0.2448 | 0.2438 | model_form_blend |
| predicted_BB | 0.4000 | 0.5850 | 0.4797 | model_form_blend |
| predicted_H | 0.7400 | 0.8570 | 0.7904 | model_form_blend |
| predicted_HBP | - | 0.0340 | 0.0340 | form_only |
| predicted_HR | 0.0400 | 0.0650 | 0.0508 | model_form_blend |
| predicted_OBP | 0.3350 | 0.3479 | 0.3406 | model_form_blend |
| predicted_R | 0.3900 | 0.3800 | 0.3857 | model_form_blend |
| predicted_RBI | 0.3300 | 0.4380 | 0.3765 | model_form_blend |
| predicted_SLG | 0.3340 | 0.3474 | 0.3398 | model_form_blend |
| predicted_SO | 0.5700 | 0.5200 | 0.5485 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 360 |
| Season rows before report date | 360 |
| Report year | 2026 |
| Profile rows used | 100 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.27 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260812_TEX@LAA |
| game_type | full |
| mlbID | 694384 |
| playerID | 694384 |
| playerName | Nolan Schanuel |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | LAA |
| teamID | 13 |
| game_date | 2026-08-12 |
| sl_k_percent | 13.4 |
| sl_bb_percent | 9.4 |
| sl_woba | 0.327 |
| sl_xwoba | 0.331 |
| sl_xba | 0.28 |
| sl_xslg | 0.385 |
| sl_sweet_spot_percent | 36.1 |
| sl_barrel_batted_rate | 2.5 |
| sl_hard_hit_percent | 32.9 |
| sl_exit_velocity_avg | 87.5 |
| sl_launch_angle_avg | 11.8 |
| sl_whiff_percent | 16.5 |
| sl_swing_percent | 44.7 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 3.000 | 3.000 | 3.000 | Pitching_BB | 2.619 | 3.000 | 0.381 | 0.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 1.524 | 4.000 | 1.476 | -1.000 |
| predicted_H | 4.000 | 4.000 | 4.000 | Pitching_H | 3.619 | 4.000 | 0.381 | 0.000 |
| predicted_IP | 5.200 | 5.200 | 5.200 | Pitching_InningsPitched | 4.752 | 2.100 | 0.448 | 3.100 |
| predicted_SO | 5.000 | 5.000 | 5.000 | Pitching_SO | 4.619 | 2.000 | 0.381 | 3.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 2 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 1 |
| Better Metrics | 1 |
| Worse Metrics | 1 |
| Biggest Boost | predicted_SO: 4.0000 -> 5.0000 (boost 1.0000, better) |
| Biggest Deboost | predicted_IP: 5.6667 -> 5.2000 (deboost -0.4667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | pitcher_quality_guardrail | 2 | 1 | 1 | 1 | 1 | predicted_SO: 4.0000 -> 5.0000 (boost 1.0000, better) | predicted_IP: 5.6667 -> 5.2000 (deboost -0.4667, worse) | Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form. |
| 3 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "700712",
"player_name": "Walbert Urena",
"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": 3.0,
"predicted_ER": 3.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 5.6667,
"predicted_SO": 4.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "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": 3.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 5.2,
"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": 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": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 3.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": 3.0,
"after": 3.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": 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": 3.0,
"after": 3.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": 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": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.6667,
"after": 5.2,
"delta": -0.4667,
"percent_delta": -0.0824,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 3.000 | - |
| predicted_ER | 3.000 | - |
| predicted_H | 4.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 5.667 | - |
| predicted_SO | 4.000 | - |
Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 3.000 | 0.000 |
| predicted_ER | 3.000 | 0.000 |
| predicted_H | 4.000 | 0.000 |
| predicted_HR | 1.000 | 0.000 |
| predicted_IP | 5.200 | -0.467 |
| predicted_SO | 5.000 | 1.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 24.100 | 6.000 | 16.000 | 14.000 | 22.000 | 1.000 | 2.2192 | 1.2329 | 0.2466 | 0.6575 | 0.5753 | 0.9041 | 0.0411 |
| last_10 | 0.35 | 10 | 51.100 | 17.000 | 37.000 | 27.000 | 49.000 | 2.000 | 2.9805 | 1.2468 | 0.3312 | 0.7208 | 0.5260 | 0.9546 | 0.0390 |
| season | 0.20 | 21 | 101.200 | 32.000 | 76.000 | 55.000 | 97.000 | 6.000 | 2.8328 | 1.2885 | 0.3147 | 0.7475 | 0.5410 | 0.9541 | 0.0590 |
| Metric | Value |
|---|---|
| predicted_BB | 2.6390 |
| predicted_ER | 1.6900 |
| predicted_ERA | 2.9663 |
| predicted_H | 3.8490 |
| predicted_HR | 0.3280 |
| predicted_IP | 5.0000 |
| predicted_SO | 4.8000 |
| predicted_WHIP | 1.2652 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 2.6390 | 2.7947 | model_form_blend |
| predicted_ER | 3.0000 | 1.6900 | 2.2549 | model_form_blend |
| predicted_ERA | - | 2.9663 | 2.9663 | form_only |
| predicted_H | 4.0000 | 3.8490 | 3.9141 | model_form_blend |
| predicted_HR | 1.0000 | 0.3280 | 0.6178 | model_form_blend |
| predicted_IP | 5.2000 | 5.0000 | 5.1000 | model_form_blend |
| predicted_SO | 4.0000 | 4.8000 | 4.4550 | model_form_blend |
| predicted_WHIP | - | 1.2652 | 1.2652 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 21 |
| Season rows before report date | 21 |
| Report year | 2026 |
| Profile rows used | 21 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 5.2 |
| H | 4 |
| R | 3 |
| ER | 3 |
| BB | 3 |
| SO | 5 |
| HR | 1 |
| BF | 24 |
| Pitches | 95 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 3 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 13 |
| Pitching_ER | 4 |
| Pitching_ERA | 2.83 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 2 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 2.1 |
| Pitching_Pitches | 50 |
| Pitching_R | 4 |
| Pitching_SO | 2 |
| Pitching_Strikes | 30 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260808_LAA@MIA |
| game_type | full |
| mlbID | 700712 |
| playerID | 700712 |
| playerName | Walbert Urena |
| pos | P |
| started | True |
| startingPosition | P |
| team | LAA |
| teamID | 13 |
| game_date | 2026-08-08 |
| sl_k_percent | 22.2 |
| sl_bb_percent | 12.6 |
| sl_woba | 0.283 |
| sl_xwoba | 0.286 |
| sl_sweet_spot_percent | 26.4 |
| sl_barrel_batted_rate | 4.7 |
| sl_hard_hit_percent | 33.3 |
| sl_whiff_percent | 28.2 |
| sl_swing_percent | 45.1 |
| sl_avg_best_speed | 75.16745365 |
| sl_avg_hyper_speed | 93.405977729 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.435 | 0.000 | -0.435 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.261 | 0.000 | 0.739 | 1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.565 | 0.000 | 0.435 | 1.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.022 | 1.000 | 0.078 | 0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.826 | 2.000 | -1.826 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 1.3333 -> 1.1000 (deboost -0.2333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "696519",
"player_name": "Samy Natera Jr.",
"position": "Middle Reliever",
"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": 0.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_IP": 1.3333,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_IP": 1.1,
"predicted_R": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.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": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"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": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 1.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 1.333 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 6.200 | 1.000 | 4.000 | 1.000 | 12.000 | 0.000 | 1.3500 | 0.7500 | 0.1500 | 0.6000 | 0.1500 | 1.8000 | 0.0000 |
| last_10 | 0.35 | 10 | 11.200 | 1.000 | 5.000 | 2.000 | 20.000 | 0.000 | 0.7714 | 0.6000 | 0.0857 | 0.4286 | 0.1714 | 1.7143 | 0.0000 |
| season | 0.20 | 22 | 27.000 | 6.000 | 13.000 | 9.000 | 42.000 | 1.000 | 2.0000 | 0.8148 | 0.2222 | 0.4815 | 0.3333 | 1.5556 | 0.0370 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3660 |
| predicted_ER | 0.4170 |
| predicted_ERA | 2.8127 |
| predicted_H | 0.9810 |
| predicted_HR | 0.1000 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.8030 |
| predicted_WHIP | 1.0102 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3660 | 0.1635 | model_form_blend |
| predicted_ER | 1.0000 | 0.4170 | 0.7395 | model_form_blend |
| predicted_ERA | - | 2.8127 | 2.8127 | form_only |
| predicted_H | 1.0000 | 0.9810 | 0.9915 | model_form_blend |
| predicted_HR | 1.0000 | 0.1000 | 0.5979 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 0.0000 | 1.8030 | 0.8056 | model_form_blend |
| predicted_WHIP | - | 1.0102 | 1.0102 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 23 |
| Season rows before report date | 23 |
| Report year | 2026 |
| Profile rows used | 22 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.1 |
| H | 1 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 0 |
| HR | 1 |
| BF | 5 |
| Pitches | 5 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.00 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 11 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260811_TEX@LAA |
| game_type | full |
| mlbID | 696519 |
| playerID | 696519 |
| playerName | Samy Natera Jr. |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAA |
| teamID | 13 |
| game_date | 2026-08-11 |
| sl_k_percent | 40.4 |
| sl_bb_percent | 9.6 |
| sl_woba | 0.214 |
| sl_xwoba | 0.219 |
| sl_sweet_spot_percent | 27.5 |
| sl_barrel_batted_rate | 5.9 |
| sl_hard_hit_percent | 31.4 |
| sl_whiff_percent | 37.3 |
| sl_swing_percent | 47.6 |
| sl_avg_best_speed | 77.762272308 |
| sl_avg_hyper_speed | 92.940865882 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.250 | 0.000 | -0.250 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.250 | 0.000 | 1.750 | 2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.000 | 1.000 | 0.000 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.000 | 1.000 | -1.000 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "690829",
"player_name": "Ben Joyce",
"position": "Middle Reliever",
"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": 0.0,
"predicted_ER": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.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": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 4 | 4.000 | 0.000 | 1.000 | 1.000 | 4.000 | 0.000 | 0.0000 | 0.5000 | 0.0000 | 0.2500 | 0.2500 | 1.0000 | 0.0000 |
| last_10 | 0.35 | 4 | 4.000 | 0.000 | 1.000 | 1.000 | 4.000 | 0.000 | 0.0000 | 0.5000 | 0.0000 | 0.2500 | 0.2500 | 1.0000 | 0.0000 |
| season | 0.20 | 4 | 4.000 | 0.000 | 1.000 | 1.000 | 4.000 | 0.000 | 0.0000 | 0.5000 | 0.0000 | 0.2500 | 0.2500 | 1.0000 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3460 |
| predicted_ER | 0.4280 |
| predicted_ERA | 3.8535 |
| predicted_H | 0.8730 |
| predicted_HR | 0.1270 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9600 |
| predicted_WHIP | 1.2188 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3460 | 0.0989 | model_form_blend |
| predicted_ER | 0.0000 | 0.4280 | 0.1223 | model_form_blend |
| predicted_ERA | - | 3.8535 | 3.8535 | form_only |
| predicted_H | 2.0000 | 0.8730 | 1.6779 | model_form_blend |
| predicted_HR | 0.0000 | 0.1270 | 0.0363 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.9600 | 0.2743 | model_form_blend |
| predicted_WHIP | - | 1.2188 | 1.2188 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 4 |
| Season rows before report date | 4 |
| Report year | 2026 |
| Profile rows used | 4 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 2 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 5 |
| Pitches | 19 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.00 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 12 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260812_TEX@LAA |
| game_type | full |
| mlbID | 690829 |
| playerID | 690829 |
| playerName | Ben Joyce |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAA |
| teamID | 13 |
| game_date | 2026-08-12 |
| sl_k_percent | 30.8 |
| sl_bb_percent | 7.7 |
| sl_woba | 0.122 |
| sl_xwoba | 0.176 |
| sl_sweet_spot_percent | 37.5 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 25.0 |
| sl_whiff_percent | 38.5 |
| sl_swing_percent | 44.8 |
| sl_avg_best_speed | 61.3767425 |
| sl_avg_hyper_speed | 92.40314 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.541 | 0.000 | -0.541 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.378 | 0.000 | -0.378 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.838 | 0.000 | -0.838 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.932 | 1.100 | 0.068 | -0.100 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.297 | 3.000 | 0.703 | -1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "820862",
"player_name": "José Fermin",
"position": "Middle Reliever",
"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": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.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": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 2.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1.0,
"after": 1.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": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 1.0,
"after": 1.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"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 6.200 | 4.000 | 8.000 | 2.000 | 10.000 | 2.000 | 5.4000 | 1.5000 | 0.6000 | 1.2000 | 0.3000 | 1.5000 | 0.3000 |
| last_10 | 0.35 | 10 | 10.100 | 4.000 | 10.000 | 4.000 | 16.000 | 2.000 | 3.4839 | 1.3548 | 0.3871 | 0.9677 | 0.3871 | 1.5484 | 0.1935 |
| season | 0.20 | 37 | 40.100 | 14.000 | 31.000 | 20.000 | 48.000 | 5.000 | 3.1240 | 1.2645 | 0.3471 | 0.7686 | 0.4959 | 1.1901 | 0.1240 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4000 |
| predicted_ER | 0.5280 |
| predicted_ERA | 4.3491 |
| predicted_H | 1.1030 |
| predicted_HR | 0.2150 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.3800 |
| predicted_WHIP | 1.3759 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4000 | 0.1953 | model_form_blend |
| predicted_ER | 0.0000 | 0.5280 | 0.2578 | model_form_blend |
| predicted_ERA | - | 4.3491 | 4.3491 | form_only |
| predicted_H | 0.0000 | 1.1030 | 0.5386 | model_form_blend |
| predicted_HR | 0.0000 | 0.2150 | 0.1050 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 1.3800 | 1.6972 | model_form_blend |
| predicted_WHIP | - | 1.3759 | 1.3759 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 37 |
| Season rows before report date | 37 |
| Report year | 2026 |
| Profile rows used | 37 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 3 |
| Pitches | 19 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.12 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 12 |
| Pitching_R | 0 |
| Pitching_SO | 3 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260811_TEX@LAA |
| game_type | full |
| mlbID | 820862 |
| playerID | 820862 |
| playerName | José Fermin |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAA |
| teamID | 13 |
| game_date | 2026-08-11 |
| sl_k_percent | 27.6 |
| sl_bb_percent | 11.5 |
| sl_woba | 0.301 |
| sl_xwoba | 0.314 |
| sl_sweet_spot_percent | 28.4 |
| sl_barrel_batted_rate | 8.8 |
| sl_hard_hit_percent | 43.1 |
| sl_whiff_percent | 31.4 |
| sl_swing_percent | 49.2 |
| sl_avg_best_speed | 81.362530392 |
| sl_avg_hyper_speed | 94.403025446 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 1.200 | 1.000 | -1.200 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.400 | 0.000 | -0.400 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.600 | 2.000 | -0.600 | -2.000 |
| predicted_IP | 0.000 | 0.000 | 0.000 | Pitching_InningsPitched | 0.880 | 1.200 | -0.880 | -1.200 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.800 | 0.000 | -0.800 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 2 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 2 |
| Better Metrics | 0 |
| Worse Metrics | 2 |
| Biggest Boost | - |
| Biggest Deboost | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "684665",
"player_name": "Luke Murphy",
"position": "Middle Reliever",
"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": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"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": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.0,
"predicted_R": 0.0,
"predicted_SO": 0.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.100 | 2.000 | 3.000 | 6.000 | 4.000 | 0.000 | 3.3750 | 1.6875 | 0.3750 | 0.5625 | 1.1250 | 0.7500 | 0.0000 |
| last_10 | 0.35 | 5 | 5.100 | 2.000 | 3.000 | 6.000 | 4.000 | 0.000 | 3.3750 | 1.6875 | 0.3750 | 0.5625 | 1.1250 | 0.7500 | 0.0000 |
| season | 0.20 | 5 | 5.100 | 2.000 | 3.000 | 6.000 | 4.000 | 0.000 | 3.3750 | 1.6875 | 0.3750 | 0.5625 | 1.1250 | 0.7500 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2230 |
| predicted_ER | 0.2140 |
| predicted_ERA | 4.2774 |
| predicted_H | 0.4060 |
| predicted_HR | 0.0550 |
| predicted_IP | 0.1000 |
| predicted_SO | 0.4140 |
| predicted_WHIP | 1.3960 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2230 | 0.0673 | model_form_blend |
| predicted_ER | 0.0000 | 0.2140 | 0.0646 | model_form_blend |
| predicted_ERA | - | 4.2774 | 4.2774 | form_only |
| predicted_H | 0.0000 | 0.4060 | 0.1225 | model_form_blend |
| predicted_HR | 0.0000 | 0.0550 | 0.0166 | model_form_blend |
| predicted_IP | 0.1000 | 0.1000 | 0.1000 | model_form_blend |
| predicted_SO | 1.0000 | 0.4140 | 0.8232 | model_form_blend |
| predicted_WHIP | - | 1.3960 | 1.3960 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 5 |
| Season rows before report date | 5 |
| Report year | 2026 |
| Profile rows used | 5 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 0.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 0 |
| Pitches | 8 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 8 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.38 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 2 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 1 |
| Pitching_InningsPitched | 1.2 |
| Pitching_Pitches | 26 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 16 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260811_TEX@LAA |
| game_type | full |
| mlbID | 684665 |
| playerID | 684665 |
| playerName | Luke Murphy |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAA |
| teamID | 13 |
| game_date | 2026-08-11 |
| sl_k_percent | 16.7 |
| sl_bb_percent | 25.0 |
| sl_woba | 0.286 |
| sl_xwoba | 0.291 |
| sl_sweet_spot_percent | 42.9 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 28.6 |
| sl_whiff_percent | 21.1 |
| sl_swing_percent | 38.0 |
| sl_avg_best_speed | 77.405068571 |
| sl_avg_hyper_speed | 92.29523 |